diff -Nru yaws-2.0.6+dfsg/ac-aux/ar-lib yaws-2.0.7+dfsg/ac-aux/ar-lib --- yaws-2.0.6+dfsg/ac-aux/ar-lib 2018-06-26 09:17:07.000000000 +0000 +++ yaws-2.0.7+dfsg/ac-aux/ar-lib 1970-01-01 00:00:00.000000000 +0000 @@ -1,270 +0,0 @@ -#! /bin/sh -# Wrapper for Microsoft lib.exe - -me=ar-lib -scriptversion=2012-03-01.08; # UTC - -# Copyright (C) 2010-2017 Free Software Foundation, Inc. -# Written by Peter Rosin . -# -# 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. - -# This file is maintained in Automake, please report -# bugs to or send patches to -# . - - -# func_error message -func_error () -{ - echo "$me: $1" 1>&2 - exit 1 -} - -file_conv= - -# func_file_conv build_file -# Convert a $build file to $host form and store it in $file -# Currently only supports Windows hosts. -func_file_conv () -{ - file=$1 - case $file in - / | /[!/]*) # absolute file, and not a UNC file - if test -z "$file_conv"; then - # lazily determine how to convert abs files - case `uname -s` in - MINGW*) - file_conv=mingw - ;; - CYGWIN*) - file_conv=cygwin - ;; - *) - file_conv=wine - ;; - esac - fi - case $file_conv in - mingw) - file=`cmd //C echo "$file " | sed -e 's/"\(.*\) " *$/\1/'` - ;; - cygwin) - file=`cygpath -m "$file" || echo "$file"` - ;; - wine) - file=`winepath -w "$file" || echo "$file"` - ;; - esac - ;; - esac -} - -# func_at_file at_file operation archive -# Iterate over all members in AT_FILE performing OPERATION on ARCHIVE -# for each of them. -# When interpreting the content of the @FILE, do NOT use func_file_conv, -# since the user would need to supply preconverted file names to -# binutils ar, at least for MinGW. -func_at_file () -{ - operation=$2 - archive=$3 - at_file_contents=`cat "$1"` - eval set x "$at_file_contents" - shift - - for member - do - $AR -NOLOGO $operation:"$member" "$archive" || exit $? - done -} - -case $1 in - '') - func_error "no command. Try '$0 --help' for more information." - ;; - -h | --h*) - cat <. -# -# 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. - -# This file is maintained in Automake, please report -# bugs to or send patches to -# . - -nl=' -' - -# We need space, tab and new line, in precisely that order. Quoting is -# there to prevent tools from complaining about whitespace usage. -IFS=" "" $nl" - -file_conv= - -# func_file_conv build_file lazy -# Convert a $build file to $host form and store it in $file -# Currently only supports Windows hosts. If the determined conversion -# type is listed in (the comma separated) LAZY, no conversion will -# take place. -func_file_conv () -{ - file=$1 - case $file in - / | /[!/]*) # absolute file, and not a UNC file - if test -z "$file_conv"; then - # lazily determine how to convert abs files - case `uname -s` in - MINGW*) - file_conv=mingw - ;; - CYGWIN*) - file_conv=cygwin - ;; - *) - file_conv=wine - ;; - esac - fi - case $file_conv/,$2, in - *,$file_conv,*) - ;; - mingw/*) - file=`cmd //C echo "$file " | sed -e 's/"\(.*\) " *$/\1/'` - ;; - cygwin/*) - file=`cygpath -m "$file" || echo "$file"` - ;; - wine/*) - file=`winepath -w "$file" || echo "$file"` - ;; - esac - ;; - esac -} - -# func_cl_dashL linkdir -# Make cl look for libraries in LINKDIR -func_cl_dashL () -{ - func_file_conv "$1" - if test -z "$lib_path"; then - lib_path=$file - else - lib_path="$lib_path;$file" - fi - linker_opts="$linker_opts -LIBPATH:$file" -} - -# func_cl_dashl library -# Do a library search-path lookup for cl -func_cl_dashl () -{ - lib=$1 - found=no - save_IFS=$IFS - IFS=';' - for dir in $lib_path $LIB - do - IFS=$save_IFS - if $shared && test -f "$dir/$lib.dll.lib"; then - found=yes - lib=$dir/$lib.dll.lib - break - fi - if test -f "$dir/$lib.lib"; then - found=yes - lib=$dir/$lib.lib - break - fi - if test -f "$dir/lib$lib.a"; then - found=yes - lib=$dir/lib$lib.a - break - fi - done - IFS=$save_IFS - - if test "$found" != yes; then - lib=$lib.lib - fi -} - -# func_cl_wrapper cl arg... -# Adjust compile command to suit cl -func_cl_wrapper () -{ - # Assume a capable shell - lib_path= - shared=: - linker_opts= - for arg - do - if test -n "$eat"; then - eat= - else - case $1 in - -o) - # configure might choose to run compile as 'compile cc -o foo foo.c'. - eat=1 - case $2 in - *.o | *.[oO][bB][jJ]) - func_file_conv "$2" - set x "$@" -Fo"$file" - shift - ;; - *) - func_file_conv "$2" - set x "$@" -Fe"$file" - shift - ;; - esac - ;; - -I) - eat=1 - func_file_conv "$2" mingw - set x "$@" -I"$file" - shift - ;; - -I*) - func_file_conv "${1#-I}" mingw - set x "$@" -I"$file" - shift - ;; - -l) - eat=1 - func_cl_dashl "$2" - set x "$@" "$lib" - shift - ;; - -l*) - func_cl_dashl "${1#-l}" - set x "$@" "$lib" - shift - ;; - -L) - eat=1 - func_cl_dashL "$2" - ;; - -L*) - func_cl_dashL "${1#-L}" - ;; - -static) - shared=false - ;; - -Wl,*) - arg=${1#-Wl,} - save_ifs="$IFS"; IFS=',' - for flag in $arg; do - IFS="$save_ifs" - linker_opts="$linker_opts $flag" - done - IFS="$save_ifs" - ;; - -Xlinker) - eat=1 - linker_opts="$linker_opts $2" - ;; - -*) - set x "$@" "$1" - shift - ;; - *.cc | *.CC | *.cxx | *.CXX | *.[cC]++) - func_file_conv "$1" - set x "$@" -Tp"$file" - shift - ;; - *.c | *.cpp | *.CPP | *.lib | *.LIB | *.Lib | *.OBJ | *.obj | *.[oO]) - func_file_conv "$1" mingw - set x "$@" "$file" - shift - ;; - *) - set x "$@" "$1" - shift - ;; - esac - fi - shift - done - if test -n "$linker_opts"; then - linker_opts="-link$linker_opts" - fi - exec "$@" $linker_opts - exit 1 -} - -eat= - -case $1 in - '') - echo "$0: No command. Try '$0 --help' for more information." 1>&2 - exit 1; - ;; - -h | --h*) - cat <<\EOF -Usage: compile [--help] [--version] PROGRAM [ARGS] - -Wrapper for compilers which do not understand '-c -o'. -Remove '-o dest.o' from ARGS, run PROGRAM with the remaining -arguments, and rename the output as expected. - -If you are trying to build a whole package this is not the -right script to run: please start by reading the file 'INSTALL'. - -Report bugs to . -EOF - exit $? - ;; - -v | --v*) - echo "compile $scriptversion" - exit $? - ;; - cl | *[/\\]cl | cl.exe | *[/\\]cl.exe ) - func_cl_wrapper "$@" # Doesn't return... - ;; -esac - -ofile= -cfile= - -for arg -do - if test -n "$eat"; then - eat= - else - case $1 in - -o) - # configure might choose to run compile as 'compile cc -o foo foo.c'. - # So we strip '-o arg' only if arg is an object. - eat=1 - case $2 in - *.o | *.obj) - ofile=$2 - ;; - *) - set x "$@" -o "$2" - shift - ;; - esac - ;; - *.c) - cfile=$1 - set x "$@" "$1" - shift - ;; - *) - set x "$@" "$1" - shift - ;; - esac - fi - shift -done - -if test -z "$ofile" || test -z "$cfile"; then - # If no '-o' option was seen then we might have been invoked from a - # pattern rule where we don't need one. That is ok -- this is a - # normal compilation that the losing compiler can handle. If no - # '.c' file was seen then we are probably linking. That is also - # ok. - exec "$@" -fi - -# Name of file we expect compiler to create. -cofile=`echo "$cfile" | sed 's|^.*[\\/]||; s|^[a-zA-Z]:||; s/\.c$/.o/'` - -# Create the lock directory. -# Note: use '[/\\:.-]' here to ensure that we don't use the same name -# that we are using for the .o file. Also, base the name on the expected -# object file name, since that is what matters with a parallel build. -lockdir=`echo "$cofile" | sed -e 's|[/\\:.-]|_|g'`.d -while true; do - if mkdir "$lockdir" >/dev/null 2>&1; then - break - fi - sleep 1 -done -# FIXME: race condition here if user kills between mkdir and trap. -trap "rmdir '$lockdir'; exit 1" 1 2 15 - -# Run the compile. -"$@" -ret=$? - -if test -f "$cofile"; then - test "$cofile" = "$ofile" || mv "$cofile" "$ofile" -elif test -f "${cofile}bj"; then - test "${cofile}bj" = "$ofile" || mv "${cofile}bj" "$ofile" -fi - -rmdir "$lockdir" -exit $ret - -# 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: diff -Nru yaws-2.0.6+dfsg/ac-aux/config.guess yaws-2.0.7+dfsg/ac-aux/config.guess --- yaws-2.0.6+dfsg/ac-aux/config.guess 2018-06-26 09:17:07.000000000 +0000 +++ yaws-2.0.7+dfsg/ac-aux/config.guess 1970-01-01 00:00:00.000000000 +0000 @@ -1,1480 +0,0 @@ -#! /bin/sh -# Attempt to guess a canonical system name. -# Copyright 1992-2018 Free Software Foundation, Inc. - -timestamp='2018-02-24' - -# 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 3 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, but -# WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, see . -# -# As a special exception to the GNU General Public License, if you -# distribute this file as part of a program that contains a -# configuration script generated by Autoconf, you may include it under -# the same distribution terms that you use for the rest of that -# program. This Exception is an additional permission under section 7 -# of the GNU General Public License, version 3 ("GPLv3"). -# -# Originally written by Per Bothner; maintained since 2000 by Ben Elliston. -# -# You can get the latest version of this script from: -# https://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess -# -# Please send patches to . - - -me=`echo "$0" | sed -e 's,.*/,,'` - -usage="\ -Usage: $0 [OPTION] - -Output the configuration name of the system \`$me' is run on. - -Options: - -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 1992-2018 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 - -case "$UNAME_SYSTEM" in -Linux|GNU|GNU/*) - # If the system lacks a compiler, then just pick glibc. - # We could probably try harder. - LIBC=gnu - - eval "$set_cc_for_build" - cat <<-EOF > "$dummy.c" - #include - #if defined(__UCLIBC__) - LIBC=uclibc - #elif defined(__dietlibc__) - LIBC=dietlibc - #else - LIBC=gnu - #endif - EOF - eval "`$CC_FOR_BUILD -E "$dummy.c" 2>/dev/null | grep '^LIBC' | sed 's, ,,g'`" - - # If ldd exists, use it to detect musl libc. - if command -v ldd >/dev/null && \ - ldd --version 2>&1 | grep -q ^musl - then - LIBC=musl - fi - ;; -esac - -# 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 tuples: *-*-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=`(uname -p 2>/dev/null || \ - "/sbin/$sysctl" 2>/dev/null || \ - "/usr/sbin/$sysctl" 2>/dev/null || \ - echo unknown)` - case "$UNAME_MACHINE_ARCH" in - armeb) machine=armeb-unknown ;; - arm*) machine=arm-unknown ;; - sh3el) machine=shl-unknown ;; - sh3eb) machine=sh-unknown ;; - sh5el) machine=sh5le-unknown ;; - earmv*) - arch=`echo "$UNAME_MACHINE_ARCH" | sed -e 's,^e\(armv[0-9]\).*$,\1,'` - endian=`echo "$UNAME_MACHINE_ARCH" | sed -ne 's,^.*\(eb\)$,\1,p'` - machine="${arch}${endian}"-unknown - ;; - *) machine="$UNAME_MACHINE_ARCH"-unknown ;; - esac - # The Operating System including object format, if it has switched - # to ELF recently (or will in the future) and ABI. - case "$UNAME_MACHINE_ARCH" in - earm*) - os=netbsdelf - ;; - 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 - # Determine ABI tags. - case "$UNAME_MACHINE_ARCH" in - earm*) - expr='s/^earmv[0-9]/-eabi/;s/eb$//' - abi=`echo "$UNAME_MACHINE_ARCH" | sed -e "$expr"` - ;; - esac - # The OS release - # Debian GNU/NetBSD machines have a different userland, and - # thus, need a distinct triplet. However, they do not need - # 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/[-_].*//' | cut -d. -f1,2` - ;; - esac - # Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM: - # contains redundant information, the shorter form: - # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used. - echo "$machine-${os}${release}${abi}" - exit ;; - *:Bitrig:*:*) - UNAME_MACHINE_ARCH=`arch | sed 's/Bitrig.//'` - echo "$UNAME_MACHINE_ARCH"-unknown-bitrig"$UNAME_RELEASE" - exit ;; - *:OpenBSD:*:*) - UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'` - echo "$UNAME_MACHINE_ARCH"-unknown-openbsd"$UNAME_RELEASE" - exit ;; - *:LibertyBSD:*:*) - UNAME_MACHINE_ARCH=`arch | sed 's/^.*BSD\.//'` - echo "$UNAME_MACHINE_ARCH"-unknown-libertybsd"$UNAME_RELEASE" - exit ;; - *:MidnightBSD:*:*) - echo "$UNAME_MACHINE"-unknown-midnightbsd"$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 ;; - *:Sortix:*:*) - echo "$UNAME_MACHINE"-unknown-sortix - exit ;; - *:Redox:*:*) - echo "$UNAME_MACHINE"-unknown-redox - exit ;; - mips:OSF1:*.*) - echo mips-dec-osf1 - 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`" - # Reset EXIT trap before exiting to avoid spurious non-zero exit code. - exitcode=$? - trap '' 0 - exit $exitcode ;; - 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:*:[4567]) - 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/lslpp ] ; then - IBM_REV=`/usr/bin/lslpp -Lqc bos.rte.libc | - awk -F: '{ print $3 }' | sed s/[0-9]*$/0/` - 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:4.4BSD:*) - 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:*:*) - UNAME_PROCESSOR=`/usr/bin/uname -p` - case "$UNAME_PROCESSOR" in - amd64) - UNAME_PROCESSOR=x86_64 ;; - i386) - UNAME_PROCESSOR=i586 ;; - esac - echo "$UNAME_PROCESSOR"-unknown-freebsd"`echo "$UNAME_RELEASE"|sed -e 's/[-(].*//'`" - exit ;; - i*:CYGWIN*:*) - echo "$UNAME_MACHINE"-pc-cygwin - exit ;; - *:MINGW64*:*) - echo "$UNAME_MACHINE"-pc-mingw64 - exit ;; - *:MINGW*:*) - echo "$UNAME_MACHINE"-pc-mingw32 - exit ;; - *:MSYS*:*) - echo "$UNAME_MACHINE"-pc-msys - 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 ;; - i*:UWIN*:*) - echo "$UNAME_MACHINE"-pc-uwin - exit ;; - amd64:CYGWIN*:*:* | x86_64:CYGWIN*:*:*) - echo x86_64-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-$LIBC`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 "[:upper:]" "[:lower:]"``echo "$UNAME_RELEASE"|sed -e 's/[-(].*//'`-$LIBC" - exit ;; - i*86:Minix:*:*) - echo "$UNAME_MACHINE"-pc-minix - exit ;; - aarch64:Linux:*:*) - echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" - exit ;; - aarch64_be:Linux:*:*) - UNAME_MACHINE=aarch64_be - echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" - 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=gnulibc1 ; fi - echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" - exit ;; - arc:Linux:*:* | arceb:Linux:*:*) - echo "$UNAME_MACHINE"-unknown-linux-"$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-"$LIBC" - else - if echo __ARM_PCS_VFP | $CC_FOR_BUILD -E - 2>/dev/null \ - | grep -q __ARM_PCS_VFP - then - echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"eabi - else - echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"eabihf - fi - fi - exit ;; - avr32*:Linux:*:*) - echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" - exit ;; - cris:Linux:*:*) - echo "$UNAME_MACHINE"-axis-linux-"$LIBC" - exit ;; - crisv32:Linux:*:*) - echo "$UNAME_MACHINE"-axis-linux-"$LIBC" - exit ;; - e2k:Linux:*:*) - echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" - exit ;; - frv:Linux:*:*) - echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" - exit ;; - hexagon:Linux:*:*) - echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" - exit ;; - i*86:Linux:*:*) - echo "$UNAME_MACHINE"-pc-linux-"$LIBC" - exit ;; - ia64:Linux:*:*) - echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" - exit ;; - k1om:Linux:*:*) - echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" - exit ;; - m32r*:Linux:*:*) - echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" - exit ;; - m68*:Linux:*:*) - echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" - 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-$LIBC"; exit; } - ;; - mips64el:Linux:*:*) - echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" - exit ;; - openrisc*:Linux:*:*) - echo or1k-unknown-linux-"$LIBC" - exit ;; - or32:Linux:*:* | or1k*:Linux:*:*) - echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" - exit ;; - padre:Linux:*:*) - echo sparc-unknown-linux-"$LIBC" - exit ;; - parisc64:Linux:*:* | hppa64:Linux:*:*) - echo hppa64-unknown-linux-"$LIBC" - 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-"$LIBC" ;; - PA8*) echo hppa2.0-unknown-linux-"$LIBC" ;; - *) echo hppa-unknown-linux-"$LIBC" ;; - esac - exit ;; - ppc64:Linux:*:*) - echo powerpc64-unknown-linux-"$LIBC" - exit ;; - ppc:Linux:*:*) - echo powerpc-unknown-linux-"$LIBC" - exit ;; - ppc64le:Linux:*:*) - echo powerpc64le-unknown-linux-"$LIBC" - exit ;; - ppcle:Linux:*:*) - echo powerpcle-unknown-linux-"$LIBC" - exit ;; - riscv32:Linux:*:* | riscv64:Linux:*:*) - echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" - exit ;; - s390:Linux:*:* | s390x:Linux:*:*) - echo "$UNAME_MACHINE"-ibm-linux-"$LIBC" - exit ;; - sh64*:Linux:*:*) - echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" - exit ;; - sh*:Linux:*:*) - echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" - exit ;; - sparc:Linux:*:* | sparc64:Linux:*:*) - echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" - exit ;; - tile*:Linux:*:*) - echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" - exit ;; - vax:Linux:*:*) - echo "$UNAME_MACHINE"-dec-linux-"$LIBC" - exit ;; - x86_64:Linux:*:*) - if objdump -f /bin/sh | grep -q elf32-x86-64; then - echo "$UNAME_MACHINE"-pc-linux-"$LIBC"x32 - else - echo "$UNAME_MACHINE"-pc-linux-"$LIBC" - fi - exit ;; - xtensa*:Linux:*:*) - echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" - 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.*:*) - 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 configure 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 ;; - x86_64:Haiku:*:*) - echo x86_64-unknown-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 ;; - SX-ACE:SUPER-UX:*:*) - echo sxace-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 - eval "$set_cc_for_build" - if test "$UNAME_PROCESSOR" = unknown ; then - UNAME_PROCESSOR=powerpc - fi - if test "`echo "$UNAME_RELEASE" | sed -e 's/\..*//'`" -le 10 ; then - 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 - case $UNAME_PROCESSOR in - i386) UNAME_PROCESSOR=x86_64 ;; - powerpc) UNAME_PROCESSOR=powerpc64 ;; - esac - fi - # On 10.4-10.6 one might compile for PowerPC via gcc -arch ppc - if (echo '#ifdef __POWERPC__'; echo IS_PPC; echo '#endif') | \ - (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \ - grep IS_PPC >/dev/null - then - UNAME_PROCESSOR=powerpc - fi - fi - elif test "$UNAME_PROCESSOR" = i386 ; then - # Avoid executing cc on OS X 10.9, as it ships with a stub - # that puts up a graphical alert prompting to install - # developer tools. Any system running Mac OS X 10.7 or - # later (Darwin 11 and later) is required to have a 64-bit - # processor. This is not true of the ARM version of Darwin - # that Apple uses in portable devices. - UNAME_PROCESSOR=x86_64 - fi - 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 ;; - NEO-*:NONSTOP_KERNEL:*:*) - echo neo-tandem-nsk"$UNAME_RELEASE" - exit ;; - NSE-*:NONSTOP_KERNEL:*:*) - echo nse-tandem-nsk"$UNAME_RELEASE" - exit ;; - NSR-*:NONSTOP_KERNEL:*:*) - echo nsr-tandem-nsk"$UNAME_RELEASE" - exit ;; - NSV-*:NONSTOP_KERNEL:*:*) - echo nsv-tandem-nsk"$UNAME_RELEASE" - exit ;; - NSX-*:NONSTOP_KERNEL:*:*) - echo nsx-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 ;; - x86_64:VMkernel:*:*) - echo "$UNAME_MACHINE"-unknown-esx - exit ;; - amd64:Isilon\ OneFS:*:*) - echo x86_64-unknown-onefs - exit ;; -esac - -echo "$0: unable to guess system type" >&2 - -case "$UNAME_MACHINE:$UNAME_SYSTEM" in - mips:Linux | mips64:Linux) - # If we got here on MIPS GNU/Linux, output extra information. - cat >&2 <&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-functions 'time-stamp) -# time-stamp-start: "timestamp='" -# time-stamp-format: "%:y-%02m-%02d" -# time-stamp-end: "'" -# End: diff -Nru yaws-2.0.6+dfsg/ac-aux/config.sub yaws-2.0.7+dfsg/ac-aux/config.sub --- yaws-2.0.6+dfsg/ac-aux/config.sub 2018-06-26 09:17:07.000000000 +0000 +++ yaws-2.0.7+dfsg/ac-aux/config.sub 1970-01-01 00:00:00.000000000 +0000 @@ -1,1801 +0,0 @@ -#! /bin/sh -# Configuration validation subroutine script. -# Copyright 1992-2018 Free Software Foundation, Inc. - -timestamp='2018-02-22' - -# 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 3 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, but -# WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, see . -# -# As a special exception to the GNU General Public License, if you -# distribute this file as part of a program that contains a -# configuration script generated by Autoconf, you may include it under -# the same distribution terms that you use for the rest of that -# program. This Exception is an additional permission under section 7 -# of the GNU General Public License, version 3 ("GPLv3"). - - -# Please send patches to . -# -# 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: -# https://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub - -# 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 or ALIAS - -Canonicalize a configuration name. - -Options: - -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 1992-2018 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-android* | linux-dietlibc | linux-newlib* | \ - linux-musl* | linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \ - knetbsd*-gnu* | netbsd*-gnu* | netbsd*-eabi* | \ - kopensolaris*-gnu* | cloudabi*-eabi* | \ - storm-chaos* | os2-emx* | rtmk-nova*) - os=-$maybe_os - basic_machine=`echo "$1" | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'` - ;; - android-linux) - os=-linux-android - basic_machine=`echo "$1" | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`-unknown - ;; - *) - 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*178) - os=-lynxos178 - ;; - -lynx*5) - os=-lynxos5 - ;; - -lynx*) - os=-lynxos - ;; - -ptx*) - basic_machine=`echo "$1" | sed -e 's/86-.*/86-sequent/'` - ;; - -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 \ - | aarch64 | aarch64_be \ - | alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \ - | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \ - | am33_2.0 \ - | arc | arceb \ - | arm | arm[bl]e | arme[lb] | armv[2-8] | armv[3-8][lb] | armv7[arm] \ - | avr | avr32 \ - | ba \ - | be32 | be64 \ - | bfin \ - | c4x | c8051 | clipper \ - | d10v | d30v | dlx | dsp16xx \ - | e2k | epiphany \ - | fido | fr30 | frv | ft32 \ - | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \ - | hexagon \ - | i370 | i860 | i960 | ia16 | ia64 \ - | ip2k | iq2000 \ - | k1om \ - | le32 | le64 \ - | lm32 \ - | m32c | m32r | m32rle | m68000 | m68k | m88k \ - | maxq | mb | microblaze | microblazeel | 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 \ - | mipsisa32r6 | mipsisa32r6el \ - | mipsisa64 | mipsisa64el \ - | mipsisa64r2 | mipsisa64r2el \ - | mipsisa64r6 | mipsisa64r6el \ - | mipsisa64sb1 | mipsisa64sb1el \ - | mipsisa64sr71k | mipsisa64sr71kel \ - | mipsr5900 | mipsr5900el \ - | mipstx39 | mipstx39el \ - | mn10200 | mn10300 \ - | moxie \ - | mt \ - | msp430 \ - | nds32 | nds32le | nds32be \ - | nios | nios2 | nios2eb | nios2el \ - | ns16k | ns32k \ - | open8 | or1k | or1knd | or32 \ - | pdp10 | pj | pjl \ - | powerpc | powerpc64 | powerpc64le | powerpcle \ - | pru \ - | pyramid \ - | riscv32 | riscv64 \ - | rl78 | rx \ - | score \ - | sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[234]eb | sheb | shbe | shle | sh[1234]le | sh3ele \ - | sh64 | sh64le \ - | sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \ - | sparcv8 | sparcv9 | sparcv9b | sparcv9v \ - | spu \ - | tahoe | tic4x | tic54x | tic55x | tic6x | tic80 | tron \ - | ubicom32 \ - | v850 | v850e | v850e1 | v850e2 | v850es | v850e2v3 \ - | visium \ - | wasm32 \ - | x86 | xc16x | xstormy16 | xtensa \ - | z8k | z80) - basic_machine=$basic_machine-unknown - ;; - c54x) - basic_machine=tic54x-unknown - ;; - c55x) - basic_machine=tic55x-unknown - ;; - c6x) - basic_machine=tic6x-unknown - ;; - leon|leon[3-9]) - basic_machine=sparc-$basic_machine - ;; - m6811 | m68hc11 | m6812 | m68hc12 | m68hcs12x | nvptx | picochip) - basic_machine=$basic_machine-unknown - os=-none - ;; - m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65) - ;; - ms1) - basic_machine=mt-unknown - ;; - - strongarm | thumb | xscale) - basic_machine=arm-unknown - ;; - xgate) - basic_machine=$basic_machine-unknown - os=-none - ;; - xscaleeb) - basic_machine=armeb-unknown - ;; - - xscaleel) - basic_machine=armel-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-* \ - | aarch64-* | aarch64_be-* \ - | alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \ - | alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \ - | alphapca5[67]-* | alpha64pca5[67]-* | arc-* | arceb-* \ - | arm-* | armbe-* | armle-* | armeb-* | armv*-* \ - | avr-* | avr32-* \ - | ba-* \ - | be32-* | be64-* \ - | bfin-* | bs2000-* \ - | c[123]* | c30-* | [cjt]90-* | c4x-* \ - | c8051-* | clipper-* | craynv-* | cydra-* \ - | d10v-* | d30v-* | dlx-* \ - | e2k-* | elxsi-* \ - | f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \ - | h8300-* | h8500-* \ - | hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \ - | hexagon-* \ - | i*86-* | i860-* | i960-* | ia16-* | ia64-* \ - | ip2k-* | iq2000-* \ - | k1om-* \ - | le32-* | le64-* \ - | lm32-* \ - | m32c-* | m32r-* | m32rle-* \ - | m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \ - | m88110-* | m88k-* | maxq-* | mcore-* | metag-* \ - | microblaze-* | microblazeel-* \ - | 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-* \ - | mipsisa32r6-* | mipsisa32r6el-* \ - | mipsisa64-* | mipsisa64el-* \ - | mipsisa64r2-* | mipsisa64r2el-* \ - | mipsisa64r6-* | mipsisa64r6el-* \ - | mipsisa64sb1-* | mipsisa64sb1el-* \ - | mipsisa64sr71k-* | mipsisa64sr71kel-* \ - | mipsr5900-* | mipsr5900el-* \ - | mipstx39-* | mipstx39el-* \ - | mmix-* \ - | mt-* \ - | msp430-* \ - | nds32-* | nds32le-* | nds32be-* \ - | nios-* | nios2-* | nios2eb-* | nios2el-* \ - | none-* | np1-* | ns16k-* | ns32k-* \ - | open8-* \ - | or1k*-* \ - | orion-* \ - | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \ - | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* \ - | pru-* \ - | pyramid-* \ - | riscv32-* | riscv64-* \ - | rl78-* | romp-* | rs6000-* | rx-* \ - | sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \ - | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \ - | sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \ - | sparclite-* \ - | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | sv1-* | sx*-* \ - | tahoe-* \ - | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \ - | tile*-* \ - | tron-* \ - | ubicom32-* \ - | v850-* | v850e-* | v850e1-* | v850es-* | v850e2-* | v850e2v3-* \ - | vax-* \ - | visium-* \ - | wasm32-* \ - | we32k-* \ - | x86-* | x86_64-* | xc16x-* | xps100-* \ - | 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-pc - 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 - ;; - asmjs) - basic_machine=asmjs-unknown - ;; - 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 - ;; - c54x-*) - basic_machine=tic54x-`echo "$basic_machine" | sed 's/^[^-]*-//'` - ;; - c55x-*) - basic_machine=tic55x-`echo "$basic_machine" | sed 's/^[^-]*-//'` - ;; - c6x-*) - basic_machine=tic6x-`echo "$basic_machine" | sed 's/^[^-]*-//'` - ;; - 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 | 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*) - basic_machine=m68k-bull - os=-sysv3 - ;; - e500v[12]) - basic_machine=powerpc-unknown - os=$os"spe" - ;; - e500v[12]-*) - basic_machine=powerpc-`echo "$basic_machine" | sed 's/^[^-]*-//'` - os=$os"spe" - ;; - 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 - ;; - hppaosf) - basic_machine=hppa1.1-hp - os=-osf - ;; - hppro) - basic_machine=hppa1.1-hp - os=-proelf - ;; - i370-ibm* | ibm*) - basic_machine=i370-ibm - ;; - 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 - ;; - 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 - ;; - leon-*|leon[3-9]-*) - basic_machine=sparc-`echo "$basic_machine" | sed 's/-.*//'` - ;; - m68knommu) - basic_machine=m68k-unknown - os=-linux - ;; - m68knommu-*) - basic_machine=m68k-`echo "$basic_machine" | sed 's/^[^-]*-//'` - os=-linux - ;; - magnum | m3230) - basic_machine=mips-mips - os=-sysv - ;; - merlin) - basic_machine=ns32k-utek - os=-sysv - ;; - microblaze*) - basic_machine=microblaze-xilinx - ;; - mingw64) - basic_machine=x86_64-pc - os=-mingw64 - ;; - mingw32) - basic_machine=i686-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 - ;; - moxiebox) - basic_machine=moxie-unknown - os=-moxiebox - ;; - msdos) - basic_machine=i386-pc - os=-msdos - ;; - ms1-*) - basic_machine=`echo "$basic_machine" | sed -e 's/ms1-/mt-/'` - ;; - msys) - basic_machine=i686-pc - os=-msys - ;; - mvs) - basic_machine=i370-ibm - os=-mvs - ;; - nacl) - basic_machine=le32-unknown - os=-nacl - ;; - 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 - ;; - neo-tandem) - basic_machine=neo-tandem - ;; - nse-tandem) - basic_machine=nse-tandem - ;; - nsr-tandem) - basic_machine=nsr-tandem - ;; - nsv-tandem) - basic_machine=nsv-tandem - ;; - nsx-tandem) - basic_machine=nsx-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 | ppcbe) basic_machine=powerpc-unknown - ;; - ppc-* | ppcbe-*) - basic_machine=powerpc-`echo "$basic_machine" | sed 's/^[^-]*-//'` - ;; - ppcle | powerpclittle) - 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) - 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 | rdos64) - basic_machine=x86_64-pc - os=-rdos - ;; - rdos32) - 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 - ;; - sh5el) - basic_machine=sh5le-unknown - ;; - 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 - ;; - strongarm-* | thumb-*) - basic_machine=arm-`echo "$basic_machine" | sed 's/^[^-]*-//'` - ;; - 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 - ;; - tile*) - basic_machine=$basic_machine-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 - ;; - x64) - basic_machine=x86_64-pc - ;; - xbox) - basic_machine=i686-pc - os=-mingw32 - ;; - xps | xps100) - basic_machine=xps100-honeywell - ;; - xscale-* | xscalee[bl]-*) - basic_machine=`echo "$basic_machine" | sed 's/^xscale/arm/'` - ;; - ymp) - basic_machine=ymp-cray - os=-unicos - ;; - 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 - ;; - 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 - ;; - 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 - ;; - -unixware*) - os=-sysv4.2uw - ;; - -gnu/linux*) - os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'` - ;; - # es1800 is here to avoid being matched by es* (a different OS) - -es1800*) - os=-ose - ;; - # Now 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* | -plan9* \ - | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \ - | -aos* | -aros* | -cloudabi* | -sortix* \ - | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \ - | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \ - | -hiux* | -knetbsd* | -mirbsd* | -netbsd* \ - | -bitrig* | -openbsd* | -solidbsd* | -libertybsd* \ - | -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* | -glidix* \ - | -cygwin* | -msys* | -pe* | -psos* | -moss* | -proelf* | -rtems* \ - | -midipix* | -mingw32* | -mingw64* | -linux-gnu* | -linux-android* \ - | -linux-newlib* | -linux-musl* | -linux-uclibc* \ - | -uxpv* | -beos* | -mpeix* | -udk* | -moxiebox* \ - | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* \ - | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \ - | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \ - | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \ - | -morphos* | -superux* | -rtmk* | -windiss* \ - | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \ - | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es* \ - | -onefs* | -tirtos* | -phoenix* | -fuchsia* | -redox* | -bme* \ - | -midnightbsd*) - # 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 | -xray | -os68k* | -v88r* \ - | -windows* | -osx | -abug | -netware* | -os9* \ - | -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 - ;; - -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 - ;; - -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*) - os=-mint - ;; - -zvmoe) - os=-zvmoe - ;; - -dicos*) - os=-dicos - ;; - -pikeos*) - # Until real need of OS specific support for - # particular features comes up, bare metal - # configurations are quite functional. - case $basic_machine in - arm*) - os=-eabi - ;; - *) - os=-elf - ;; - esac - ;; - -nacl*) - ;; - -ios) - ;; - -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 - ;; - c8051-*) - os=-elf - ;; - hexagon-*) - os=-elf - ;; - tic54x-*) - os=-coff - ;; - tic55x-*) - os=-coff - ;; - tic6x-*) - 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 - ;; - 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 - ;; - pru-*) - os=-elf - ;; - *-be) - os=-beos - ;; - *-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 - ;; - *-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-functions 'time-stamp) -# time-stamp-start: "timestamp='" -# time-stamp-format: "%:y-%02m-%02d" -# time-stamp-end: "'" -# End: diff -Nru yaws-2.0.6+dfsg/ac-aux/depcomp yaws-2.0.7+dfsg/ac-aux/depcomp --- yaws-2.0.6+dfsg/ac-aux/depcomp 2018-06-26 09:17:09.000000000 +0000 +++ yaws-2.0.7+dfsg/ac-aux/depcomp 1970-01-01 00:00:00.000000000 +0000 @@ -1,791 +0,0 @@ -#! /bin/sh -# depcomp - compile a program generating dependencies as side-effects - -scriptversion=2016-01-11.22; # UTC - -# Copyright (C) 1999-2017 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 outputting dependencies. - libtool Whether libtool is used (yes/no). - -Report bugs to . -EOF - exit $? - ;; - -v | --v*) - echo "depcomp $scriptversion" - exit $? - ;; -esac - -# Get the directory component of the given path, and save it in the -# global variables '$dir'. Note that this directory component will -# be either empty or ending with a '/' character. This is deliberate. -set_dir_from () -{ - case $1 in - */*) dir=`echo "$1" | sed -e 's|/[^/]*$|/|'`;; - *) dir=;; - esac -} - -# Get the suffix-stripped basename of the given path, and save it the -# global variable '$base'. -set_base_from () -{ - base=`echo "$1" | sed -e 's|^.*/||' -e 's/\.[^.]*$//'` -} - -# If no dependency file was actually created by the compiler invocation, -# we still have to create a dummy depfile, to avoid errors with the -# Makefile "include basename.Plo" scheme. -make_dummy_depfile () -{ - echo "#dummy" > "$depfile" -} - -# Factor out some common post-processing of the generated depfile. -# Requires the auxiliary global variable '$tmpdepfile' to be set. -aix_post_process_depfile () -{ - # If the compiler actually managed to produce a dependency file, - # post-process it. - if test -f "$tmpdepfile"; then - # Each line is of the form 'foo.o: dependency.h'. - # Do two passes, one to just change these to - # $object: dependency.h - # and one to simply output - # dependency.h: - # which is needed to avoid the deleted-header problem. - { sed -e "s,^.*\.[$lower]*:,$object:," < "$tmpdepfile" - sed -e "s,^.*\.[$lower]*:[$tab ]*,," -e 's,$,:,' < "$tmpdepfile" - } > "$depfile" - rm -f "$tmpdepfile" - else - make_dummy_depfile - fi -} - -# A tabulation character. -tab=' ' -# A newline character. -nl=' -' -# Character ranges might be problematic outside the C locale. -# These definitions help. -upper=ABCDEFGHIJKLMNOPQRSTUVWXYZ -lower=abcdefghijklmnopqrstuvwxyz -digits=0123456789 -alpha=${upper}${lower} - -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" - -# Avoid interferences from the environment. -gccflag= dashmflag= - -# 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 - -if test "$depmode" = msvc7msys; then - # This is just like msvc7 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=msvc7 -fi - -if test "$depmode" = xlc; then - # IBM C/C++ Compilers xlc/xlC can output gcc-like dependency information. - gccflag=-qmakedep=gcc,-MF - depmode=gcc -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 -ne 0; then - rm -f "$tmpdepfile" - exit $stat - fi - mv "$tmpdepfile" "$depfile" - ;; - -gcc) -## Note that this doesn't just cater to obsosete pre-3.x GCC compilers. -## but also to in-use compilers like IMB xlc/xlC and the HP C compiler. -## (see the conditional assignment to $gccflag above). -## 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). Also, it might not be -## supported by the other compilers which use the 'gcc' depmode. -## - 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 -ne 0; then - rm -f "$tmpdepfile" - exit $stat - fi - rm -f "$depfile" - echo "$object : \\" > "$depfile" - # 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. -## 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. hp depmode also adds that space, but also prefixes the VPATH -## to the object. Take care to not repeat it in the output. -## Some versions of the HPUX 10.20 sed can't process this invocation -## correctly. Breaking it into two sed invocations is a workaround. - tr ' ' "$nl" < "$tmpdepfile" \ - | sed -e 's/^\\$//' -e '/^$/d' -e "s|.*$object$||" -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 -ne 0; then - 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 ' ' "$nl" < "$tmpdepfile" \ - | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' \ - | tr "$nl" ' ' >> "$depfile" - echo >> "$depfile" - # The second pass generates a dummy entry for each header file. - tr ' ' "$nl" < "$tmpdepfile" \ - | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' -e 's/$/:/' \ - >> "$depfile" - else - make_dummy_depfile - fi - rm -f "$tmpdepfile" - ;; - -xlc) - # 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 - ;; - -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. - set_dir_from "$object" - set_base_from "$object" - 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 -ne 0; then - rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" - exit $stat - fi - - for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" - do - test -f "$tmpdepfile" && break - done - aix_post_process_depfile - ;; - -tcc) - # tcc (Tiny C Compiler) understand '-MD -MF file' since version 0.9.26 - # FIXME: That version still under development at the moment of writing. - # Make that this statement remains true also for stable, released - # versions. - # It will wrap lines (doesn't matter whether long or short) with a - # trailing '\', as in: - # - # foo.o : \ - # foo.c \ - # foo.h \ - # - # It will put a trailing '\' even on the last line, and will use leading - # spaces rather than leading tabs (at least since its commit 0394caf7 - # "Emit spaces for -MD"). - "$@" -MD -MF "$tmpdepfile" - stat=$? - if test $stat -ne 0; then - rm -f "$tmpdepfile" - exit $stat - fi - rm -f "$depfile" - # Each non-empty line is of the form 'foo.o : \' or ' dep.h \'. - # We have to change lines of the first kind to '$object: \'. - sed -e "s|.*:|$object :|" < "$tmpdepfile" > "$depfile" - # And for each line of the second kind, we have to emit a 'dep.h:' - # dummy dependency, to avoid the deleted-header problem. - sed -n -e 's|^ *\(.*\) *\\$|\1:|p' < "$tmpdepfile" >> "$depfile" - rm -f "$tmpdepfile" - ;; - -## The order of this option in the case statement is important, since the -## shell code in configure will try each of these formats in the order -## listed in this file. A plain '-MD' option would be understood by many -## compilers, so we must ensure this comes after the gcc and icc options. -pgcc) - # Portland's C compiler understands '-MD'. - # Will always output deps to 'file.d' where file is the root name of the - # source file under compilation, even if file resides in a subdirectory. - # The object file name does not affect the name of the '.d' file. - # pgcc 10.2 will output - # foo.o: sub/foo.c sub/foo.h - # and will wrap long lines using '\' : - # foo.o: sub/foo.c ... \ - # sub/foo.h ... \ - # ... - set_dir_from "$object" - # Use the source, not the object, to determine the base name, since - # that's sadly what pgcc will do too. - set_base_from "$source" - tmpdepfile=$base.d - - # For projects that build the same source file twice into different object - # files, the pgcc approach of using the *source* file root name can cause - # problems in parallel builds. Use a locking strategy to avoid stomping on - # the same $tmpdepfile. - lockdir=$base.d-lock - trap " - echo '$0: caught signal, cleaning up...' >&2 - rmdir '$lockdir' - exit 1 - " 1 2 13 15 - numtries=100 - i=$numtries - while test $i -gt 0; do - # mkdir is a portable test-and-set. - if mkdir "$lockdir" 2>/dev/null; then - # This process acquired the lock. - "$@" -MD - stat=$? - # Release the lock. - rmdir "$lockdir" - break - else - # If the lock is being held by a different process, wait - # until the winning process is done or we timeout. - while test -d "$lockdir" && test $i -gt 0; do - sleep 1 - i=`expr $i - 1` - done - fi - i=`expr $i - 1` - done - trap - 1 2 13 15 - if test $i -le 0; then - echo "$0: failed to acquire lock after $numtries attempts" >&2 - echo "$0: check lockdir '$lockdir'" >&2 - exit 1 - fi - - if test $stat -ne 0; then - 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. - set_dir_from "$object" - set_base_from "$object" - 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 -ne 0; then - 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,^.*\.[$lower]*:,$object:," "$tmpdepfile" > "$depfile" - # Add 'dependent.h:' lines. - sed -ne '2,${ - s/^ *// - s/ \\*$// - s/$/:/ - p - }' "$tmpdepfile" >> "$depfile" - else - make_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. - set_dir_from "$object" - set_base_from "$object" - - if test "$libtool" = yes; then - # Libtool 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$base.o.d # libtool 1.5 - tmpdepfile2=$dir.libs/$base.o.d # Likewise. - tmpdepfile3=$dir.libs/$base.d # Compaq CCC V6.2-504 - "$@" -Wc,-MD - else - tmpdepfile1=$dir$base.d - tmpdepfile2=$dir$base.d - tmpdepfile3=$dir$base.d - "$@" -MD - fi - - stat=$? - if test $stat -ne 0; then - rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" - exit $stat - fi - - for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" - do - test -f "$tmpdepfile" && break - done - # Same post-processing that is required for AIX mode. - aix_post_process_depfile - ;; - -msvc7) - if test "$libtool" = yes; then - showIncludes=-Wc,-showIncludes - else - showIncludes=-showIncludes - fi - "$@" $showIncludes > "$tmpdepfile" - stat=$? - grep -v '^Note: including file: ' "$tmpdepfile" - if test $stat -ne 0; then - rm -f "$tmpdepfile" - exit $stat - fi - rm -f "$depfile" - echo "$object : \\" > "$depfile" - # The first sed program below extracts the file names and escapes - # backslashes for cygpath. The second sed program outputs the file - # name when reading, but also accumulates all include files in the - # hold buffer in order to output them again at the end. This only - # works with sed implementations that can handle large buffers. - sed < "$tmpdepfile" -n ' -/^Note: including file: *\(.*\)/ { - s//\1/ - s/\\/\\\\/g - p -}' | $cygpath_u | sort -u | sed -n ' -s/ /\\ /g -s/\(.*\)/'"$tab"'\1 \\/p -s/.\(.*\) \\/\1:/ -H -$ { - s/.*/'"$tab"'/ - G - p -}' >> "$depfile" - echo >> "$depfile" # make sure the fragment doesn't end with a backslash - rm -f "$tmpdepfile" - ;; - -msvc7msys) - # 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 - ;; - -#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|^[$tab ]*[^:$tab ][^:][^:]*:[$tab ]*|$object: |" > "$tmpdepfile" - rm -f "$depfile" - cat < "$tmpdepfile" > "$depfile" - # Some versions of the HPUX 10.20 sed can't process this sed invocation - # correctly. Breaking it into two sed invocations is a workaround. - tr ' ' "$nl" < "$tmpdepfile" \ - | 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" - # makedepend may prepend the VPATH from the source file name to the object. - # No need to regex-escape $object, excess matching of '.' is harmless. - sed "s|^.*\($object *:\)|\1|" "$tmpdepfile" > "$depfile" - # Some versions of the HPUX 10.20 sed can't process the last invocation - # correctly. Breaking it into two sed invocations is a workaround. - sed '1,2d' "$tmpdepfile" \ - | tr ' ' "$nl" \ - | 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::'"$tab"'\1 \\:p' >> "$depfile" - echo "$tab" >> "$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: "UTC0" -# time-stamp-end: "; # UTC" -# End: diff -Nru yaws-2.0.6+dfsg/ac-aux/install-sh yaws-2.0.7+dfsg/ac-aux/install-sh --- yaws-2.0.6+dfsg/ac-aux/install-sh 2018-06-26 09:17:07.000000000 +0000 +++ yaws-2.0.7+dfsg/ac-aux/install-sh 1970-01-01 00:00:00.000000000 +0000 @@ -1,508 +0,0 @@ -#!/bin/sh -# install - install a program, script, or datafile - -scriptversion=2014-09-12.12; # UTC - -# This originates from X11R5 (mit/util/scripts/install.sh), which was -# later released in X11R6 (xc/config/util/install.sh) with the -# 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. - -tab=' ' -nl=' -' -IFS=" $tab$nl" - -# Set DOITPROG to "echo" to test this script. - -doit=${DOITPROG-} -doit_exec=${doit:-exec} - -# 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_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 -is_target_a_directory=possibly - -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 - *' '* | *"$tab"* | *"$nl"* | *'*'* | *'?'* | *'['*) - echo "$0: invalid mode: $mode" >&2 - exit 1;; - esac - shift;; - - -o) chowncmd="$chownprog $2" - shift;; - - -s) stripcmd=$stripprog;; - - -t) - is_target_a_directory=always - dst_arg=$2 - # Protect names problematic for 'test' and other utilities. - case $dst_arg in - -* | [=\(\)!]) dst_arg=./$dst_arg;; - esac - shift;; - - -T) is_target_a_directory=never;; - - --version) echo "$0 $scriptversion"; exit $?;; - - --) shift - break;; - - -*) echo "$0: invalid option: $1" >&2 - exit 1;; - - *) break;; - esac - shift -done - -# We allow the use of options -d and -T together, by making -d -# take the precedence; this is for compatibility with GNU install. - -if test -n "$dir_arg"; then - if test -n "$dst_arg"; then - echo "$0: target directory not allowed when installing a directory." >&2 - exit 1 - fi -fi - -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 - # Protect names problematic for 'test' and other utilities. - case $dst_arg in - -* | [=\(\)!]) dst_arg=./$dst_arg;; - esac - 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 - if test $# -gt 1 || test "$is_target_a_directory" = always; then - if test ! -d "$dst_arg"; then - echo "$0: $dst_arg: Is not a directory." >&2 - exit 1 - fi - fi -fi - -if test -z "$dir_arg"; then - do_exit='(exit $ret); exit $ret' - trap "ret=129; $do_exit" 1 - trap "ret=130; $do_exit" 2 - trap "ret=141; $do_exit" 13 - trap "ret=143; $do_exit" 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 problematic for 'test' and other utilities. - 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 - - # 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 "$is_target_a_directory" = never; then - echo "$0: $dst_arg: Is a directory" >&2 - exit 1 - fi - dstdir=$dst - dst=$dstdir/`basename "$src"` - dstdir_status=0 - else - dstdir=`dirname "$dst"` - 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. - ;; - *) - # $RANDOM is not portable (e.g. dash); use it when possible to - # lower collision chance - tmpdir=${TMPDIR-/tmp}/ins$RANDOM-$$ - trap 'ret=$?; rmdir "$tmpdir/a/b" "$tmpdir/a" "$tmpdir" 2>/dev/null; exit $ret' 0 - - # As "mkdir -p" follows symlinks and we work in /tmp possibly; so - # create the $tmpdir first (and fail if unsuccessful) to make sure - # that nobody tries to guess the $tmpdir name. - if (umask $mkdir_umask && - $mkdirprog $mkdir_mode "$tmpdir" && - exec $mkdirprog $mkdir_mode -p -- "$tmpdir/a/b") >/dev/null 2>&1 - then - if test -z "$dir_arg" || { - # Check for POSIX incompatibilities with -m. - # HP-UX 11.23 and IRIX 6.5 mkdir -m -p sets group- or - # other-writable bit of parent directory when it shouldn't. - # FreeBSD 6.1 mkdir -m -p sets mode of existing directory. - test_tmpdir="$tmpdir/a" - ls_ld_tmpdir=`ls -ld "$test_tmpdir"` - case $ls_ld_tmpdir in - d????-?r-*) different_mode=700;; - d????-?--*) different_mode=755;; - *) false;; - esac && - $mkdirprog -m$different_mode -p -- "$test_tmpdir" && { - ls_ld_tmpdir_1=`ls -ld "$test_tmpdir"` - test "$ls_ld_tmpdir" = "$ls_ld_tmpdir_1" - } - } - then posix_mkdir=: - fi - rmdir "$tmpdir/a/b" "$tmpdir/a" "$tmpdir" - else - # Remove any dirs left behind by ancient mkdir implementations. - rmdir ./$mkdir_mode ./-p ./-- "$tmpdir" 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 - - oIFS=$IFS - IFS=/ - set -f - set fnord $dstdir - shift - set +f - IFS=$oIFS - - prefixes= - - for d - do - test X"$d" = X && 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` && - set -f && - set X $old && old=:$2:$4:$5:$6 && - set X $new && new=:$2:$4:$5:$6 && - 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: diff -Nru yaws-2.0.6+dfsg/ac-aux/ltmain.sh yaws-2.0.7+dfsg/ac-aux/ltmain.sh --- yaws-2.0.6+dfsg/ac-aux/ltmain.sh 2018-06-26 09:17:04.000000000 +0000 +++ yaws-2.0.7+dfsg/ac-aux/ltmain.sh 1970-01-01 00:00:00.000000000 +0000 @@ -1,11156 +0,0 @@ -#! /bin/sh -## DO NOT EDIT - This file generated from ./build-aux/ltmain.in -## by inline-source v2014-01-03.01 - -# libtool (GNU libtool) 2.4.6 -# Provide generalized library-building support services. -# Written by Gordon Matzigkeit , 1996 - -# Copyright (C) 1996-2015 Free Software Foundation, Inc. -# This is free software; see the source for copying conditions. There is NO -# warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -# 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 this program. If not, see . - - -PROGRAM=libtool -PACKAGE=libtool -VERSION="2.4.6 Debian-2.4.6-2" -package_revision=2.4.6 - - -## ------ ## -## Usage. ## -## ------ ## - -# Run './libtool --help' for help with using this script from the -# command line. - - -## ------------------------------- ## -## User overridable command paths. ## -## ------------------------------- ## - -# After configure completes, it has a better idea of some of the -# shell tools we need than the defaults used by the functions shared -# with bootstrap, so set those here where they can still be over- -# ridden by the user, but otherwise take precedence. - -: ${AUTOCONF="autoconf"} -: ${AUTOMAKE="automake"} - - -## -------------------------- ## -## Source external libraries. ## -## -------------------------- ## - -# Much of our low-level functionality needs to be sourced from external -# libraries, which are installed to $pkgauxdir. - -# Set a version string for this script. -scriptversion=2015-01-20.17; # UTC - -# General shell script boiler plate, and helper functions. -# Written by Gary V. Vaughan, 2004 - -# Copyright (C) 2004-2015 Free Software Foundation, Inc. -# This is free software; see the source for copying conditions. There is NO -# warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -# 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 3 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. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNES 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 . - -# Please report bugs or propose patches to gary@gnu.org. - - -## ------ ## -## Usage. ## -## ------ ## - -# Evaluate this file near the top of your script to gain access to -# the functions and variables defined here: -# -# . `echo "$0" | ${SED-sed} 's|[^/]*$||'`/build-aux/funclib.sh -# -# If you need to override any of the default environment variable -# settings, do that before evaluating this file. - - -## -------------------- ## -## Shell normalisation. ## -## -------------------- ## - -# Some shells need a little help to be as Bourne compatible as possible. -# Before doing anything else, make sure all that help has been provided! - -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 - -# NLS nuisances: We save the old values in case they are required later. -_G_user_locale= -_G_safe_locale= -for _G_var in LANG LANGUAGE LC_ALL LC_CTYPE LC_COLLATE LC_MESSAGES -do - eval "if test set = \"\${$_G_var+set}\"; then - save_$_G_var=\$$_G_var - $_G_var=C - export $_G_var - _G_user_locale=\"$_G_var=\\\$save_\$_G_var; \$_G_user_locale\" - _G_safe_locale=\"$_G_var=C; \$_G_safe_locale\" - fi" -done - -# CDPATH. -(unset CDPATH) >/dev/null 2>&1 && unset CDPATH - -# Make sure IFS has a sensible default -sp=' ' -nl=' -' -IFS="$sp $nl" - -# There are apparently some retarded systems that use ';' as a PATH separator! -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 - - - -## ------------------------- ## -## Locate command utilities. ## -## ------------------------- ## - - -# func_executable_p FILE -# ---------------------- -# Check that FILE is an executable regular file. -func_executable_p () -{ - test -f "$1" && test -x "$1" -} - - -# func_path_progs PROGS_LIST CHECK_FUNC [PATH] -# -------------------------------------------- -# Search for either a program that responds to --version with output -# containing "GNU", or else returned by CHECK_FUNC otherwise, by -# trying all the directories in PATH with each of the elements of -# PROGS_LIST. -# -# CHECK_FUNC should accept the path to a candidate program, and -# set $func_check_prog_result if it truncates its output less than -# $_G_path_prog_max characters. -func_path_progs () -{ - _G_progs_list=$1 - _G_check_func=$2 - _G_PATH=${3-"$PATH"} - - _G_path_prog_max=0 - _G_path_prog_found=false - _G_save_IFS=$IFS; IFS=${PATH_SEPARATOR-:} - for _G_dir in $_G_PATH; do - IFS=$_G_save_IFS - test -z "$_G_dir" && _G_dir=. - for _G_prog_name in $_G_progs_list; do - for _exeext in '' .EXE; do - _G_path_prog=$_G_dir/$_G_prog_name$_exeext - func_executable_p "$_G_path_prog" || continue - case `"$_G_path_prog" --version 2>&1` in - *GNU*) func_path_progs_result=$_G_path_prog _G_path_prog_found=: ;; - *) $_G_check_func $_G_path_prog - func_path_progs_result=$func_check_prog_result - ;; - esac - $_G_path_prog_found && break 3 - done - done - done - IFS=$_G_save_IFS - test -z "$func_path_progs_result" && { - echo "no acceptable sed could be found in \$PATH" >&2 - exit 1 - } -} - - -# We want to be able to use the functions in this file before configure -# has figured out where the best binaries are kept, which means we have -# to search for them ourselves - except when the results are already set -# where we skip the searches. - -# Unless the user overrides by setting SED, search the path for either GNU -# sed, or the sed that truncates its output the least. -test -z "$SED" && { - _G_sed_script=s/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb/ - for _G_i in 1 2 3 4 5 6 7; do - _G_sed_script=$_G_sed_script$nl$_G_sed_script - done - echo "$_G_sed_script" 2>/dev/null | sed 99q >conftest.sed - _G_sed_script= - - func_check_prog_sed () - { - _G_path_prog=$1 - - _G_count=0 - printf 0123456789 >conftest.in - while : - do - cat conftest.in conftest.in >conftest.tmp - mv conftest.tmp conftest.in - cp conftest.in conftest.nl - echo '' >> conftest.nl - "$_G_path_prog" -f conftest.sed conftest.out 2>/dev/null || break - diff conftest.out conftest.nl >/dev/null 2>&1 || break - _G_count=`expr $_G_count + 1` - if test "$_G_count" -gt "$_G_path_prog_max"; then - # Best one so far, save it but keep looking for a better one - func_check_prog_result=$_G_path_prog - _G_path_prog_max=$_G_count - fi - # 10*(2^10) chars as input seems more than enough - test 10 -lt "$_G_count" && break - done - rm -f conftest.in conftest.tmp conftest.nl conftest.out - } - - func_path_progs "sed gsed" func_check_prog_sed $PATH:/usr/xpg4/bin - rm -f conftest.sed - SED=$func_path_progs_result -} - - -# Unless the user overrides by setting GREP, search the path for either GNU -# grep, or the grep that truncates its output the least. -test -z "$GREP" && { - func_check_prog_grep () - { - _G_path_prog=$1 - - _G_count=0 - _G_path_prog_max=0 - printf 0123456789 >conftest.in - while : - do - cat conftest.in conftest.in >conftest.tmp - mv conftest.tmp conftest.in - cp conftest.in conftest.nl - echo 'GREP' >> conftest.nl - "$_G_path_prog" -e 'GREP$' -e '-(cannot match)-' conftest.out 2>/dev/null || break - diff conftest.out conftest.nl >/dev/null 2>&1 || break - _G_count=`expr $_G_count + 1` - if test "$_G_count" -gt "$_G_path_prog_max"; then - # Best one so far, save it but keep looking for a better one - func_check_prog_result=$_G_path_prog - _G_path_prog_max=$_G_count - fi - # 10*(2^10) chars as input seems more than enough - test 10 -lt "$_G_count" && break - done - rm -f conftest.in conftest.tmp conftest.nl conftest.out - } - - func_path_progs "grep ggrep" func_check_prog_grep $PATH:/usr/xpg4/bin - GREP=$func_path_progs_result -} - - -## ------------------------------- ## -## User overridable command paths. ## -## ------------------------------- ## - -# All uppercase variable names are used for environment variables. These -# variables can be overridden by the user before calling a script that -# uses them if a suitable command of that name is not already available -# in the command search PATH. - -: ${CP="cp -f"} -: ${ECHO="printf %s\n"} -: ${EGREP="$GREP -E"} -: ${FGREP="$GREP -F"} -: ${LN_S="ln -s"} -: ${MAKE="make"} -: ${MKDIR="mkdir"} -: ${MV="mv -f"} -: ${RM="rm -f"} -: ${SHELL="${CONFIG_SHELL-/bin/sh}"} - - -## -------------------- ## -## Useful sed snippets. ## -## -------------------- ## - -sed_dirname='s|/[^/]*$||' -sed_basename='s|^.*/||' - -# 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. -sed_double_quote_subst='s/\(["`\\]\)/\\\1/g' - -# Sed substitution that turns a string into a regex matching for the -# string literally. -sed_make_literal_regex='s|[].[^$\\*\/]|\\&|g' - -# Sed substitution that converts a w32 file name or path -# that contains forward slashes, into one that contains -# (escaped) backslashes. A very naive implementation. -sed_naive_backslashify='s|\\\\*|\\|g;s|/|\\|g;s|\\|\\\\|g' - -# Re-'\' parameter expansions in output of sed_double_quote_subst that -# were '\'-ed in input to the same. If an odd number of '\' preceded a -# '$' in input to sed_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 '$'. -_G_bs='\\' -_G_bs2='\\\\' -_G_bs4='\\\\\\\\' -_G_dollar='\$' -sed_double_backslash="\ - s/$_G_bs4/&\\ -/g - s/^$_G_bs2$_G_dollar/$_G_bs&/ - s/\\([^$_G_bs]\\)$_G_bs2$_G_dollar/\\1$_G_bs2$_G_bs$_G_dollar/g - s/\n//g" - - -## ----------------- ## -## Global variables. ## -## ----------------- ## - -# Except for the global variables explicitly listed below, the following -# functions in the '^func_' namespace, and the '^require_' namespace -# variables initialised in the 'Resource management' section, sourcing -# this file will not pollute your global namespace with anything -# else. There's no portable way to scope variables in Bourne shell -# though, so actually running these functions will sometimes place -# results into a variable named after the function, and often use -# temporary variables in the '^_G_' namespace. If you are careful to -# avoid using those namespaces casually in your sourcing script, things -# should continue to work as you expect. And, of course, you can freely -# overwrite any of the functions or variables defined here before -# calling anything to customize them. - -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. - -# Allow overriding, eg assuming that you follow the convention of -# putting '$debug_cmd' at the start of all your functions, you can get -# bash to show function call trace with: -# -# debug_cmd='eval echo "${FUNCNAME[0]} $*" >&2' bash your-script-name -debug_cmd=${debug_cmd-":"} -exit_cmd=: - -# By convention, finish your script with: -# -# exit $exit_status -# -# so that you can set exit_status to non-zero if you want to indicate -# something went wrong during execution without actually bailing out at -# the point of failure. -exit_status=$EXIT_SUCCESS - -# 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. -progname=`$ECHO "$progpath" |$SED "$sed_basename"` - -# Make sure we have an absolute progpath for reexecution: -case $progpath in - [\\/]*|[A-Za-z]:\\*) ;; - *[\\/]*) - progdir=`$ECHO "$progpath" |$SED "$sed_dirname"` - progdir=`cd "$progdir" && pwd` - progpath=$progdir/$progname - ;; - *) - _G_IFS=$IFS - IFS=${PATH_SEPARATOR-:} - for progdir in $PATH; do - IFS=$_G_IFS - test -x "$progdir/$progname" && break - done - IFS=$_G_IFS - test -n "$progdir" || progdir=`pwd` - progpath=$progdir/$progname - ;; -esac - - -## ----------------- ## -## Standard options. ## -## ----------------- ## - -# The following options affect the operation of the functions defined -# below, and should be set appropriately depending on run-time para- -# meters passed on the command line. - -opt_dry_run=false -opt_quiet=false -opt_verbose=false - -# Categories 'all' and 'none' are always available. Append any others -# you will pass as the first argument to func_warning from your own -# code. -warning_categories= - -# By default, display warnings according to 'opt_warning_types'. Set -# 'warning_func' to ':' to elide all warnings, or func_fatal_error to -# treat the next displayed warning as a fatal error. -warning_func=func_warn_and_continue - -# Set to 'all' to display all warnings, 'none' to suppress all -# warnings, or a space delimited list of some subset of -# 'warning_categories' to display only the listed warnings. -opt_warning_types=all - - -## -------------------- ## -## Resource management. ## -## -------------------- ## - -# This section contains definitions for functions that each ensure a -# particular resource (a file, or a non-empty configuration variable for -# example) is available, and if appropriate to extract default values -# from pertinent package files. Call them using their associated -# 'require_*' variable to ensure that they are executed, at most, once. -# -# It's entirely deliberate that calling these functions can set -# variables that don't obey the namespace limitations obeyed by the rest -# of this file, in order that that they be as useful as possible to -# callers. - - -# require_term_colors -# ------------------- -# Allow display of bold text on terminals that support it. -require_term_colors=func_require_term_colors -func_require_term_colors () -{ - $debug_cmd - - test -t 1 && { - # COLORTERM and USE_ANSI_COLORS environment variables take - # precedence, because most terminfo databases neglect to describe - # whether color sequences are supported. - test -n "${COLORTERM+set}" && : ${USE_ANSI_COLORS="1"} - - if test 1 = "$USE_ANSI_COLORS"; then - # Standard ANSI escape sequences - tc_reset='' - tc_bold=''; tc_standout='' - tc_red=''; tc_green='' - tc_blue=''; tc_cyan='' - else - # Otherwise trust the terminfo database after all. - test -n "`tput sgr0 2>/dev/null`" && { - tc_reset=`tput sgr0` - test -n "`tput bold 2>/dev/null`" && tc_bold=`tput bold` - tc_standout=$tc_bold - test -n "`tput smso 2>/dev/null`" && tc_standout=`tput smso` - test -n "`tput setaf 1 2>/dev/null`" && tc_red=`tput setaf 1` - test -n "`tput setaf 2 2>/dev/null`" && tc_green=`tput setaf 2` - test -n "`tput setaf 4 2>/dev/null`" && tc_blue=`tput setaf 4` - test -n "`tput setaf 5 2>/dev/null`" && tc_cyan=`tput setaf 5` - } - fi - } - - require_term_colors=: -} - - -## ----------------- ## -## Function library. ## -## ----------------- ## - -# This section contains a variety of useful functions to call in your -# scripts. Take note of the portable wrappers for features provided by -# some modern shells, which will fall back to slower equivalents on -# less featureful shells. - - -# func_append VAR VALUE -# --------------------- -# Append VALUE onto the existing contents of VAR. - - # We should try to minimise forks, especially on Windows where they are - # unreasonably slow, so skip the feature probes when bash or zsh are - # being used: - if test set = "${BASH_VERSION+set}${ZSH_VERSION+set}"; then - : ${_G_HAVE_ARITH_OP="yes"} - : ${_G_HAVE_XSI_OPS="yes"} - # The += operator was introduced in bash 3.1 - case $BASH_VERSION in - [12].* | 3.0 | 3.0*) ;; - *) - : ${_G_HAVE_PLUSEQ_OP="yes"} - ;; - esac - fi - - # _G_HAVE_PLUSEQ_OP - # Can be empty, in which case the shell is probed, "yes" if += is - # useable or anything else if it does not work. - test -z "$_G_HAVE_PLUSEQ_OP" \ - && (eval 'x=a; x+=" b"; test "a b" = "$x"') 2>/dev/null \ - && _G_HAVE_PLUSEQ_OP=yes - -if test yes = "$_G_HAVE_PLUSEQ_OP" -then - # This is an XSI compatible shell, allowing a faster implementation... - eval 'func_append () - { - $debug_cmd - - eval "$1+=\$2" - }' -else - # ...otherwise fall back to using expr, which is often a shell builtin. - func_append () - { - $debug_cmd - - eval "$1=\$$1\$2" - } -fi - - -# func_append_quoted VAR VALUE -# ---------------------------- -# Quote VALUE and append to the end of shell variable VAR, separated -# by a space. -if test yes = "$_G_HAVE_PLUSEQ_OP"; then - eval 'func_append_quoted () - { - $debug_cmd - - func_quote_for_eval "$2" - eval "$1+=\\ \$func_quote_for_eval_result" - }' -else - func_append_quoted () - { - $debug_cmd - - func_quote_for_eval "$2" - eval "$1=\$$1\\ \$func_quote_for_eval_result" - } -fi - - -# func_append_uniq VAR VALUE -# -------------------------- -# Append unique VALUE onto the existing contents of VAR, assuming -# entries are delimited by the first character of VALUE. For example: -# -# func_append_uniq options " --another-option option-argument" -# -# will only append to $options if " --another-option option-argument " -# is not already present somewhere in $options already (note spaces at -# each end implied by leading space in second argument). -func_append_uniq () -{ - $debug_cmd - - eval _G_current_value='`$ECHO $'$1'`' - _G_delim=`expr "$2" : '\(.\)'` - - case $_G_delim$_G_current_value$_G_delim in - *"$2$_G_delim"*) ;; - *) func_append "$@" ;; - esac -} - - -# func_arith TERM... -# ------------------ -# Set func_arith_result to the result of evaluating TERMs. - test -z "$_G_HAVE_ARITH_OP" \ - && (eval 'test 2 = $(( 1 + 1 ))') 2>/dev/null \ - && _G_HAVE_ARITH_OP=yes - -if test yes = "$_G_HAVE_ARITH_OP"; then - eval 'func_arith () - { - $debug_cmd - - func_arith_result=$(( $* )) - }' -else - func_arith () - { - $debug_cmd - - func_arith_result=`expr "$@"` - } -fi - - -# func_basename FILE -# ------------------ -# Set func_basename_result to FILE with everything up to and including -# the last / stripped. -if test yes = "$_G_HAVE_XSI_OPS"; then - # If this shell supports suffix pattern removal, then use it to avoid - # forking. Hide the definitions single quotes in case the shell chokes - # on unsupported syntax... - _b='func_basename_result=${1##*/}' - _d='case $1 in - */*) func_dirname_result=${1%/*}$2 ;; - * ) func_dirname_result=$3 ;; - esac' - -else - # ...otherwise fall back to using sed. - _b='func_basename_result=`$ECHO "$1" |$SED "$sed_basename"`' - _d='func_dirname_result=`$ECHO "$1" |$SED "$sed_dirname"` - if test "X$func_dirname_result" = "X$1"; then - func_dirname_result=$3 - else - func_append func_dirname_result "$2" - fi' -fi - -eval 'func_basename () -{ - $debug_cmd - - '"$_b"' -}' - - -# func_dirname FILE APPEND NONDIR_REPLACEMENT -# ------------------------------------------- -# Compute the dirname of FILE. If nonempty, add APPEND to the result, -# otherwise set result to NONDIR_REPLACEMENT. -eval 'func_dirname () -{ - $debug_cmd - - '"$_d"' -}' - - -# 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" -# For efficiency, we do not delegate to the functions above but instead -# duplicate the functionality here. -eval 'func_dirname_and_basename () -{ - $debug_cmd - - '"$_b"' - '"$_d"' -}' - - -# func_echo ARG... -# ---------------- -# Echo program name prefixed message. -func_echo () -{ - $debug_cmd - - _G_message=$* - - func_echo_IFS=$IFS - IFS=$nl - for _G_line in $_G_message; do - IFS=$func_echo_IFS - $ECHO "$progname: $_G_line" - done - IFS=$func_echo_IFS -} - - -# func_echo_all ARG... -# -------------------- -# Invoke $ECHO with all args, space-separated. -func_echo_all () -{ - $ECHO "$*" -} - - -# func_echo_infix_1 INFIX ARG... -# ------------------------------ -# Echo program name, followed by INFIX on the first line, with any -# additional lines not showing INFIX. -func_echo_infix_1 () -{ - $debug_cmd - - $require_term_colors - - _G_infix=$1; shift - _G_indent=$_G_infix - _G_prefix="$progname: $_G_infix: " - _G_message=$* - - # Strip color escape sequences before counting printable length - for _G_tc in "$tc_reset" "$tc_bold" "$tc_standout" "$tc_red" "$tc_green" "$tc_blue" "$tc_cyan" - do - test -n "$_G_tc" && { - _G_esc_tc=`$ECHO "$_G_tc" | $SED "$sed_make_literal_regex"` - _G_indent=`$ECHO "$_G_indent" | $SED "s|$_G_esc_tc||g"` - } - done - _G_indent="$progname: "`echo "$_G_indent" | $SED 's|.| |g'`" " ## exclude from sc_prohibit_nested_quotes - - func_echo_infix_1_IFS=$IFS - IFS=$nl - for _G_line in $_G_message; do - IFS=$func_echo_infix_1_IFS - $ECHO "$_G_prefix$tc_bold$_G_line$tc_reset" >&2 - _G_prefix=$_G_indent - done - IFS=$func_echo_infix_1_IFS -} - - -# func_error ARG... -# ----------------- -# Echo program name prefixed message to standard error. -func_error () -{ - $debug_cmd - - $require_term_colors - - func_echo_infix_1 " $tc_standout${tc_red}error$tc_reset" "$*" >&2 -} - - -# func_fatal_error ARG... -# ----------------------- -# Echo program name prefixed message to standard error, and exit. -func_fatal_error () -{ - $debug_cmd - - func_error "$*" - exit $EXIT_FAILURE -} - - -# func_grep EXPRESSION FILENAME -# ----------------------------- -# Check whether EXPRESSION matches any line of FILENAME, without output. -func_grep () -{ - $debug_cmd - - $GREP "$1" "$2" >/dev/null 2>&1 -} - - -# func_len STRING -# --------------- -# Set func_len_result to the length of STRING. STRING may not -# start with a hyphen. - test -z "$_G_HAVE_XSI_OPS" \ - && (eval 'x=a/b/c; - test 5aa/bb/cc = "${#x}${x%%/*}${x%/*}${x#*/}${x##*/}"') 2>/dev/null \ - && _G_HAVE_XSI_OPS=yes - -if test yes = "$_G_HAVE_XSI_OPS"; then - eval 'func_len () - { - $debug_cmd - - func_len_result=${#1} - }' -else - func_len () - { - $debug_cmd - - func_len_result=`expr "$1" : ".*" 2>/dev/null || echo $max_cmd_len` - } -fi - - -# func_mkdir_p DIRECTORY-PATH -# --------------------------- -# Make sure the entire path to DIRECTORY-PATH is available. -func_mkdir_p () -{ - $debug_cmd - - _G_directory_path=$1 - _G_dir_list= - - if test -n "$_G_directory_path" && test : != "$opt_dry_run"; then - - # Protect directory names starting with '-' - case $_G_directory_path in - -*) _G_directory_path=./$_G_directory_path ;; - esac - - # While some portion of DIR does not yet exist... - while test ! -d "$_G_directory_path"; do - # ...make a list in topmost first order. Use a colon delimited - # list incase some portion of path contains whitespace. - _G_dir_list=$_G_directory_path:$_G_dir_list - - # If the last portion added has no slash in it, the list is done - case $_G_directory_path in */*) ;; *) break ;; esac - - # ...otherwise throw away the child directory and loop - _G_directory_path=`$ECHO "$_G_directory_path" | $SED -e "$sed_dirname"` - done - _G_dir_list=`$ECHO "$_G_dir_list" | $SED 's|:*$||'` - - func_mkdir_p_IFS=$IFS; IFS=: - for _G_dir in $_G_dir_list; do - IFS=$func_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 "$_G_dir" 2>/dev/null || : - done - IFS=$func_mkdir_p_IFS - - # Bail out if we (or some other process) failed to create a directory. - test -d "$_G_directory_path" || \ - func_fatal_error "Failed to create '$1'" - fi -} - - -# func_mktempdir [BASENAME] -# ------------------------- -# Make a temporary directory that won't clash with other running -# libtool processes, and avoids race conditions if possible. If -# given, BASENAME is the basename for that directory. -func_mktempdir () -{ - $debug_cmd - - _G_template=${TMPDIR-/tmp}/${1-$progname} - - if test : = "$opt_dry_run"; then - # Return a directory name, but don't create it in dry-run mode - _G_tmpdir=$_G_template-$$ - else - - # If mktemp works, use that first and foremost - _G_tmpdir=`mktemp -d "$_G_template-XXXXXXXX" 2>/dev/null` - - if test ! -d "$_G_tmpdir"; then - # Failing that, at least try and use $RANDOM to avoid a race - _G_tmpdir=$_G_template-${RANDOM-0}$$ - - func_mktempdir_umask=`umask` - umask 0077 - $MKDIR "$_G_tmpdir" - umask $func_mktempdir_umask - fi - - # If we're not in dry-run mode, bomb out on failure - test -d "$_G_tmpdir" || \ - func_fatal_error "cannot create temporary directory '$_G_tmpdir'" - fi - - $ECHO "$_G_tmpdir" -} - - -# func_normal_abspath PATH -# ------------------------ -# Remove doubled-up and trailing slashes, "." path components, -# and cancel out any ".." path components in PATH after making -# it an absolute path. -func_normal_abspath () -{ - $debug_cmd - - # These SED scripts presuppose an absolute path with a trailing slash. - _G_pathcar='s|^/\([^/]*\).*$|\1|' - _G_pathcdr='s|^/[^/]*||' - _G_removedotparts=':dotsl - s|/\./|/|g - t dotsl - s|/\.$|/|' - _G_collapseslashes='s|/\{1,\}|/|g' - _G_finalslash='s|/*$|/|' - - # Start from root dir and reassemble the path. - func_normal_abspath_result= - func_normal_abspath_tpath=$1 - func_normal_abspath_altnamespace= - case $func_normal_abspath_tpath in - "") - # Empty path, that just means $cwd. - func_stripname '' '/' "`pwd`" - func_normal_abspath_result=$func_stripname_result - return - ;; - # The next three entries are used to spot a run of precisely - # two leading slashes without using negated character classes; - # we take advantage of case's first-match behaviour. - ///*) - # Unusual form of absolute path, do nothing. - ;; - //*) - # Not necessarily an ordinary path; POSIX reserves leading '//' - # and for example Cygwin uses it to access remote file shares - # over CIFS/SMB, so we conserve a leading double slash if found. - func_normal_abspath_altnamespace=/ - ;; - /*) - # Absolute path, do nothing. - ;; - *) - # Relative path, prepend $cwd. - func_normal_abspath_tpath=`pwd`/$func_normal_abspath_tpath - ;; - esac - - # Cancel out all the simple stuff to save iterations. We also want - # the path to end with a slash for ease of parsing, so make sure - # there is one (and only one) here. - func_normal_abspath_tpath=`$ECHO "$func_normal_abspath_tpath" | $SED \ - -e "$_G_removedotparts" -e "$_G_collapseslashes" -e "$_G_finalslash"` - while :; do - # Processed it all yet? - if test / = "$func_normal_abspath_tpath"; then - # If we ascended to the root using ".." the result may be empty now. - if test -z "$func_normal_abspath_result"; then - func_normal_abspath_result=/ - fi - break - fi - func_normal_abspath_tcomponent=`$ECHO "$func_normal_abspath_tpath" | $SED \ - -e "$_G_pathcar"` - func_normal_abspath_tpath=`$ECHO "$func_normal_abspath_tpath" | $SED \ - -e "$_G_pathcdr"` - # Figure out what to do with it - case $func_normal_abspath_tcomponent in - "") - # Trailing empty path component, ignore it. - ;; - ..) - # Parent dir; strip last assembled component from result. - func_dirname "$func_normal_abspath_result" - func_normal_abspath_result=$func_dirname_result - ;; - *) - # Actual path component, append it. - func_append func_normal_abspath_result "/$func_normal_abspath_tcomponent" - ;; - esac - done - # Restore leading double-slash if one was found on entry. - func_normal_abspath_result=$func_normal_abspath_altnamespace$func_normal_abspath_result -} - - -# func_notquiet ARG... -# -------------------- -# Echo program name prefixed message only when not in quiet mode. -func_notquiet () -{ - $debug_cmd - - $opt_quiet || 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_relative_path SRCDIR DSTDIR -# -------------------------------- -# Set func_relative_path_result to the relative path from SRCDIR to DSTDIR. -func_relative_path () -{ - $debug_cmd - - func_relative_path_result= - func_normal_abspath "$1" - func_relative_path_tlibdir=$func_normal_abspath_result - func_normal_abspath "$2" - func_relative_path_tbindir=$func_normal_abspath_result - - # Ascend the tree starting from libdir - while :; do - # check if we have found a prefix of bindir - case $func_relative_path_tbindir in - $func_relative_path_tlibdir) - # found an exact match - func_relative_path_tcancelled= - break - ;; - $func_relative_path_tlibdir*) - # found a matching prefix - func_stripname "$func_relative_path_tlibdir" '' "$func_relative_path_tbindir" - func_relative_path_tcancelled=$func_stripname_result - if test -z "$func_relative_path_result"; then - func_relative_path_result=. - fi - break - ;; - *) - func_dirname $func_relative_path_tlibdir - func_relative_path_tlibdir=$func_dirname_result - if test -z "$func_relative_path_tlibdir"; then - # Have to descend all the way to the root! - func_relative_path_result=../$func_relative_path_result - func_relative_path_tcancelled=$func_relative_path_tbindir - break - fi - func_relative_path_result=../$func_relative_path_result - ;; - esac - done - - # Now calculate path; take care to avoid doubling-up slashes. - func_stripname '' '/' "$func_relative_path_result" - func_relative_path_result=$func_stripname_result - func_stripname '/' '/' "$func_relative_path_tcancelled" - if test -n "$func_stripname_result"; then - func_append func_relative_path_result "/$func_stripname_result" - fi - - # Normalisation. If bindir is libdir, return '.' else relative path. - if test -n "$func_relative_path_result"; then - func_stripname './' '' "$func_relative_path_result" - func_relative_path_result=$func_stripname_result - fi - - test -n "$func_relative_path_result" || func_relative_path_result=. - - : -} - - -# func_quote_for_eval ARG... -# -------------------------- -# Aesthetically quote ARGs to be evaled later. -# This function returns two values: -# i) func_quote_for_eval_result -# double-quoted, suitable for a subsequent eval -# ii) func_quote_for_eval_unquoted_result -# has all characters that are still active within double -# quotes backslashified. -func_quote_for_eval () -{ - $debug_cmd - - func_quote_for_eval_unquoted_result= - func_quote_for_eval_result= - while test 0 -lt $#; do - case $1 in - *[\\\`\"\$]*) - _G_unquoted_arg=`printf '%s\n' "$1" |$SED "$sed_quote_subst"` ;; - *) - _G_unquoted_arg=$1 ;; - esac - if test -n "$func_quote_for_eval_unquoted_result"; then - func_append func_quote_for_eval_unquoted_result " $_G_unquoted_arg" - else - func_append func_quote_for_eval_unquoted_result "$_G_unquoted_arg" - fi - - case $_G_unquoted_arg in - # Double-quote args containing shell metacharacters to delay - # word splitting, command substitution and variable expansion - # for a subsequent eval. - # Many Bourne shells cannot handle close brackets correctly - # in scan sets, so we specify it separately. - *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") - _G_quoted_arg=\"$_G_unquoted_arg\" - ;; - *) - _G_quoted_arg=$_G_unquoted_arg - ;; - esac - - if test -n "$func_quote_for_eval_result"; then - func_append func_quote_for_eval_result " $_G_quoted_arg" - else - func_append func_quote_for_eval_result "$_G_quoted_arg" - fi - shift - done -} - - -# 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 () -{ - $debug_cmd - - case $1 in - *[\\\`\"]*) - _G_arg=`$ECHO "$1" | $SED \ - -e "$sed_double_quote_subst" -e "$sed_double_backslash"` ;; - *) - _G_arg=$1 ;; - esac - - case $_G_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. - *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") - _G_arg=\"$_G_arg\" - ;; - esac - - func_quote_for_expand_result=$_G_arg -} - - -# func_stripname PREFIX SUFFIX NAME -# --------------------------------- -# strip PREFIX and SUFFIX from NAME, and store in func_stripname_result. -# 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). -if test yes = "$_G_HAVE_XSI_OPS"; then - eval 'func_stripname () - { - $debug_cmd - - # pdksh 5.2.14 does not do ${X%$Y} correctly if both X and Y are - # positional parameters, so assign one to ordinary variable first. - func_stripname_result=$3 - func_stripname_result=${func_stripname_result#"$1"} - func_stripname_result=${func_stripname_result%"$2"} - }' -else - func_stripname () - { - $debug_cmd - - case $2 in - .*) func_stripname_result=`$ECHO "$3" | $SED -e "s%^$1%%" -e "s%\\\\$2\$%%"`;; - *) func_stripname_result=`$ECHO "$3" | $SED -e "s%^$1%%" -e "s%$2\$%%"`;; - esac - } -fi - - -# func_show_eval CMD [FAIL_EXP] -# ----------------------------- -# Unless opt_quiet 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 () -{ - $debug_cmd - - _G_cmd=$1 - _G_fail_exp=${2-':'} - - func_quote_for_expand "$_G_cmd" - eval "func_notquiet $func_quote_for_expand_result" - - $opt_dry_run || { - eval "$_G_cmd" - _G_status=$? - if test 0 -ne "$_G_status"; then - eval "(exit $_G_status); $_G_fail_exp" - fi - } -} - - -# func_show_eval_locale CMD [FAIL_EXP] -# ------------------------------------ -# Unless opt_quiet 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 () -{ - $debug_cmd - - _G_cmd=$1 - _G_fail_exp=${2-':'} - - $opt_quiet || { - func_quote_for_expand "$_G_cmd" - eval "func_echo $func_quote_for_expand_result" - } - - $opt_dry_run || { - eval "$_G_user_locale - $_G_cmd" - _G_status=$? - eval "$_G_safe_locale" - if test 0 -ne "$_G_status"; then - eval "(exit $_G_status); $_G_fail_exp" - fi - } -} - - -# func_tr_sh -# ---------- -# Turn $1 into a string suitable for a shell variable name. -# Result is stored in $func_tr_sh_result. All characters -# not in the set a-zA-Z0-9_ are replaced with '_'. Further, -# if $1 begins with a digit, a '_' is prepended as well. -func_tr_sh () -{ - $debug_cmd - - case $1 in - [0-9]* | *[!a-zA-Z0-9_]*) - func_tr_sh_result=`$ECHO "$1" | $SED -e 's/^\([0-9]\)/_\1/' -e 's/[^a-zA-Z0-9_]/_/g'` - ;; - * ) - func_tr_sh_result=$1 - ;; - esac -} - - -# func_verbose ARG... -# ------------------- -# Echo program name prefixed message in verbose mode only. -func_verbose () -{ - $debug_cmd - - $opt_verbose && func_echo "$*" - - : -} - - -# func_warn_and_continue ARG... -# ----------------------------- -# Echo program name prefixed warning message to standard error. -func_warn_and_continue () -{ - $debug_cmd - - $require_term_colors - - func_echo_infix_1 "${tc_red}warning$tc_reset" "$*" >&2 -} - - -# func_warning CATEGORY ARG... -# ---------------------------- -# Echo program name prefixed warning message to standard error. Warning -# messages can be filtered according to CATEGORY, where this function -# elides messages where CATEGORY is not listed in the global variable -# 'opt_warning_types'. -func_warning () -{ - $debug_cmd - - # CATEGORY must be in the warning_categories list! - case " $warning_categories " in - *" $1 "*) ;; - *) func_internal_error "invalid warning category '$1'" ;; - esac - - _G_category=$1 - shift - - case " $opt_warning_types " in - *" $_G_category "*) $warning_func ${1+"$@"} ;; - esac -} - - -# func_sort_ver VER1 VER2 -# ----------------------- -# 'sort -V' is not generally available. -# Note this deviates from the version comparison in automake -# in that it treats 1.5 < 1.5.0, and treats 1.4.4a < 1.4-p3a -# but this should suffice as we won't be specifying old -# version formats or redundant trailing .0 in bootstrap.conf. -# If we did want full compatibility then we should probably -# use m4_version_compare from autoconf. -func_sort_ver () -{ - $debug_cmd - - printf '%s\n%s\n' "$1" "$2" \ - | sort -t. -k 1,1n -k 2,2n -k 3,3n -k 4,4n -k 5,5n -k 6,6n -k 7,7n -k 8,8n -k 9,9n -} - -# func_lt_ver PREV CURR -# --------------------- -# Return true if PREV and CURR are in the correct order according to -# func_sort_ver, otherwise false. Use it like this: -# -# func_lt_ver "$prev_ver" "$proposed_ver" || func_fatal_error "..." -func_lt_ver () -{ - $debug_cmd - - test "x$1" = x`func_sort_ver "$1" "$2" | $SED 1q` -} - - -# Local variables: -# mode: shell-script -# sh-indentation: 2 -# eval: (add-hook 'before-save-hook 'time-stamp) -# time-stamp-pattern: "10/scriptversion=%:y-%02m-%02d.%02H; # UTC" -# time-stamp-time-zone: "UTC" -# End: -#! /bin/sh - -# Set a version string for this script. -scriptversion=2014-01-07.03; # UTC - -# A portable, pluggable option parser for Bourne shell. -# Written by Gary V. Vaughan, 2010 - -# Copyright (C) 2010-2015 Free Software Foundation, Inc. -# This is free software; see the source for copying conditions. There is NO -# warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -# 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 3 of the License, or -# (at your option) any later version. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. - -# You should have received a copy of the GNU General Public License -# along with this program. If not, see . - -# Please report bugs or propose patches to gary@gnu.org. - - -## ------ ## -## Usage. ## -## ------ ## - -# This file is a library for parsing options in your shell scripts along -# with assorted other useful supporting features that you can make use -# of too. -# -# For the simplest scripts you might need only: -# -# #!/bin/sh -# . relative/path/to/funclib.sh -# . relative/path/to/options-parser -# scriptversion=1.0 -# func_options ${1+"$@"} -# eval set dummy "$func_options_result"; shift -# ...rest of your script... -# -# In order for the '--version' option to work, you will need to have a -# suitably formatted comment like the one at the top of this file -# starting with '# Written by ' and ending with '# warranty; '. -# -# For '-h' and '--help' to work, you will also need a one line -# description of your script's purpose in a comment directly above the -# '# Written by ' line, like the one at the top of this file. -# -# The default options also support '--debug', which will turn on shell -# execution tracing (see the comment above debug_cmd below for another -# use), and '--verbose' and the func_verbose function to allow your script -# to display verbose messages only when your user has specified -# '--verbose'. -# -# After sourcing this file, you can plug processing for additional -# options by amending the variables from the 'Configuration' section -# below, and following the instructions in the 'Option parsing' -# section further down. - -## -------------- ## -## Configuration. ## -## -------------- ## - -# You should override these variables in your script after sourcing this -# file so that they reflect the customisations you have added to the -# option parser. - -# The usage line for option parsing errors and the start of '-h' and -# '--help' output messages. You can embed shell variables for delayed -# expansion at the time the message is displayed, but you will need to -# quote other shell meta-characters carefully to prevent them being -# expanded when the contents are evaled. -usage='$progpath [OPTION]...' - -# Short help message in response to '-h' and '--help'. Add to this or -# override it after sourcing this library to reflect the full set of -# options your script accepts. -usage_message="\ - --debug enable verbose shell tracing - -W, --warnings=CATEGORY - report the warnings falling in CATEGORY [all] - -v, --verbose verbosely report processing - --version print version information and exit - -h, --help print short or long help message and exit -" - -# Additional text appended to 'usage_message' in response to '--help'. -long_help_message=" -Warning categories include: - 'all' show all warnings - 'none' turn off all the warnings - 'error' warnings are treated as fatal errors" - -# Help message printed before fatal option parsing errors. -fatal_help="Try '\$progname --help' for more information." - - - -## ------------------------- ## -## Hook function management. ## -## ------------------------- ## - -# This section contains functions for adding, removing, and running hooks -# to the main code. A hook is just a named list of of function, that can -# be run in order later on. - -# func_hookable FUNC_NAME -# ----------------------- -# Declare that FUNC_NAME will run hooks added with -# 'func_add_hook FUNC_NAME ...'. -func_hookable () -{ - $debug_cmd - - func_append hookable_fns " $1" -} - - -# func_add_hook FUNC_NAME HOOK_FUNC -# --------------------------------- -# Request that FUNC_NAME call HOOK_FUNC before it returns. FUNC_NAME must -# first have been declared "hookable" by a call to 'func_hookable'. -func_add_hook () -{ - $debug_cmd - - case " $hookable_fns " in - *" $1 "*) ;; - *) func_fatal_error "'$1' does not accept hook functions." ;; - esac - - eval func_append ${1}_hooks '" $2"' -} - - -# func_remove_hook FUNC_NAME HOOK_FUNC -# ------------------------------------ -# Remove HOOK_FUNC from the list of functions called by FUNC_NAME. -func_remove_hook () -{ - $debug_cmd - - eval ${1}_hooks='`$ECHO "\$'$1'_hooks" |$SED "s| '$2'||"`' -} - - -# func_run_hooks FUNC_NAME [ARG]... -# --------------------------------- -# Run all hook functions registered to FUNC_NAME. -# It is assumed that the list of hook functions contains nothing more -# than a whitespace-delimited list of legal shell function names, and -# no effort is wasted trying to catch shell meta-characters or preserve -# whitespace. -func_run_hooks () -{ - $debug_cmd - - case " $hookable_fns " in - *" $1 "*) ;; - *) func_fatal_error "'$1' does not support hook funcions.n" ;; - esac - - eval _G_hook_fns=\$$1_hooks; shift - - for _G_hook in $_G_hook_fns; do - eval $_G_hook '"$@"' - - # store returned options list back into positional - # parameters for next 'cmd' execution. - eval _G_hook_result=\$${_G_hook}_result - eval set dummy "$_G_hook_result"; shift - done - - func_quote_for_eval ${1+"$@"} - func_run_hooks_result=$func_quote_for_eval_result -} - - - -## --------------- ## -## Option parsing. ## -## --------------- ## - -# In order to add your own option parsing hooks, you must accept the -# full positional parameter list in your hook function, remove any -# options that you action, and then pass back the remaining unprocessed -# options in '_result', escaped suitably for -# 'eval'. Like this: -# -# my_options_prep () -# { -# $debug_cmd -# -# # Extend the existing usage message. -# usage_message=$usage_message' -# -s, --silent don'\''t print informational messages -# ' -# -# func_quote_for_eval ${1+"$@"} -# my_options_prep_result=$func_quote_for_eval_result -# } -# func_add_hook func_options_prep my_options_prep -# -# -# my_silent_option () -# { -# $debug_cmd -# -# # Note that for efficiency, we parse as many options as we can -# # recognise in a loop before passing the remainder back to the -# # caller on the first unrecognised argument we encounter. -# while test $# -gt 0; do -# opt=$1; shift -# case $opt in -# --silent|-s) opt_silent=: ;; -# # Separate non-argument short options: -# -s*) func_split_short_opt "$_G_opt" -# set dummy "$func_split_short_opt_name" \ -# "-$func_split_short_opt_arg" ${1+"$@"} -# shift -# ;; -# *) set dummy "$_G_opt" "$*"; shift; break ;; -# esac -# done -# -# func_quote_for_eval ${1+"$@"} -# my_silent_option_result=$func_quote_for_eval_result -# } -# func_add_hook func_parse_options my_silent_option -# -# -# my_option_validation () -# { -# $debug_cmd -# -# $opt_silent && $opt_verbose && func_fatal_help "\ -# '--silent' and '--verbose' options are mutually exclusive." -# -# func_quote_for_eval ${1+"$@"} -# my_option_validation_result=$func_quote_for_eval_result -# } -# func_add_hook func_validate_options my_option_validation -# -# You'll alse need to manually amend $usage_message to reflect the extra -# options you parse. It's preferable to append if you can, so that -# multiple option parsing hooks can be added safely. - - -# func_options [ARG]... -# --------------------- -# All the functions called inside func_options are hookable. See the -# individual implementations for details. -func_hookable func_options -func_options () -{ - $debug_cmd - - func_options_prep ${1+"$@"} - eval func_parse_options \ - ${func_options_prep_result+"$func_options_prep_result"} - eval func_validate_options \ - ${func_parse_options_result+"$func_parse_options_result"} - - eval func_run_hooks func_options \ - ${func_validate_options_result+"$func_validate_options_result"} - - # save modified positional parameters for caller - func_options_result=$func_run_hooks_result -} - - -# func_options_prep [ARG]... -# -------------------------- -# All initialisations required before starting the option parse loop. -# Note that when calling hook functions, we pass through the list of -# positional parameters. If a hook function modifies that list, and -# needs to propogate that back to rest of this script, then the complete -# modified list must be put in 'func_run_hooks_result' before -# returning. -func_hookable func_options_prep -func_options_prep () -{ - $debug_cmd - - # Option defaults: - opt_verbose=false - opt_warning_types= - - func_run_hooks func_options_prep ${1+"$@"} - - # save modified positional parameters for caller - func_options_prep_result=$func_run_hooks_result -} - - -# func_parse_options [ARG]... -# --------------------------- -# The main option parsing loop. -func_hookable func_parse_options -func_parse_options () -{ - $debug_cmd - - func_parse_options_result= - - # this just eases exit handling - while test $# -gt 0; do - # Defer to hook functions for initial option parsing, so they - # get priority in the event of reusing an option name. - func_run_hooks func_parse_options ${1+"$@"} - - # Adjust func_parse_options positional parameters to match - eval set dummy "$func_run_hooks_result"; shift - - # Break out of the loop if we already parsed every option. - test $# -gt 0 || break - - _G_opt=$1 - shift - case $_G_opt in - --debug|-x) debug_cmd='set -x' - func_echo "enabling shell trace mode" - $debug_cmd - ;; - - --no-warnings|--no-warning|--no-warn) - set dummy --warnings none ${1+"$@"} - shift - ;; - - --warnings|--warning|-W) - test $# = 0 && func_missing_arg $_G_opt && break - case " $warning_categories $1" in - *" $1 "*) - # trailing space prevents matching last $1 above - func_append_uniq opt_warning_types " $1" - ;; - *all) - opt_warning_types=$warning_categories - ;; - *none) - opt_warning_types=none - warning_func=: - ;; - *error) - opt_warning_types=$warning_categories - warning_func=func_fatal_error - ;; - *) - func_fatal_error \ - "unsupported warning category: '$1'" - ;; - esac - shift - ;; - - --verbose|-v) opt_verbose=: ;; - --version) func_version ;; - -\?|-h) func_usage ;; - --help) func_help ;; - - # Separate optargs to long options (plugins may need this): - --*=*) func_split_equals "$_G_opt" - set dummy "$func_split_equals_lhs" \ - "$func_split_equals_rhs" ${1+"$@"} - shift - ;; - - # Separate optargs to short options: - -W*) - func_split_short_opt "$_G_opt" - set dummy "$func_split_short_opt_name" \ - "$func_split_short_opt_arg" ${1+"$@"} - shift - ;; - - # Separate non-argument short options: - -\?*|-h*|-v*|-x*) - func_split_short_opt "$_G_opt" - set dummy "$func_split_short_opt_name" \ - "-$func_split_short_opt_arg" ${1+"$@"} - shift - ;; - - --) break ;; - -*) func_fatal_help "unrecognised option: '$_G_opt'" ;; - *) set dummy "$_G_opt" ${1+"$@"}; shift; break ;; - esac - done - - # save modified positional parameters for caller - func_quote_for_eval ${1+"$@"} - func_parse_options_result=$func_quote_for_eval_result -} - - -# func_validate_options [ARG]... -# ------------------------------ -# Perform any sanity checks on option settings and/or unconsumed -# arguments. -func_hookable func_validate_options -func_validate_options () -{ - $debug_cmd - - # Display all warnings if -W was not given. - test -n "$opt_warning_types" || opt_warning_types=" $warning_categories" - - func_run_hooks func_validate_options ${1+"$@"} - - # Bail if the options were screwed! - $exit_cmd $EXIT_FAILURE - - # save modified positional parameters for caller - func_validate_options_result=$func_run_hooks_result -} - - - -## ----------------- ## -## Helper functions. ## -## ----------------- ## - -# This section contains the helper functions used by the rest of the -# hookable option parser framework in ascii-betical order. - - -# func_fatal_help ARG... -# ---------------------- -# Echo program name prefixed message to standard error, followed by -# a help hint, and exit. -func_fatal_help () -{ - $debug_cmd - - eval \$ECHO \""Usage: $usage"\" - eval \$ECHO \""$fatal_help"\" - func_error ${1+"$@"} - exit $EXIT_FAILURE -} - - -# func_help -# --------- -# Echo long help message to standard output and exit. -func_help () -{ - $debug_cmd - - func_usage_message - $ECHO "$long_help_message" - exit 0 -} - - -# func_missing_arg ARGNAME -# ------------------------ -# Echo program name prefixed message to standard error and set global -# exit_cmd. -func_missing_arg () -{ - $debug_cmd - - func_error "Missing argument for '$1'." - exit_cmd=exit -} - - -# func_split_equals STRING -# ------------------------ -# Set func_split_equals_lhs and func_split_equals_rhs shell variables after -# splitting STRING at the '=' sign. -test -z "$_G_HAVE_XSI_OPS" \ - && (eval 'x=a/b/c; - test 5aa/bb/cc = "${#x}${x%%/*}${x%/*}${x#*/}${x##*/}"') 2>/dev/null \ - && _G_HAVE_XSI_OPS=yes - -if test yes = "$_G_HAVE_XSI_OPS" -then - # This is an XSI compatible shell, allowing a faster implementation... - eval 'func_split_equals () - { - $debug_cmd - - func_split_equals_lhs=${1%%=*} - func_split_equals_rhs=${1#*=} - test "x$func_split_equals_lhs" = "x$1" \ - && func_split_equals_rhs= - }' -else - # ...otherwise fall back to using expr, which is often a shell builtin. - func_split_equals () - { - $debug_cmd - - func_split_equals_lhs=`expr "x$1" : 'x\([^=]*\)'` - func_split_equals_rhs= - test "x$func_split_equals_lhs" = "x$1" \ - || func_split_equals_rhs=`expr "x$1" : 'x[^=]*=\(.*\)$'` - } -fi #func_split_equals - - -# func_split_short_opt SHORTOPT -# ----------------------------- -# Set func_split_short_opt_name and func_split_short_opt_arg shell -# variables after splitting SHORTOPT after the 2nd character. -if test yes = "$_G_HAVE_XSI_OPS" -then - # This is an XSI compatible shell, allowing a faster implementation... - eval 'func_split_short_opt () - { - $debug_cmd - - func_split_short_opt_arg=${1#??} - func_split_short_opt_name=${1%"$func_split_short_opt_arg"} - }' -else - # ...otherwise fall back to using expr, which is often a shell builtin. - func_split_short_opt () - { - $debug_cmd - - func_split_short_opt_name=`expr "x$1" : 'x-\(.\)'` - func_split_short_opt_arg=`expr "x$1" : 'x-.\(.*\)$'` - } -fi #func_split_short_opt - - -# func_usage -# ---------- -# Echo short help message to standard output and exit. -func_usage () -{ - $debug_cmd - - func_usage_message - $ECHO "Run '$progname --help |${PAGER-more}' for full usage" - exit 0 -} - - -# func_usage_message -# ------------------ -# Echo short help message to standard output. -func_usage_message () -{ - $debug_cmd - - eval \$ECHO \""Usage: $usage"\" - echo - $SED -n 's|^# || - /^Written by/{ - x;p;x - } - h - /^Written by/q' < "$progpath" - echo - eval \$ECHO \""$usage_message"\" -} - - -# func_version -# ------------ -# Echo version message to standard output and exit. -func_version () -{ - $debug_cmd - - printf '%s\n' "$progname $scriptversion" - $SED -n ' - /(C)/!b go - :more - /\./!{ - N - s|\n# | | - b more - } - :go - /^# Written by /,/# warranty; / { - s|^# || - s|^# *$|| - s|\((C)\)[ 0-9,-]*[ ,-]\([1-9][0-9]* \)|\1 \2| - p - } - /^# Written by / { - s|^# || - p - } - /^warranty; /q' < "$progpath" - - exit $? -} - - -# Local variables: -# mode: shell-script -# sh-indentation: 2 -# eval: (add-hook 'before-save-hook 'time-stamp) -# time-stamp-pattern: "10/scriptversion=%:y-%02m-%02d.%02H; # UTC" -# time-stamp-time-zone: "UTC" -# End: - -# Set a version string. -scriptversion='(GNU libtool) 2.4.6' - - -# func_echo ARG... -# ---------------- -# Libtool also displays the current mode in messages, so override -# funclib.sh func_echo with this custom definition. -func_echo () -{ - $debug_cmd - - _G_message=$* - - func_echo_IFS=$IFS - IFS=$nl - for _G_line in $_G_message; do - IFS=$func_echo_IFS - $ECHO "$progname${opt_mode+: $opt_mode}: $_G_line" - done - IFS=$func_echo_IFS -} - - -# func_warning ARG... -# ------------------- -# Libtool warnings are not categorized, so override funclib.sh -# func_warning with this simpler definition. -func_warning () -{ - $debug_cmd - - $warning_func ${1+"$@"} -} - - -## ---------------- ## -## Options parsing. ## -## ---------------- ## - -# Hook in the functions to make sure our own options are parsed during -# the option parsing loop. - -usage='$progpath [OPTION]... [MODE-ARG]...' - -# Short help message in response to '-h'. -usage_message="Options: - --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 - --no-warnings equivalent to '-Wnone' - --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 more informational messages than default - --version print version information - -W, --warnings=CATEGORY report the warnings falling in CATEGORY [all] - -h, --help, --help-all print short, long, or detailed help message -" - -# Additional text appended to 'usage_message' in response to '--help'. -func_help () -{ - $debug_cmd - - func_usage_message - $ECHO "$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. When passed as first option, -'--mode=MODE' may be abbreviated as 'MODE' or a unique abbreviation of that. -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) - version: $progname $scriptversion Debian-2.4.6-2 - automake: `($AUTOMAKE --version) 2>/dev/null |$SED 1q` - autoconf: `($AUTOCONF --version) 2>/dev/null |$SED 1q` - -Report bugs to . -GNU libtool home page: . -General help using GNU software: ." - exit 0 -} - - -# func_lo2o OBJECT-NAME -# --------------------- -# Transform OBJECT-NAME from a '.lo' suffix to the platform specific -# object suffix. - -lo2o=s/\\.lo\$/.$objext/ -o2lo=s/\\.$objext\$/.lo/ - -if test yes = "$_G_HAVE_XSI_OPS"; then - eval 'func_lo2o () - { - case $1 in - *.lo) func_lo2o_result=${1%.lo}.$objext ;; - * ) func_lo2o_result=$1 ;; - esac - }' - - # func_xform LIBOBJ-OR-SOURCE - # --------------------------- - # Transform LIBOBJ-OR-SOURCE from a '.o' or '.c' (or otherwise) - # suffix to a '.lo' libtool-object suffix. - eval 'func_xform () - { - func_xform_result=${1%.*}.lo - }' -else - # ...otherwise fall back to using sed. - func_lo2o () - { - func_lo2o_result=`$ECHO "$1" | $SED "$lo2o"` - } - - func_xform () - { - func_xform_result=`$ECHO "$1" | $SED 's|\.[^.]*$|.lo|'` - } -fi - - -# func_fatal_configuration ARG... -# ------------------------------- -# Echo program name prefixed message to standard error, followed by -# a configuration failure hint, and exit. -func_fatal_configuration () -{ - func__fatal_error ${1+"$@"} \ - "See the $PACKAGE documentation for more information." \ - "Fatal configuration error." -} - - -# func_config -# ----------- -# Display the configuration for all the tags in this script. -func_config () -{ - re_begincf='^# ### BEGIN LIBTOOL' - re_endcf='^# ### END LIBTOOL' - - # Default configuration. - $SED "1,/$re_begincf CONFIG/d;/$re_endcf CONFIG/,\$d" < "$progpath" - - # Now print the configurations for the tags. - for tagname in $taglist; do - $SED -n "/$re_begincf TAG CONFIG: $tagname\$/,/$re_endcf TAG CONFIG: $tagname\$/p" < "$progpath" - done - - exit $? -} - - -# func_features -# ------------- -# Display the features supported by this script. -func_features () -{ - echo "host: $host" - if test yes = "$build_libtool_libs"; then - echo "enable shared libraries" - else - echo "disable shared libraries" - fi - if test yes = "$build_old_libs"; then - echo "enable static libraries" - else - echo "disable static libraries" - fi - - exit $? -} - - -# func_enable_tag TAGNAME -# ----------------------- -# Verify that TAGNAME is valid, and either flag an error and exit, or -# enable the TAGNAME tag. We also add TAGNAME to the global $taglist -# variable here. -func_enable_tag () -{ - # Global variable: - tagname=$1 - - re_begincf="^# ### BEGIN LIBTOOL TAG CONFIG: $tagname\$" - re_endcf="^# ### END LIBTOOL TAG CONFIG: $tagname\$" - sed_extractcf=/$re_begincf/,/$re_endcf/p - - # Validate tagname. - case $tagname in - *[!-_A-Za-z0-9,/]*) - func_fatal_error "invalid tag name: $tagname" - ;; - esac - - # Don't test for the "default" C tag, as we know it's - # there but not specially marked. - case $tagname in - CC) ;; - *) - if $GREP "$re_begincf" "$progpath" >/dev/null 2>&1; then - taglist="$taglist $tagname" - - # 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 -} - - -# 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 -} - - -# libtool_options_prep [ARG]... -# ----------------------------- -# Preparation for options parsed by libtool. -libtool_options_prep () -{ - $debug_mode - - # Option defaults: - opt_config=false - opt_dlopen= - opt_dry_run=false - opt_help=false - opt_mode= - opt_preserve_dup_deps=false - opt_quiet=false - - nonopt= - preserve_args= - - # 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 - - # Pass back the list of options. - func_quote_for_eval ${1+"$@"} - libtool_options_prep_result=$func_quote_for_eval_result -} -func_add_hook func_options_prep libtool_options_prep - - -# libtool_parse_options [ARG]... -# --------------------------------- -# Provide handling for libtool specific options. -libtool_parse_options () -{ - $debug_cmd - - # Perform our own loop to consume as many options as possible in - # each iteration. - while test $# -gt 0; do - _G_opt=$1 - shift - case $_G_opt in - --dry-run|--dryrun|-n) - opt_dry_run=: - ;; - - --config) func_config ;; - - --dlopen|-dlopen) - opt_dlopen="${opt_dlopen+$opt_dlopen -}$1" - shift - ;; - - --preserve-dup-deps) - opt_preserve_dup_deps=: ;; - - --features) func_features ;; - - --finish) set dummy --mode finish ${1+"$@"}; shift ;; - - --help) opt_help=: ;; - - --help-all) opt_help=': help-all' ;; - - --mode) test $# = 0 && func_missing_arg $_G_opt && break - opt_mode=$1 - 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 $_G_opt" - exit_cmd=exit - break - ;; - esac - shift - ;; - - --no-silent|--no-quiet) - opt_quiet=false - func_append preserve_args " $_G_opt" - ;; - - --no-warnings|--no-warning|--no-warn) - opt_warning=false - func_append preserve_args " $_G_opt" - ;; - - --no-verbose) - opt_verbose=false - func_append preserve_args " $_G_opt" - ;; - - --silent|--quiet) - opt_quiet=: - opt_verbose=false - func_append preserve_args " $_G_opt" - ;; - - --tag) test $# = 0 && func_missing_arg $_G_opt && break - opt_tag=$1 - func_append preserve_args " $_G_opt $1" - func_enable_tag "$1" - shift - ;; - - --verbose|-v) opt_quiet=false - opt_verbose=: - func_append preserve_args " $_G_opt" - ;; - - # An option not handled by this hook function: - *) set dummy "$_G_opt" ${1+"$@"}; shift; break ;; - esac - done - - - # save modified positional parameters for caller - func_quote_for_eval ${1+"$@"} - libtool_parse_options_result=$func_quote_for_eval_result -} -func_add_hook func_parse_options libtool_parse_options - - - -# libtool_validate_options [ARG]... -# --------------------------------- -# Perform any sanity checks on option settings and/or unconsumed -# arguments. -libtool_validate_options () -{ - # save first non-option argument - if test 0 -lt $#; then - nonopt=$1 - shift - fi - - # preserve --debug - test : = "$debug_cmd" || func_append preserve_args " --debug" - - case $host in - # Solaris2 added to fix http://debbugs.gnu.org/cgi/bugreport.cgi?bug=16452 - # see also: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59788 - *cygwin* | *mingw* | *pw32* | *cegcc* | *solaris2* | *os2*) - # don't eliminate duplications in $postdeps and $predeps - opt_duplicate_compiler_generated_deps=: - ;; - *) - opt_duplicate_compiler_generated_deps=$opt_preserve_dup_deps - ;; - esac - - $opt_help || { - # Sanity checks first: - func_check_version_match - - test yes != "$build_libtool_libs" \ - && test yes != "$build_old_libs" \ - && func_fatal_configuration "not configured to build any kind of library" - - # Darwin sucks - eval std_shrext=\"$shrext_cmds\" - - # Only execute mode is allowed to have -dlopen flags. - if test -n "$opt_dlopen" && test execute != "$opt_mode"; 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=$opt_mode' for more information." - } - - # Pass back the unparsed argument list - func_quote_for_eval ${1+"$@"} - libtool_validate_options_result=$func_quote_for_eval_result -} -func_add_hook func_validate_options libtool_validate_options - - -# Process options as early as possible so that --help and --version -# can return quickly. -func_options ${1+"$@"} -eval set dummy "$func_options_result"; shift - - - -## ----------- ## -## Main. ## -## ----------- ## - -magic='%%%MAGIC variable%%%' -magic_exe='%%%MAGIC EXE variable%%%' - -# Global variables. -extracted_archives= -extracted_serial=0 - -# If this variable is set in any of the actions, the command in it -# will be execed at the end. This prevents here-documents from being -# left over by shells. -exec_cmd= - - -# A function that is used when there is no print builtin or printf. -func_fallback_echo () -{ - eval 'cat <<_LTECHO_EOF -$1 -_LTECHO_EOF' -} - -# func_generated_by_libtool -# True iff stdin has been generated by Libtool. This function is only -# a basic sanity check; it will hardly flush out determined imposters. -func_generated_by_libtool_p () -{ - $GREP "^# Generated by .*$PACKAGE" > /dev/null 2>&1 -} - -# 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 | func_generated_by_libtool_p -} - -# 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 yes = "$lalib_p" -} - -# 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 () -{ - test -f "$1" && - $lt_truncate_bin < "$1" 2>/dev/null | func_generated_by_libtool_p -} - -# 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_dirname_and_basename "$1" "" "." - func_stripname '' '.exe' "$func_basename_result" - func_ltwrapper_scriptname_result=$func_dirname_result/$objdir/${func_stripname_result}_ltshwrapper -} - -# 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 () -{ - $debug_cmd - - save_ifs=$IFS; IFS='~' - for cmd in $1; do - IFS=$sp$nl - eval cmd=\"$cmd\" - IFS=$save_ifs - 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 () -{ - $debug_cmd - - case $1 in - */* | *\\*) . "$1" ;; - *) . "./$1" ;; - esac -} - - -# func_resolve_sysroot PATH -# Replace a leading = in PATH with a sysroot. Store the result into -# func_resolve_sysroot_result -func_resolve_sysroot () -{ - func_resolve_sysroot_result=$1 - case $func_resolve_sysroot_result in - =*) - func_stripname '=' '' "$func_resolve_sysroot_result" - func_resolve_sysroot_result=$lt_sysroot$func_stripname_result - ;; - esac -} - -# func_replace_sysroot PATH -# If PATH begins with the sysroot, replace it with = and -# store the result into func_replace_sysroot_result. -func_replace_sysroot () -{ - case $lt_sysroot:$1 in - ?*:"$lt_sysroot"*) - func_stripname "$lt_sysroot" '' "$1" - func_replace_sysroot_result='='$func_stripname_result - ;; - *) - # Including no sysroot. - func_replace_sysroot_result=$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 () -{ - $debug_cmd - - if test -n "$available_tags" && test -z "$tagname"; then - CC_quoted= - for arg in $CC; do - func_append_quoted CC_quoted "$arg" - done - CC_expanded=`func_echo_all $CC` - CC_quoted_expanded=`func_echo_all $CC_quoted` - 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 "* | " $CC_expanded "* | "$CC_expanded "* | \ - " $CC_quoted"* | "$CC_quoted "* | " $CC_quoted_expanded "* | "$CC_quoted_expanded "*) ;; - # 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_append_quoted CC_quoted "$arg" - done - CC_expanded=`func_echo_all $CC` - CC_quoted_expanded=`func_echo_all $CC_quoted` - case "$@ " in - " $CC "* | "$CC "* | " $CC_expanded "* | "$CC_expanded "* | \ - " $CC_quoted"* | "$CC_quoted "* | " $CC_quoted_expanded "* | "$CC_quoted_expanded "*) - # 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 yes = "$build_libtool_libs"; then - write_lobj=\'$2\' - else - write_lobj=none - fi - - if test yes = "$build_old_libs"; then - write_oldobj=\'$3\' - else - write_oldobj=none - fi - - $opt_dry_run || { - cat >${write_libobj}T </dev/null` - if test "$?" -eq 0 && test -n "$func_convert_core_file_wine_to_w32_tmp"; then - func_convert_core_file_wine_to_w32_result=`$ECHO "$func_convert_core_file_wine_to_w32_tmp" | - $SED -e "$sed_naive_backslashify"` - else - func_convert_core_file_wine_to_w32_result= - fi - fi -} -# end: func_convert_core_file_wine_to_w32 - - -# func_convert_core_path_wine_to_w32 ARG -# Helper function used by path conversion functions when $build is *nix, and -# $host is mingw, cygwin, or some other w32 environment. Relies on a correctly -# configured wine environment available, with the winepath program in $build's -# $PATH. Assumes ARG has no leading or trailing path separator characters. -# -# ARG is path to be converted from $build format to win32. -# Result is available in $func_convert_core_path_wine_to_w32_result. -# Unconvertible file (directory) names in ARG are skipped; if no directory names -# are convertible, then the result may be empty. -func_convert_core_path_wine_to_w32 () -{ - $debug_cmd - - # unfortunately, winepath doesn't convert paths, only file names - func_convert_core_path_wine_to_w32_result= - if test -n "$1"; then - oldIFS=$IFS - IFS=: - for func_convert_core_path_wine_to_w32_f in $1; do - IFS=$oldIFS - func_convert_core_file_wine_to_w32 "$func_convert_core_path_wine_to_w32_f" - if test -n "$func_convert_core_file_wine_to_w32_result"; then - if test -z "$func_convert_core_path_wine_to_w32_result"; then - func_convert_core_path_wine_to_w32_result=$func_convert_core_file_wine_to_w32_result - else - func_append func_convert_core_path_wine_to_w32_result ";$func_convert_core_file_wine_to_w32_result" - fi - fi - done - IFS=$oldIFS - fi -} -# end: func_convert_core_path_wine_to_w32 - - -# func_cygpath ARGS... -# Wrapper around calling the cygpath program via LT_CYGPATH. This is used when -# when (1) $build is *nix and Cygwin is hosted via a wine environment; or (2) -# $build is MSYS and $host is Cygwin, or (3) $build is Cygwin. In case (1) or -# (2), returns the Cygwin file name or path in func_cygpath_result (input -# file name or path is assumed to be in w32 format, as previously converted -# from $build's *nix or MSYS format). In case (3), returns the w32 file name -# or path in func_cygpath_result (input file name or path is assumed to be in -# Cygwin format). Returns an empty string on error. -# -# ARGS are passed to cygpath, with the last one being the file name or path to -# be converted. -# -# Specify the absolute *nix (or w32) name to cygpath in the LT_CYGPATH -# environment variable; do not put it in $PATH. -func_cygpath () -{ - $debug_cmd - - if test -n "$LT_CYGPATH" && test -f "$LT_CYGPATH"; then - func_cygpath_result=`$LT_CYGPATH "$@" 2>/dev/null` - if test "$?" -ne 0; then - # on failure, ensure result is empty - func_cygpath_result= - fi - else - func_cygpath_result= - func_error "LT_CYGPATH is empty or specifies non-existent file: '$LT_CYGPATH'" - fi -} -#end: func_cygpath - - -# func_convert_core_msys_to_w32 ARG -# Convert file name or path ARG from MSYS format to w32 format. Return -# result in func_convert_core_msys_to_w32_result. -func_convert_core_msys_to_w32 () -{ - $debug_cmd - - # awkward: cmd appends spaces to result - func_convert_core_msys_to_w32_result=`( cmd //c echo "$1" ) 2>/dev/null | - $SED -e 's/[ ]*$//' -e "$sed_naive_backslashify"` -} -#end: func_convert_core_msys_to_w32 - - -# func_convert_file_check ARG1 ARG2 -# Verify that ARG1 (a file name in $build format) was converted to $host -# format in ARG2. Otherwise, emit an error message, but continue (resetting -# func_to_host_file_result to ARG1). -func_convert_file_check () -{ - $debug_cmd - - if test -z "$2" && test -n "$1"; then - func_error "Could not determine host file name corresponding to" - func_error " '$1'" - func_error "Continuing, but uninstalled executables may not work." - # Fallback: - func_to_host_file_result=$1 - fi -} -# end func_convert_file_check - - -# func_convert_path_check FROM_PATHSEP TO_PATHSEP FROM_PATH TO_PATH -# Verify that FROM_PATH (a path in $build format) was converted to $host -# format in TO_PATH. Otherwise, emit an error message, but continue, resetting -# func_to_host_file_result to a simplistic fallback value (see below). -func_convert_path_check () -{ - $debug_cmd - - if test -z "$4" && test -n "$3"; then - func_error "Could not determine the host path corresponding to" - func_error " '$3'" - func_error "Continuing, but uninstalled executables may not work." - # Fallback. This is a deliberately simplistic "conversion" and - # should not be "improved". See libtool.info. - if test "x$1" != "x$2"; then - lt_replace_pathsep_chars="s|$1|$2|g" - func_to_host_path_result=`echo "$3" | - $SED -e "$lt_replace_pathsep_chars"` - else - func_to_host_path_result=$3 - fi - fi -} -# end func_convert_path_check - - -# func_convert_path_front_back_pathsep FRONTPAT BACKPAT REPL ORIG -# Modifies func_to_host_path_result by prepending REPL if ORIG matches FRONTPAT -# and appending REPL if ORIG matches BACKPAT. -func_convert_path_front_back_pathsep () -{ - $debug_cmd - - case $4 in - $1 ) func_to_host_path_result=$3$func_to_host_path_result - ;; - esac - case $4 in - $2 ) func_append func_to_host_path_result "$3" - ;; - esac -} -# end func_convert_path_front_back_pathsep - - -################################################## -# $build to $host FILE NAME CONVERSION FUNCTIONS # -################################################## -# invoked via '$to_host_file_cmd ARG' -# -# In each case, ARG is the path to be converted from $build to $host format. -# Result will be available in $func_to_host_file_result. - - -# func_to_host_file ARG -# Converts the file name ARG from $build format to $host format. Return result -# in func_to_host_file_result. -func_to_host_file () -{ - $debug_cmd - - $to_host_file_cmd "$1" -} -# end func_to_host_file - - -# func_to_tool_file ARG LAZY -# converts the file name ARG from $build format to toolchain format. Return -# result in func_to_tool_file_result. If the conversion in use is listed -# in (the comma separated) LAZY, no conversion takes place. -func_to_tool_file () -{ - $debug_cmd - - case ,$2, in - *,"$to_tool_file_cmd",*) - func_to_tool_file_result=$1 - ;; - *) - $to_tool_file_cmd "$1" - func_to_tool_file_result=$func_to_host_file_result - ;; - esac -} -# end func_to_tool_file - - -# func_convert_file_noop ARG -# Copy ARG to func_to_host_file_result. -func_convert_file_noop () -{ - func_to_host_file_result=$1 -} -# end func_convert_file_noop - - -# func_convert_file_msys_to_w32 ARG -# Convert file name ARG from (mingw) MSYS to (mingw) w32 format; automatic -# conversion to w32 is not available inside the cwrapper. Returns result in -# func_to_host_file_result. -func_convert_file_msys_to_w32 () -{ - $debug_cmd - - func_to_host_file_result=$1 - if test -n "$1"; then - func_convert_core_msys_to_w32 "$1" - func_to_host_file_result=$func_convert_core_msys_to_w32_result - fi - func_convert_file_check "$1" "$func_to_host_file_result" -} -# end func_convert_file_msys_to_w32 - - -# func_convert_file_cygwin_to_w32 ARG -# Convert file name ARG from Cygwin to w32 format. Returns result in -# func_to_host_file_result. -func_convert_file_cygwin_to_w32 () -{ - $debug_cmd - - func_to_host_file_result=$1 - if test -n "$1"; then - # because $build is cygwin, we call "the" cygpath in $PATH; no need to use - # LT_CYGPATH in this case. - func_to_host_file_result=`cygpath -m "$1"` - fi - func_convert_file_check "$1" "$func_to_host_file_result" -} -# end func_convert_file_cygwin_to_w32 - - -# func_convert_file_nix_to_w32 ARG -# Convert file name ARG from *nix to w32 format. Requires a wine environment -# and a working winepath. Returns result in func_to_host_file_result. -func_convert_file_nix_to_w32 () -{ - $debug_cmd - - func_to_host_file_result=$1 - if test -n "$1"; then - func_convert_core_file_wine_to_w32 "$1" - func_to_host_file_result=$func_convert_core_file_wine_to_w32_result - fi - func_convert_file_check "$1" "$func_to_host_file_result" -} -# end func_convert_file_nix_to_w32 - - -# func_convert_file_msys_to_cygwin ARG -# Convert file name ARG from MSYS to Cygwin format. Requires LT_CYGPATH set. -# Returns result in func_to_host_file_result. -func_convert_file_msys_to_cygwin () -{ - $debug_cmd - - func_to_host_file_result=$1 - if test -n "$1"; then - func_convert_core_msys_to_w32 "$1" - func_cygpath -u "$func_convert_core_msys_to_w32_result" - func_to_host_file_result=$func_cygpath_result - fi - func_convert_file_check "$1" "$func_to_host_file_result" -} -# end func_convert_file_msys_to_cygwin - - -# func_convert_file_nix_to_cygwin ARG -# Convert file name ARG from *nix to Cygwin format. Requires Cygwin installed -# in a wine environment, working winepath, and LT_CYGPATH set. Returns result -# in func_to_host_file_result. -func_convert_file_nix_to_cygwin () -{ - $debug_cmd - - func_to_host_file_result=$1 - if test -n "$1"; then - # convert from *nix to w32, then use cygpath to convert from w32 to cygwin. - func_convert_core_file_wine_to_w32 "$1" - func_cygpath -u "$func_convert_core_file_wine_to_w32_result" - func_to_host_file_result=$func_cygpath_result - fi - func_convert_file_check "$1" "$func_to_host_file_result" -} -# end func_convert_file_nix_to_cygwin - - -############################################# -# $build to $host PATH CONVERSION FUNCTIONS # -############################################# -# invoked via '$to_host_path_cmd ARG' -# -# In each case, ARG is the path to be converted from $build to $host format. -# The result will be available in $func_to_host_path_result. -# -# 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. -# -# All path conversion functions are named using the following convention: -# file name conversion function : func_convert_file_X_to_Y () -# path conversion function : func_convert_path_X_to_Y () -# where, for any given $build/$host combination the 'X_to_Y' value is the -# same. If conversion functions are added for new $build/$host combinations, -# the two new functions must follow this pattern, or func_init_to_host_path_cmd -# will break. - - -# func_init_to_host_path_cmd -# Ensures that function "pointer" variable $to_host_path_cmd is set to the -# appropriate value, based on the value of $to_host_file_cmd. -to_host_path_cmd= -func_init_to_host_path_cmd () -{ - $debug_cmd - - if test -z "$to_host_path_cmd"; then - func_stripname 'func_convert_file_' '' "$to_host_file_cmd" - to_host_path_cmd=func_convert_path_$func_stripname_result - fi -} - - -# func_to_host_path ARG -# Converts the path ARG from $build format to $host format. Return result -# in func_to_host_path_result. -func_to_host_path () -{ - $debug_cmd - - func_init_to_host_path_cmd - $to_host_path_cmd "$1" -} -# end func_to_host_path - - -# func_convert_path_noop ARG -# Copy ARG to func_to_host_path_result. -func_convert_path_noop () -{ - func_to_host_path_result=$1 -} -# end func_convert_path_noop - - -# func_convert_path_msys_to_w32 ARG -# Convert path ARG from (mingw) MSYS to (mingw) w32 format; automatic -# conversion to w32 is not available inside the cwrapper. Returns result in -# func_to_host_path_result. -func_convert_path_msys_to_w32 () -{ - $debug_cmd - - func_to_host_path_result=$1 - if test -n "$1"; then - # 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_stripname : : "$1" - func_to_host_path_tmp1=$func_stripname_result - func_convert_core_msys_to_w32 "$func_to_host_path_tmp1" - func_to_host_path_result=$func_convert_core_msys_to_w32_result - func_convert_path_check : ";" \ - "$func_to_host_path_tmp1" "$func_to_host_path_result" - func_convert_path_front_back_pathsep ":*" "*:" ";" "$1" - fi -} -# end func_convert_path_msys_to_w32 - - -# func_convert_path_cygwin_to_w32 ARG -# Convert path ARG from Cygwin to w32 format. Returns result in -# func_to_host_file_result. -func_convert_path_cygwin_to_w32 () -{ - $debug_cmd - - func_to_host_path_result=$1 - if test -n "$1"; then - # See func_convert_path_msys_to_w32: - func_stripname : : "$1" - func_to_host_path_tmp1=$func_stripname_result - func_to_host_path_result=`cygpath -m -p "$func_to_host_path_tmp1"` - func_convert_path_check : ";" \ - "$func_to_host_path_tmp1" "$func_to_host_path_result" - func_convert_path_front_back_pathsep ":*" "*:" ";" "$1" - fi -} -# end func_convert_path_cygwin_to_w32 - - -# func_convert_path_nix_to_w32 ARG -# Convert path ARG from *nix to w32 format. Requires a wine environment and -# a working winepath. Returns result in func_to_host_file_result. -func_convert_path_nix_to_w32 () -{ - $debug_cmd - - func_to_host_path_result=$1 - if test -n "$1"; then - # See func_convert_path_msys_to_w32: - func_stripname : : "$1" - func_to_host_path_tmp1=$func_stripname_result - func_convert_core_path_wine_to_w32 "$func_to_host_path_tmp1" - func_to_host_path_result=$func_convert_core_path_wine_to_w32_result - func_convert_path_check : ";" \ - "$func_to_host_path_tmp1" "$func_to_host_path_result" - func_convert_path_front_back_pathsep ":*" "*:" ";" "$1" - fi -} -# end func_convert_path_nix_to_w32 - - -# func_convert_path_msys_to_cygwin ARG -# Convert path ARG from MSYS to Cygwin format. Requires LT_CYGPATH set. -# Returns result in func_to_host_file_result. -func_convert_path_msys_to_cygwin () -{ - $debug_cmd - - func_to_host_path_result=$1 - if test -n "$1"; then - # See func_convert_path_msys_to_w32: - func_stripname : : "$1" - func_to_host_path_tmp1=$func_stripname_result - func_convert_core_msys_to_w32 "$func_to_host_path_tmp1" - func_cygpath -u -p "$func_convert_core_msys_to_w32_result" - func_to_host_path_result=$func_cygpath_result - func_convert_path_check : : \ - "$func_to_host_path_tmp1" "$func_to_host_path_result" - func_convert_path_front_back_pathsep ":*" "*:" : "$1" - fi -} -# end func_convert_path_msys_to_cygwin - - -# func_convert_path_nix_to_cygwin ARG -# Convert path ARG from *nix to Cygwin format. Requires Cygwin installed in a -# a wine environment, working winepath, and LT_CYGPATH set. Returns result in -# func_to_host_file_result. -func_convert_path_nix_to_cygwin () -{ - $debug_cmd - - func_to_host_path_result=$1 - if test -n "$1"; then - # 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_stripname : : "$1" - func_to_host_path_tmp1=$func_stripname_result - func_convert_core_path_wine_to_w32 "$func_to_host_path_tmp1" - func_cygpath -u -p "$func_convert_core_path_wine_to_w32_result" - func_to_host_path_result=$func_cygpath_result - func_convert_path_check : : \ - "$func_to_host_path_tmp1" "$func_to_host_path_result" - func_convert_path_front_back_pathsep ":*" "*:" : "$1" - fi -} -# end func_convert_path_nix_to_cygwin - - -# func_dll_def_p FILE -# True iff FILE is a Windows DLL '.def' file. -# Keep in sync with _LT_DLL_DEF_P in libtool.m4 -func_dll_def_p () -{ - $debug_cmd - - func_dll_def_p_tmp=`$SED -n \ - -e 's/^[ ]*//' \ - -e '/^\(;.*\)*$/d' \ - -e 's/^\(EXPORTS\|LIBRARY\)\([ ].*\)*$/DEF/p' \ - -e q \ - "$1"` - test DEF = "$func_dll_def_p_tmp" -} - - -# func_mode_compile arg... -func_mode_compile () -{ - $debug_cmd - - # Get the compilation command and the source file. - base_compile= - srcfile=$nonopt # always keep a non-empty value in "srcfile" - suppress_opt=yes - suppress_output= - arg_mode=normal - libobj= - later= - pie_flag= - - for arg - do - case $arg_mode in - arg ) - # do not "continue". Instead, add this to base_compile - lastarg=$arg - arg_mode=normal - ;; - - target ) - libobj=$arg - arg_mode=normal - continue - ;; - - normal ) - # Accept any command-line options. - case $arg in - -o) - test -n "$libobj" && \ - func_fatal_error "you cannot specify '-o' more than once" - arg_mode=target - continue - ;; - - -pie | -fpie | -fPIE) - func_append pie_flag " $arg" - continue - ;; - - -shared | -static | -prefer-pic | -prefer-non-pic) - func_append later " $arg" - continue - ;; - - -no-suppress) - suppress_opt=no - continue - ;; - - -Xcompiler) - arg_mode=arg # the next one goes into the "base_compile" arg list - continue # The current "srcfile" will either be retained or - ;; # replaced later. I would guess that would be a bug. - - -Wc,*) - func_stripname '-Wc,' '' "$arg" - args=$func_stripname_result - lastarg= - save_ifs=$IFS; IFS=, - for arg in $args; do - IFS=$save_ifs - func_append_quoted lastarg "$arg" - done - IFS=$save_ifs - func_stripname ' ' '' "$lastarg" - lastarg=$func_stripname_result - - # Add the arguments to base_compile. - func_append base_compile " $lastarg" - continue - ;; - - *) - # Accept the current argument as the source file. - # The previous "srcfile" becomes the current argument. - # - lastarg=$srcfile - srcfile=$arg - ;; - esac # case $arg - ;; - esac # case $arg_mode - - # Aesthetically quote the previous argument. - func_append_quoted base_compile "$lastarg" - done # for arg - - case $arg_mode in - arg) - func_fatal_error "you must specify an argument for -Xcompile" - ;; - target) - func_fatal_error "you must specify a target with '-o'" - ;; - *) - # Get the name of the library object. - test -z "$libobj" && { - func_basename "$srcfile" - libobj=$func_basename_result - } - ;; - esac - - # Recognize several different file suffixes. - # If the user specifies -o file.o, it is replaced with file.lo - case $libobj in - *.[cCFSifmso] | \ - *.ada | *.adb | *.ads | *.asm | \ - *.c++ | *.cc | *.ii | *.class | *.cpp | *.cxx | \ - *.[fF][09]? | *.for | *.java | *.go | *.obj | *.sx | *.cu | *.cup) - func_xform "$libobj" - libobj=$func_xform_result - ;; - esac - - case $libobj in - *.lo) func_lo2o "$libobj"; obj=$func_lo2o_result ;; - *) - func_fatal_error "cannot determine name of library object from '$libobj'" - ;; - esac - - func_infer_tag $base_compile - - for arg in $later; do - case $arg in - -shared) - test yes = "$build_libtool_libs" \ - || func_fatal_configuration "cannot build a shared library" - build_old_libs=no - continue - ;; - - -static) - build_libtool_libs=no - build_old_libs=yes - continue - ;; - - -prefer-pic) - pic_mode=yes - continue - ;; - - -prefer-non-pic) - pic_mode=no - continue - ;; - esac - done - - func_quote_for_eval "$libobj" - test "X$libobj" != "X$func_quote_for_eval_result" \ - && $ECHO "X$libobj" | $GREP '[]~#^*{};<>?"'"'"' &()|`$[]' \ - && func_warning "libobj name '$libobj' may not contain shell special characters." - func_dirname_and_basename "$obj" "/" "" - objname=$func_basename_result - xdir=$func_dirname_result - lobj=$xdir$objdir/$objname - - test -z "$base_compile" && \ - func_fatal_help "you must specify a compilation command" - - # Delete any leftover library objects. - if test yes = "$build_old_libs"; 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 no = "$pic_mode" && test pass_all != "$deplibs_check_method"; 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 no = "$compiler_c_o"; then - output_obj=`$ECHO "$srcfile" | $SED 's%^.*/%%; 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 yes = "$need_locks"; 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 warn = "$need_locks"; 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 - func_append removelist " $output_obj" - $ECHO "$srcfile" > "$lockfile" - fi - - $opt_dry_run || $RM $removelist - func_append removelist " $lockfile" - trap '$opt_dry_run || $RM $removelist; exit $EXIT_FAILURE' 1 2 15 - - func_to_tool_file "$srcfile" func_convert_file_msys_to_w32 - srcfile=$func_to_tool_file_result - func_quote_for_eval "$srcfile" - qsrcfile=$func_quote_for_eval_result - - # Only build a PIC object if we are building libtool libraries. - if test yes = "$build_libtool_libs"; then - # Without this assignment, base_compile gets emptied. - fbsd_hideous_sh_bug=$base_compile - - if test no != "$pic_mode"; 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 - func_append command " -o $lobj" - fi - - func_show_eval_locale "$command" \ - 'test -n "$output_obj" && $RM $removelist; exit $EXIT_FAILURE' - - if test warn = "$need_locks" && - 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 yes = "$suppress_opt"; then - suppress_output=' >/dev/null 2>&1' - fi - fi - - # Only build a position-dependent object if we build old libraries. - if test yes = "$build_old_libs"; then - if test yes != "$pic_mode"; then - # Don't build PIC code - command="$base_compile $qsrcfile$pie_flag" - else - command="$base_compile $qsrcfile $pic_flag" - fi - if test yes = "$compiler_c_o"; then - func_append command " -o $obj" - fi - - # Suppress compiler output if we already did a PIC compilation. - func_append command "$suppress_output" - func_show_eval_locale "$command" \ - '$opt_dry_run || $RM $removelist; exit $EXIT_FAILURE' - - if test warn = "$need_locks" && - 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 no != "$need_locks"; then - removelist=$lockfile - $RM "$lockfile" - fi - } - - exit $EXIT_SUCCESS -} - -$opt_help || { - test compile = "$opt_mode" && func_mode_compile ${1+"$@"} -} - -func_mode_help () -{ - # We need to display help for each of the modes. - case $opt_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 build PIC objects only - -prefer-non-pic try to build 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 - -Wc,FLAG pass FLAG directly to the compiler - -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-dir 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 - -bindir BINDIR specify path to binaries directory (for systems where - libraries must be found in the PATH setting at runtime) - -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 - -os2dllname NAME force a short DLL name on OS/2 (no effect on other OSes) - -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 - -Wc,FLAG - -Xcompiler FLAG pass linker-specific FLAG directly to the compiler - -Wl,FLAG - -Xlinker FLAG pass linker-specific FLAG directly to the linker - -XCClinker FLAG pass link-specific FLAG to the compiler driver (CC) - -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 '$opt_mode'" - ;; - esac - - echo - $ECHO "Try '$progname --help' for more information about other modes." -} - -# Now that we've collected a possible --mode arg, show help if necessary -if $opt_help; then - if test : = "$opt_help"; then - func_mode_help - else - { - func_help noexit - for opt_mode in compile link execute install finish uninstall clean; do - func_mode_help - done - } | $SED -n '1p; 2,$s/^Usage:/ or: /p' - { - func_help noexit - for opt_mode in compile link execute install finish uninstall clean; do - echo - func_mode_help - done - } | - $SED '1d - /^When reporting/,/^Report/{ - H - d - } - $x - /information about other modes/d - /more detailed .*MODE/d - s/^Usage:.*--mode=\([^ ]*\) .*/Description of \1 mode:/' - fi - exit $? -fi - - -# func_mode_execute arg... -func_mode_execute () -{ - $debug_cmd - - # 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 $opt_dlopen; do - test -f "$file" \ - || func_fatal_help "'$file' is not a file" - - dir= - case $file in - *.la) - func_resolve_sysroot "$file" - file=$func_resolve_sysroot_result - - # 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 - func_append 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 - -* | *.la | *.lo ) ;; - *) - # 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_append_quoted args "$file" - done - - if $opt_dry_run; then - # 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 - else - 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 - fi -} - -test execute = "$opt_mode" && func_mode_execute ${1+"$@"} - - -# func_mode_finish arg... -func_mode_finish () -{ - $debug_cmd - - libs= - libdirs= - admincmds= - - for opt in "$nonopt" ${1+"$@"} - do - if test -d "$opt"; then - func_append libdirs " $opt" - - elif test -f "$opt"; then - if func_lalib_unsafe_p "$opt"; then - func_append libs " $opt" - else - func_warning "'$opt' is not a valid libtool archive" - fi - - else - func_fatal_error "invalid argument '$opt'" - fi - done - - if test -n "$libs"; then - if test -n "$lt_sysroot"; then - sysroot_regex=`$ECHO "$lt_sysroot" | $SED "$sed_make_literal_regex"` - sysroot_cmd="s/\([ ']\)$sysroot_regex/\1/g;" - else - sysroot_cmd= - fi - - # Remove sysroot references - if $opt_dry_run; then - for lib in $libs; do - echo "removing references to $lt_sysroot and '=' prefixes from $lib" - done - else - tmpdir=`func_mktempdir` - for lib in $libs; do - $SED -e "$sysroot_cmd s/\([ ']-[LR]\)=/\1/g; s/\([ ']\)=/\1/g" $lib \ - > $tmpdir/tmp-la - mv -f $tmpdir/tmp-la $lib - done - ${RM}r "$tmpdir" - fi - fi - - if test -n "$finish_cmds$finish_eval" && test -n "$libdirs"; then - 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" || func_append admincmds " - $cmds" - fi - done - fi - - # Exit here if they wanted silent mode. - $opt_quiet && exit $EXIT_SUCCESS - - if test -n "$finish_cmds$finish_eval" && test -n "$libdirs"; then - echo "----------------------------------------------------------------------" - 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 "----------------------------------------------------------------------" - fi - exit $EXIT_SUCCESS -} - -test finish = "$opt_mode" && func_mode_finish ${1+"$@"} - - -# func_mode_install arg... -func_mode_install () -{ - $debug_cmd - - # There may be an optional sh(1) argument at the beginning of - # install_prog (especially on Windows NT). - if test "$SHELL" = "$nonopt" || test /bin/sh = "$nonopt" || - # Allow the use of GNU shtool's install command. - case $nonopt in *shtool*) :;; *) false;; esac - 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" - func_append install_prog "$func_quote_for_eval_result" - install_shared_prog=$install_prog - case " $install_prog " in - *[\\\ /]cp\ *) install_cp=: ;; - *) install_cp=false ;; - esac - - # We need to accept at least all the BSD install flags. - dest= - files= - opts= - prev= - install_type= - isdir=false - stripme= - no_mode=: - for arg - do - arg2= - if test -n "$dest"; then - func_append files " $dest" - dest=$arg - continue - fi - - case $arg in - -d) isdir=: ;; - -f) - if $install_cp; then :; else - prev=$arg - fi - ;; - -g | -m | -o) - prev=$arg - ;; - -s) - stripme=" -s" - continue - ;; - -*) - ;; - *) - # If the previous option needed an argument, then skip it. - if test -n "$prev"; then - if test X-m = "X$prev" && test -n "$install_override_mode"; then - arg2=$install_override_mode - no_mode=false - fi - prev= - else - dest=$arg - continue - fi - ;; - esac - - # Aesthetically quote the argument. - func_quote_for_eval "$arg" - func_append install_prog " $func_quote_for_eval_result" - if test -n "$arg2"; then - func_quote_for_eval "$arg2" - fi - func_append install_shared_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 -n "$install_override_mode" && $no_mode; then - if $install_cp; then :; else - func_quote_for_eval "$install_override_mode" - func_append install_shared_prog " -m $func_quote_for_eval_result" - fi - fi - - 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=: - if $isdir; 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. - func_append staticlibs " $file" - ;; - - *.la) - func_resolve_sysroot "$file" - file=$func_resolve_sysroot_result - - # 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 "*) ;; - *) func_append current_libdirs " $libdir" ;; - esac - else - # Note the libdir as a future libdir. - case "$future_libdirs " in - *" $libdir "*) ;; - *) func_append future_libdirs " $libdir" ;; - esac - fi - - func_dirname "$file" "/" "" - dir=$func_dirname_result - func_append dir "$objdir" - - if test -n "$relink_command"; then - # Determine the prefix the user has applied to our future dir. - inst_prefix_dir=`$ECHO "$destdir" | $SED -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 "$relink_command" | $SED "s%@inst_prefix_dir@%-inst-prefix-dir $inst_prefix_dir%"` - else - relink_command=`$ECHO "$relink_command" | $SED "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_shared_prog $dir/$srcname $destdir/$realname" \ - 'exit $?' - tstripme=$stripme - case $host_os in - cygwin* | mingw* | pw32* | cegcc*) - case $realname in - *.dll.a) - tstripme= - ;; - esac - ;; - os2*) - 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" && func_append 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 yes = "$build_old_libs"; 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=: - 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 "$lib" | $SED 's%^.*/%%g'` - if test -n "$libdir" && test ! -f "$libfile"; then - func_warning "'$lib' has not been installed in '$libdir'" - finalize=false - fi - done - - relink_command= - func_source "$wrapper" - - outputname= - if test no = "$fast_install" && test -n "$relink_command"; then - $opt_dry_run || { - if $finalize; then - tmpdir=`func_mktempdir` - func_basename "$file$stripped_ext" - file=$func_basename_result - outputname=$tmpdir/$file - # Replace the output file specification. - relink_command=`$ECHO "$relink_command" | $SED 's%@OUTPUT@%'"$outputname"'%g'` - - $opt_quiet || { - 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 "$file$stripped_ext" | $SED "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_to_tool_file "$oldlib" func_convert_file_msys_to_w32 - tool_oldlib=$func_to_tool_file_result - - func_show_eval "$install_prog \$file \$oldlib" 'exit $?' - - if test -n "$stripme" && test -n "$old_striplib"; then - func_show_eval "$old_striplib $tool_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 install = "$opt_mode" && 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 () -{ - $debug_cmd - - my_outputname=$1 - my_originator=$2 - my_pic_p=${3-false} - my_prefix=`$ECHO "$my_originator" | $SED 's%[^a-zA-Z0-9]%_%g'` - my_dlsyms= - - if test -n "$dlfiles$dlprefiles" || test no != "$dlself"; 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) $VERSION */ - -#ifdef __cplusplus -extern \"C\" { -#endif - -#if defined __GNUC__ && (((__GNUC__ == 4) && (__GNUC_MINOR__ >= 4)) || (__GNUC__ > 4)) -#pragma GCC diagnostic ignored \"-Wstrict-prototypes\" -#endif - -/* Keep this code in sync between libtool.m4, ltmain, lt_system.h, and tests. */ -#if defined _WIN32 || defined __CYGWIN__ || defined _WIN32_WCE -/* DATA imports from DLLs on WIN32 can't be const, because runtime - relocations are performed -- see ld's documentation on pseudo-relocs. */ -# define LT_DLSYM_CONST -#elif defined __osf__ -/* This system does not cope well with relocations in const data. */ -# define LT_DLSYM_CONST -#else -# define LT_DLSYM_CONST const -#endif - -#define STREQ(s1, s2) (strcmp ((s1), (s2)) == 0) - -/* External symbol declarations for the compiler. */\ -" - - if test yes = "$dlself"; 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 "$objs$old_deplibs" | $SP2NL | $SED "$lo2o" | $NL2SP` - for progfile in $progfiles; do - func_to_tool_file "$progfile" func_convert_file_msys_to_w32 - func_verbose "extracting global C symbols from '$func_to_tool_file_result'" - $opt_dry_run || eval "$NM $func_to_tool_file_result | $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 - case $host in - *cygwin* | *mingw* | *cegcc* ) - # if an import library, we need to obtain dlname - if func_win32_import_lib_p "$dlprefile"; then - func_tr_sh "$dlprefile" - eval "curr_lafile=\$libfile_$func_tr_sh_result" - dlprefile_dlbasename= - if test -n "$curr_lafile" && func_lalib_p "$curr_lafile"; then - # Use subshell, to avoid clobbering current variable values - dlprefile_dlname=`source "$curr_lafile" && echo "$dlname"` - if test -n "$dlprefile_dlname"; then - func_basename "$dlprefile_dlname" - dlprefile_dlbasename=$func_basename_result - else - # no lafile. user explicitly requested -dlpreopen . - $sharedlib_from_linklib_cmd "$dlprefile" - dlprefile_dlbasename=$sharedlib_from_linklib_result - fi - fi - $opt_dry_run || { - if test -n "$dlprefile_dlbasename"; then - eval '$ECHO ": $dlprefile_dlbasename" >> "$nlist"' - else - func_warning "Could not compute DLL name from $name" - eval '$ECHO ": $name " >> "$nlist"' - fi - func_to_tool_file "$dlprefile" func_convert_file_msys_to_w32 - eval "$NM \"$func_to_tool_file_result\" 2>/dev/null | $global_symbol_pipe | - $SED -e '/I __imp/d' -e 's/I __nm_/D /;s/_nm__//' >> '$nlist'" - } - else # not an import lib - $opt_dry_run || { - eval '$ECHO ": $name " >> "$nlist"' - func_to_tool_file "$dlprefile" func_convert_file_msys_to_w32 - eval "$NM \"$func_to_tool_file_result\" 2>/dev/null | $global_symbol_pipe >> '$nlist'" - } - fi - ;; - *) - $opt_dry_run || { - eval '$ECHO ": $name " >> "$nlist"' - func_to_tool_file "$dlprefile" func_convert_file_msys_to_w32 - eval "$NM \"$func_to_tool_file_result\" 2>/dev/null | $global_symbol_pipe >> '$nlist'" - } - ;; - esac - 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 - - func_show_eval '$RM "${nlist}I"' - if test -n "$global_symbol_to_import"; then - eval "$global_symbol_to_import"' < "$nlist"S > "$nlist"I' - fi - - echo >> "$output_objdir/$my_dlsyms" "\ - -/* The mapping between symbol names and symbols. */ -typedef struct { - const char *name; - void *address; -} lt_dlsymlist; -extern LT_DLSYM_CONST lt_dlsymlist -lt_${my_prefix}_LTX_preloaded_symbols[];\ -" - - if test -s "$nlist"I; then - echo >> "$output_objdir/$my_dlsyms" "\ -static void lt_syminit(void) -{ - LT_DLSYM_CONST lt_dlsymlist *symbol = lt_${my_prefix}_LTX_preloaded_symbols; - for (; symbol->name; ++symbol) - {" - $SED 's/.*/ if (STREQ (symbol->name, \"&\")) symbol->address = (void *) \&&;/' < "$nlist"I >> "$output_objdir/$my_dlsyms" - echo >> "$output_objdir/$my_dlsyms" "\ - } -}" - fi - echo >> "$output_objdir/$my_dlsyms" "\ -LT_DLSYM_CONST lt_dlsymlist -lt_${my_prefix}_LTX_preloaded_symbols[] = -{ {\"$my_originator\", (void *) 0}," - - if test -s "$nlist"I; then - echo >> "$output_objdir/$my_dlsyms" "\ - {\"@INIT@\", (void *) <_syminit}," - fi - - case $need_lib_prefix in - no) - eval "$global_symbol_to_c_name_address" < "$nlist" >> "$output_objdir/$my_dlsyms" - ;; - *) - eval "$global_symbol_to_c_name_address_lib_prefix" < "$nlist" >> "$output_objdir/$my_dlsyms" - ;; - esac - echo >> "$output_objdir/$my_dlsyms" "\ - {0, (void *) 0} -}; - -/* 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" ;; - *) - $my_pic_p && pic_flag_for_symtable=" $pic_flag" - ;; - esac - ;; - esac - symtab_cflags= - for arg in $LTCFLAGS; do - case $arg in - -pie | -fpie | -fPIE) ;; - *) func_append 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" "${nlist}I"' - - # 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 "$compile_command" | $SED "s%@SYMFILE@%$output_objdir/$my_outputname.def $symfileobj%"` - finalize_command=`$ECHO "$finalize_command" | $SED "s%@SYMFILE@%$output_objdir/$my_outputname.def $symfileobj%"` - else - compile_command=`$ECHO "$compile_command" | $SED "s%@SYMFILE@%$symfileobj%"` - finalize_command=`$ECHO "$finalize_command" | $SED "s%@SYMFILE@%$symfileobj%"` - fi - ;; - *) - compile_command=`$ECHO "$compile_command" | $SED "s%@SYMFILE@%$symfileobj%"` - finalize_command=`$ECHO "$finalize_command" | $SED "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 "$compile_command" | $SED "s% @SYMFILE@%%"` - finalize_command=`$ECHO "$finalize_command" | $SED "s% @SYMFILE@%%"` - fi -} - -# func_cygming_gnu_implib_p ARG -# This predicate returns with zero status (TRUE) if -# ARG is a GNU/binutils-style import library. Returns -# with nonzero status (FALSE) otherwise. -func_cygming_gnu_implib_p () -{ - $debug_cmd - - func_to_tool_file "$1" func_convert_file_msys_to_w32 - func_cygming_gnu_implib_tmp=`$NM "$func_to_tool_file_result" | eval "$global_symbol_pipe" | $EGREP ' (_head_[A-Za-z0-9_]+_[ad]l*|[A-Za-z0-9_]+_[ad]l*_iname)$'` - test -n "$func_cygming_gnu_implib_tmp" -} - -# func_cygming_ms_implib_p ARG -# This predicate returns with zero status (TRUE) if -# ARG is an MS-style import library. Returns -# with nonzero status (FALSE) otherwise. -func_cygming_ms_implib_p () -{ - $debug_cmd - - func_to_tool_file "$1" func_convert_file_msys_to_w32 - func_cygming_ms_implib_tmp=`$NM "$func_to_tool_file_result" | eval "$global_symbol_pipe" | $GREP '_NULL_IMPORT_DESCRIPTOR'` - test -n "$func_cygming_ms_implib_tmp" -} - -# 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. -# Despite the name, also deal with 64 bit binaries. -func_win32_libid () -{ - $debug_cmd - - 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 - # Keep the egrep pattern in sync with the one in _LT_CHECK_MAGIC_METHOD. - if eval $OBJDUMP -f $1 | $SED -e '10q' 2>/dev/null | - $EGREP 'file format (pei*-i386(.*architecture: i386)?|pe-arm-wince|pe-x86-64)' >/dev/null; then - case $nm_interface in - "MS dumpbin") - if func_cygming_ms_implib_p "$1" || - func_cygming_gnu_implib_p "$1" - then - win32_nmres=import - else - win32_nmres= - fi - ;; - *) - func_to_tool_file "$1" func_convert_file_msys_to_w32 - win32_nmres=`eval $NM -f posix -A \"$func_to_tool_file_result\" | - $SED -n -e ' - 1,100{ - / I /{ - s|.*|import| - p - q - } - }'` - ;; - esac - 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_cygming_dll_for_implib ARG -# -# Platform-specific function to extract the -# name of the DLL associated with the specified -# import library ARG. -# Invoked by eval'ing the libtool variable -# $sharedlib_from_linklib_cmd -# Result is available in the variable -# $sharedlib_from_linklib_result -func_cygming_dll_for_implib () -{ - $debug_cmd - - sharedlib_from_linklib_result=`$DLLTOOL --identify-strict --identify "$1"` -} - -# func_cygming_dll_for_implib_fallback_core SECTION_NAME LIBNAMEs -# -# The is the core of a fallback implementation of a -# platform-specific function to extract the name of the -# DLL associated with the specified import library LIBNAME. -# -# SECTION_NAME is either .idata$6 or .idata$7, depending -# on the platform and compiler that created the implib. -# -# Echos the name of the DLL associated with the -# specified import library. -func_cygming_dll_for_implib_fallback_core () -{ - $debug_cmd - - match_literal=`$ECHO "$1" | $SED "$sed_make_literal_regex"` - $OBJDUMP -s --section "$1" "$2" 2>/dev/null | - $SED '/^Contents of section '"$match_literal"':/{ - # Place marker at beginning of archive member dllname section - s/.*/====MARK====/ - p - d - } - # These lines can sometimes be longer than 43 characters, but - # are always uninteresting - /:[ ]*file format pe[i]\{,1\}-/d - /^In archive [^:]*:/d - # Ensure marker is printed - /^====MARK====/p - # Remove all lines with less than 43 characters - /^.\{43\}/!d - # From remaining lines, remove first 43 characters - s/^.\{43\}//' | - $SED -n ' - # Join marker and all lines until next marker into a single line - /^====MARK====/ b para - H - $ b para - b - :para - x - s/\n//g - # Remove the marker - s/^====MARK====// - # Remove trailing dots and whitespace - s/[\. \t]*$// - # Print - /./p' | - # we now have a list, one entry per line, of the stringified - # contents of the appropriate section of all members of the - # archive that possess that section. Heuristic: eliminate - # all those that have a first or second character that is - # a '.' (that is, objdump's representation of an unprintable - # character.) This should work for all archives with less than - # 0x302f exports -- but will fail for DLLs whose name actually - # begins with a literal '.' or a single character followed by - # a '.'. - # - # Of those that remain, print the first one. - $SED -e '/^\./d;/^.\./d;q' -} - -# func_cygming_dll_for_implib_fallback ARG -# Platform-specific function to extract the -# name of the DLL associated with the specified -# import library ARG. -# -# This fallback implementation is for use when $DLLTOOL -# does not support the --identify-strict option. -# Invoked by eval'ing the libtool variable -# $sharedlib_from_linklib_cmd -# Result is available in the variable -# $sharedlib_from_linklib_result -func_cygming_dll_for_implib_fallback () -{ - $debug_cmd - - if func_cygming_gnu_implib_p "$1"; then - # binutils import library - sharedlib_from_linklib_result=`func_cygming_dll_for_implib_fallback_core '.idata$7' "$1"` - elif func_cygming_ms_implib_p "$1"; then - # ms-generated import library - sharedlib_from_linklib_result=`func_cygming_dll_for_implib_fallback_core '.idata$6' "$1"` - else - # unknown - sharedlib_from_linklib_result= - fi -} - - -# func_extract_an_archive dir oldlib -func_extract_an_archive () -{ - $debug_cmd - - f_ex_an_ar_dir=$1; shift - f_ex_an_ar_oldlib=$1 - if test yes = "$lock_old_archive_extraction"; then - lockfile=$f_ex_an_ar_oldlib.lock - until $opt_dry_run || ln "$progpath" "$lockfile" 2>/dev/null; do - func_echo "Waiting for $lockfile to be removed" - sleep 2 - done - fi - func_show_eval "(cd \$f_ex_an_ar_dir && $AR x \"\$f_ex_an_ar_oldlib\")" \ - 'stat=$?; rm -f "$lockfile"; exit $stat' - if test yes = "$lock_old_archive_extraction"; then - $opt_dry_run || rm -f "$lockfile" - fi - 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 () -{ - $debug_cmd - - 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` - func_basename "$darwin_archive" - darwin_base_archive=$func_basename_result - 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 "$sed_basename" | sort -u` - darwin_file= - darwin_files= - for darwin_file in $darwin_filelist; do - darwin_files=`find unfat-$$ -name $darwin_file -print | sort | $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 | sort | $NL2SP` - done - - func_extract_archives_result=$my_oldobjs -} - - -# 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 where it is stored is -# the $objdir directory. This is a cygwin/mingw-specific -# behavior. -func_emit_wrapper () -{ - func_emit_wrapper_arg1=${1-no} - - $ECHO "\ -#! $SHELL - -# $output - temporary wrapper script for $objdir/$outputname -# Generated by $PROGRAM (GNU $PACKAGE) $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. -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 - file=\"\$0\"" - - qECHO=`$ECHO "$ECHO" | $SED "$sed_quote_subst"` - $ECHO "\ - -# A function that is used when there is no print builtin or printf. -func_fallback_echo () -{ - eval 'cat <<_LTECHO_EOF -\$1 -_LTECHO_EOF' -} - ECHO=\"$qECHO\" - fi - -# Very basic option parsing. These options are (a) specific to -# the libtool wrapper, (b) are identical between the wrapper -# /script/ and the wrapper /executable/ that is used only on -# windows platforms, and (c) all begin with the string "--lt-" -# (application programs are unlikely to have options that match -# this pattern). -# -# There are only two supported options: --lt-debug and -# --lt-dump-script. There is, deliberately, no --lt-help. -# -# The first argument to this parsing function should be the -# script's $0 value, followed by "$@". -lt_option_debug= -func_parse_lt_options () -{ - lt_script_arg0=\$0 - shift - for lt_opt - do - case \"\$lt_opt\" in - --lt-debug) lt_option_debug=1 ;; - --lt-dump-script) - lt_dump_D=\`\$ECHO \"X\$lt_script_arg0\" | $SED -e 's/^X//' -e 's%/[^/]*$%%'\` - test \"X\$lt_dump_D\" = \"X\$lt_script_arg0\" && lt_dump_D=. - lt_dump_F=\`\$ECHO \"X\$lt_script_arg0\" | $SED -e 's/^X//' -e 's%^.*/%%'\` - cat \"\$lt_dump_D/\$lt_dump_F\" - exit 0 - ;; - --lt-*) - \$ECHO \"Unrecognized --lt- option: '\$lt_opt'\" 1>&2 - exit 1 - ;; - esac - done - - # Print the debug banner immediately: - if test -n \"\$lt_option_debug\"; then - echo \"$outputname:$output:\$LINENO: libtool wrapper (GNU $PACKAGE) $VERSION\" 1>&2 - fi -} - -# Used when --lt-debug. Prints its arguments to stdout -# (redirection is the responsibility of the caller) -func_lt_dump_args () -{ - lt_dump_args_N=1; - for lt_arg - do - \$ECHO \"$outputname:$output:\$LINENO: newargv[\$lt_dump_args_N]: \$lt_arg\" - lt_dump_args_N=\`expr \$lt_dump_args_N + 1\` - done -} - -# Core function for launching the target application -func_exec_program_core () -{ -" - case $host in - # Backslashes separate directories on plain windows - *-*-mingw | *-*-os2* | *-cegcc*) - $ECHO "\ - if test -n \"\$lt_option_debug\"; then - \$ECHO \"$outputname:$output:\$LINENO: newargv[0]: \$progdir\\\\\$program\" 1>&2 - func_lt_dump_args \${1+\"\$@\"} 1>&2 - fi - exec \"\$progdir\\\\\$program\" \${1+\"\$@\"} -" - ;; - - *) - $ECHO "\ - if test -n \"\$lt_option_debug\"; then - \$ECHO \"$outputname:$output:\$LINENO: newargv[0]: \$progdir/\$program\" 1>&2 - func_lt_dump_args \${1+\"\$@\"} 1>&2 - fi - exec \"\$progdir/\$program\" \${1+\"\$@\"} -" - ;; - esac - $ECHO "\ - \$ECHO \"\$0: cannot exec \$program \$*\" 1>&2 - exit 1 -} - -# A function to encapsulate launching the target application -# Strips options in the --lt-* namespace from \$@ and -# launches target application with the remaining arguments. -func_exec_program () -{ - case \" \$* \" in - *\\ --lt-*) - for lt_wr_arg - do - case \$lt_wr_arg in - --lt-*) ;; - *) set x \"\$@\" \"\$lt_wr_arg\"; shift;; - esac - shift - done ;; - esac - func_exec_program_core \${1+\"\$@\"} -} - - # Parse options - func_parse_lt_options \"\$0\" \${1+\"\$@\"} - - # Find the directory that this script lives in. - thisdir=\`\$ECHO \"\$file\" | $SED '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 \"\$file\" | $SED '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 \"\$file\" | $SED 's%^.*/%%'\` - file=\`ls -ld \"\$thisdir/\$file\" | $SED -n 's/.*-> //p'\` - done - - # Usually 'no', except on cygwin/mingw when embedded into - # the cwrapper. - WRAPPER_SCRIPT_BELONGS_IN_OBJDIR=$func_emit_wrapper_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 \"\$thisdir\" | $SED 's%[\\\\/][^\\\\/]*$%%'\` ;; - $objdir ) thisdir=. ;; - esac - fi - - # Try to get the absolute directory name. - absdir=\`cd \"\$thisdir\" && pwd\` - test -n \"\$absdir\" && thisdir=\"\$absdir\" -" - - if test yes = "$fast_install"; 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" - - # fixup the dll searchpath if we need to. - # - # Fix the DLL searchpath if we need to. Do this before prepending - # to shlibpath, because on Windows, both are PATH and uninstalled - # libraries must come first. - if test -n "$dllsearchpath"; then - $ECHO "\ - # Add the dll search path components to the executable PATH - PATH=$dllsearchpath:\$PATH -" - fi - - # Export our shlibpath_var if we have one. - if test yes = "$shlibpath_overrides_runpath" && 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 \"\$$shlibpath_var\" | $SED 's/::*\$//'\` - - export $shlibpath_var -" - fi - - $ECHO "\ - if test \"\$libtool_execute_magic\" != \"$magic\"; then - # Run the actual program with our arguments. - func_exec_program \${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\ -" -} - - -# 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 -#else -# include -# include -# ifdef __CYGWIN__ -# include -# endif -#endif -#include -#include -#include -#include -#include -#include -#include -#include - -#define STREQ(s1, s2) (strcmp ((s1), (s2)) == 0) - -/* declarations of non-ANSI functions */ -#if defined __MINGW32__ -# ifdef __STRICT_ANSI__ -int _putenv (const char *); -# endif -#elif defined __CYGWIN__ -# ifdef __STRICT_ANSI__ -char *realpath (const char *, char *); -int putenv (char *); -int setenv (const char *, const char *, int); -# endif -/* #elif defined other_platform || defined ... */ -#endif - -/* portability defines, excluding path handling macros */ -#if defined _MSC_VER -# define setmode _setmode -# define stat _stat -# define chmod _chmod -# define getcwd _getcwd -# define putenv _putenv -# define S_IXUSR _S_IEXEC -#elif defined __MINGW32__ -# define setmode _setmode -# define stat _stat -# define chmod _chmod -# define getcwd _getcwd -# define putenv _putenv -#elif defined __CYGWIN__ -# define HAVE_SETENV -# define FOPEN_WB "wb" -/* #elif defined other platforms ... */ -#endif - -#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 - -/* path handling portability macros */ -#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 */ - -#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 (stale); stale = 0; } \ -} while (0) - -#if defined LT_DEBUGWRAPPER -static int lt_debug = 1; -#else -static int lt_debug = 0; -#endif - -const char *program_name = "libtool-wrapper"; /* in case xstrdup fails */ - -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_debugprintf (const char *file, int line, const char *fmt, ...); -void lt_fatal (const char *file, int line, const char *message, ...); -static const char *nonnull (const char *s); -static const char *nonempty (const char *s); -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_update_exe_path (const char *name, const char *value); -void lt_update_lib_path (const char *name, const char *value); -char **prepare_spawn (char **argv); -void lt_dump_script (FILE *f); -EOF - - cat <= 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; - - lt_debugprintf (__FILE__, __LINE__, "(make_executable): %s\n", - nonempty (path)); - 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]; - size_t tmp_len; - char *concat_name; - - lt_debugprintf (__FILE__, __LINE__, "(find_executable): %s\n", - nonempty (wrapper)); - - 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 = (size_t) (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 (__FILE__, __LINE__, "getcwd failed: %s", - nonnull (strerror (errno))); - 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 (__FILE__, __LINE__, "getcwd failed: %s", - nonnull (strerror (errno))); - 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) - { - lt_debugprintf (__FILE__, __LINE__, - "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 - { - lt_fatal (__FILE__, __LINE__, - "error accessing file \"%s\": %s", - tmp_pathspec, nonnull (strerror (errno))); - } - } - XFREE (tmp_pathspec); - - if (!has_symlinks) - { - return xstrdup (pathspec); - } - - tmp_pathspec = realpath (pathspec, buf); - if (tmp_pathspec == 0) - { - lt_fatal (__FILE__, __LINE__, - "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 (STREQ (str, pat)) - *str = '\0'; - } - return str; -} - -void -lt_debugprintf (const char *file, int line, const char *fmt, ...) -{ - va_list args; - if (lt_debug) - { - (void) fprintf (stderr, "%s:%s:%d: ", program_name, file, line); - va_start (args, fmt); - (void) vfprintf (stderr, fmt, args); - va_end (args); - } -} - -static void -lt_error_core (int exit_status, const char *file, - int line, const char *mode, - const char *message, va_list ap) -{ - fprintf (stderr, "%s:%s:%d: %s: ", program_name, file, line, mode); - vfprintf (stderr, message, ap); - fprintf (stderr, ".\n"); - - if (exit_status >= 0) - exit (exit_status); -} - -void -lt_fatal (const char *file, int line, const char *message, ...) -{ - va_list ap; - va_start (ap, message); - lt_error_core (EXIT_FAILURE, file, line, "FATAL", message, ap); - va_end (ap); -} - -static const char * -nonnull (const char *s) -{ - return s ? s : "(null)"; -} - -static const char * -nonempty (const char *s) -{ - return (s && !*s) ? "(empty)" : nonnull (s); -} - -void -lt_setenv (const char *name, const char *value) -{ - lt_debugprintf (__FILE__, __LINE__, - "(lt_setenv) setting '%s' to '%s'\n", - nonnull (name), nonnull (value)); - { -#ifdef HAVE_SETENV - /* always make a copy, for consistency with !HAVE_SETENV */ - char *str = xstrdup (value); - setenv (name, str, 1); -#else - size_t 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) - { - size_t orig_value_len = strlen (orig_value); - size_t 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; -} - -void -lt_update_exe_path (const char *name, const char *value) -{ - lt_debugprintf (__FILE__, __LINE__, - "(lt_update_exe_path) modifying '%s' by prepending '%s'\n", - nonnull (name), nonnull (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 #' */ - size_t len = strlen (new_value); - while ((len > 0) && IS_PATH_SEPARATOR (new_value[len-1])) - { - new_value[--len] = '\0'; - } - lt_setenv (name, new_value); - XFREE (new_value); - } -} - -void -lt_update_lib_path (const char *name, const char *value) -{ - lt_debugprintf (__FILE__, __LINE__, - "(lt_update_lib_path) modifying '%s' by prepending '%s'\n", - nonnull (name), nonnull (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 - case $host_os in - mingw*) - cat <<"EOF" - -/* Prepares an argument vector before calling spawn(). - Note that spawn() does not by itself call the command interpreter - (getenv ("COMSPEC") != NULL ? getenv ("COMSPEC") : - ({ OSVERSIONINFO v; v.dwOSVersionInfoSize = sizeof(OSVERSIONINFO); - GetVersionEx(&v); - v.dwPlatformId == VER_PLATFORM_WIN32_NT; - }) ? "cmd.exe" : "command.com"). - Instead it simply concatenates the arguments, separated by ' ', and calls - CreateProcess(). We must quote the arguments since Win32 CreateProcess() - interprets characters like ' ', '\t', '\\', '"' (but not '<' and '>') in a - special way: - - Space and tab are interpreted as delimiters. They are not treated as - delimiters if they are surrounded by double quotes: "...". - - Unescaped double quotes are removed from the input. Their only effect is - that within double quotes, space and tab are treated like normal - characters. - - Backslashes not followed by double quotes are not special. - - But 2*n+1 backslashes followed by a double quote become - n backslashes followed by a double quote (n >= 0): - \" -> " - \\\" -> \" - \\\\\" -> \\" - */ -#define SHELL_SPECIAL_CHARS "\"\\ \001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021\022\023\024\025\026\027\030\031\032\033\034\035\036\037" -#define SHELL_SPACE_CHARS " \001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021\022\023\024\025\026\027\030\031\032\033\034\035\036\037" -char ** -prepare_spawn (char **argv) -{ - size_t argc; - char **new_argv; - size_t i; - - /* Count number of arguments. */ - for (argc = 0; argv[argc] != NULL; argc++) - ; - - /* Allocate new argument vector. */ - new_argv = XMALLOC (char *, argc + 1); - - /* Put quoted arguments into the new argument vector. */ - for (i = 0; i < argc; i++) - { - const char *string = argv[i]; - - if (string[0] == '\0') - new_argv[i] = xstrdup ("\"\""); - else if (strpbrk (string, SHELL_SPECIAL_CHARS) != NULL) - { - int quote_around = (strpbrk (string, SHELL_SPACE_CHARS) != NULL); - size_t length; - unsigned int backslashes; - const char *s; - char *quoted_string; - char *p; - - length = 0; - backslashes = 0; - if (quote_around) - length++; - for (s = string; *s != '\0'; s++) - { - char c = *s; - if (c == '"') - length += backslashes + 1; - length++; - if (c == '\\') - backslashes++; - else - backslashes = 0; - } - if (quote_around) - length += backslashes + 1; - - quoted_string = XMALLOC (char, length + 1); - - p = quoted_string; - backslashes = 0; - if (quote_around) - *p++ = '"'; - for (s = string; *s != '\0'; s++) - { - char c = *s; - if (c == '"') - { - unsigned int j; - for (j = backslashes + 1; j > 0; j--) - *p++ = '\\'; - } - *p++ = c; - if (c == '\\') - backslashes++; - else - backslashes = 0; - } - if (quote_around) - { - unsigned int j; - for (j = backslashes; j > 0; j--) - *p++ = '\\'; - *p++ = '"'; - } - *p = '\0'; - - new_argv[i] = quoted_string; - } - else - new_argv[i] = (char *) string; - } - new_argv[argc] = NULL; - - return new_argv; -} -EOF - ;; - esac - - cat <<"EOF" -void lt_dump_script (FILE* f) -{ -EOF - func_emit_wrapper yes | - $SED -n -e ' -s/^\(.\{79\}\)\(..*\)/\1\ -\2/ -h -s/\([\\"]\)/\\\1/g -s/$/\\n/ -s/\([^\n]*\).*/ fputs ("\1", f);/p -g -D' - cat <<"EOF" -} -EOF -} -# end: func_emit_cwrapperexe_src - -# func_win32_import_lib_p ARG -# True if ARG is an import lib, as indicated by $file_magic_cmd -func_win32_import_lib_p () -{ - $debug_cmd - - case `eval $file_magic_cmd \"\$1\" 2>/dev/null | $SED -e 10q` in - *import*) : ;; - *) false ;; - esac -} - -# func_suncc_cstd_abi -# !!ONLY CALL THIS FOR SUN CC AFTER $compile_command IS FULLY EXPANDED!! -# Several compiler flags select an ABI that is incompatible with the -# Cstd library. Avoid specifying it if any are in CXXFLAGS. -func_suncc_cstd_abi () -{ - $debug_cmd - - case " $compile_command " in - *" -compat=g "*|*\ -std=c++[0-9][0-9]\ *|*" -library=stdcxx4 "*|*" -library=stlport4 "*) - suncc_use_cstd_abi=no - ;; - *) - suncc_use_cstd_abi=yes - ;; - esac -} - -# func_mode_link arg... -func_mode_link () -{ - $debug_cmd - - 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 - # what 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 that 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 - bindir= - dlfiles= - dlprefiles= - dlself=no - export_dynamic=no - export_symbols= - export_symbols_regex= - generated= - libobjs= - ltlibs= - module=no - no_install=no - objs= - os2dllname= - non_pic_objects= - precious_files_regex= - prefer_static_libs=no - preload=false - 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 yes != "$build_libtool_libs" \ - && func_fatal_configuration "cannot build a shared library" - build_old_libs=no - break - ;; - -all-static | -static | -static-libtool-libs) - case $arg in - -all-static) - if test yes = "$build_libtool_libs" && 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 - bindir) - bindir=$arg - prev= - continue - ;; - dlfiles|dlprefiles) - $preload || { - # Add the symbol object into the linking commands. - func_append compile_command " @SYMFILE@" - func_append finalize_command " @SYMFILE@" - preload=: - } - case $arg in - *.la | *.lo) ;; # We handle these cases below. - force) - if test no = "$dlself"; then - dlself=needless - export_dynamic=yes - fi - prev= - continue - ;; - self) - if test dlprefiles = "$prev"; then - dlself=yes - elif test dlfiles = "$prev" && test yes != "$dlopen_self"; then - dlself=yes - else - dlself=needless - export_dynamic=yes - fi - prev= - continue - ;; - *) - if test dlfiles = "$prev"; then - func_append dlfiles " $arg" - else - func_append 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 "*) ;; - *) func_append deplibs " $qarg.ltframework" # this is fixed later - ;; - esac - ;; - esac - prev= - continue - ;; - inst_prefix) - inst_prefix_dir=$arg - prev= - continue - ;; - mllvm) - # Clang does not use LLVM to link, so we can simply discard any - # '-mllvm $arg' options when doing the link step. - prev= - continue - ;; - objectlist) - if test -f "$arg"; then - save_arg=$arg - moreargs= - for fil in `cat "$save_arg"` - do -# func_append 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 none = "$pic_object" && - test none = "$non_pic_object"; 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 none != "$pic_object"; then - # Prepend the subdirectory the object is found in. - pic_object=$xdir$pic_object - - if test dlfiles = "$prev"; then - if test yes = "$build_libtool_libs" && test yes = "$dlopen_support"; then - func_append 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 dlprefiles = "$prev"; then - # Preload the old-style object. - func_append dlprefiles " $pic_object" - prev= - fi - - # A PIC object. - func_append libobjs " $pic_object" - arg=$pic_object - fi - - # Non-PIC object. - if test none != "$non_pic_object"; 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 none = "$pic_object"; 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 - ;; - os2dllname) - os2dllname=$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 rpath = "$prev"; then - case "$rpath " in - *" $arg "*) ;; - *) func_append rpath " $arg" ;; - esac - else - case "$xrpath " in - *" $arg "*) ;; - *) func_append xrpath " $arg" ;; - esac - fi - prev= - continue - ;; - shrext) - shrext_cmds=$arg - prev= - continue - ;; - weak) - func_append weak_libs " $arg" - prev= - continue - ;; - xcclinker) - func_append linker_flags " $qarg" - func_append compiler_flags " $qarg" - prev= - func_append compile_command " $qarg" - func_append finalize_command " $qarg" - continue - ;; - xcompiler) - func_append compiler_flags " $qarg" - prev= - func_append compile_command " $qarg" - func_append finalize_command " $qarg" - continue - ;; - xlinker) - func_append linker_flags " $qarg" - func_append 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 - ;; - - -bindir) - prev=bindir - 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-export-symbols = "X$arg"; 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" - if test -z "$func_stripname_result"; 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 - func_resolve_sysroot "$func_stripname_result" - dir=$func_resolve_sysroot_result - # 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 "* | *" $arg "*) - # Will only happen for absolute or sysroot arguments - ;; - *) - # Preserve sysroot, but never include relative directories - case $dir in - [\\/]* | [A-Za-z]:[\\/]* | =*) func_append deplibs " $arg" ;; - *) func_append deplibs " -L$dir" ;; - esac - func_append lib_search_path " $dir" - ;; - esac - case $host in - *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-cegcc*) - testbindir=`$ECHO "$dir" | $SED 's*/lib$*/bin*'` - case :$dllsearchpath: in - *":$dir:"*) ;; - ::) dllsearchpath=$dir;; - *) func_append dllsearchpath ":$dir";; - esac - case :$dllsearchpath: in - *":$testbindir:"*) ;; - ::) dllsearchpath=$testbindir;; - *) func_append dllsearchpath ":$testbindir";; - esac - ;; - esac - continue - ;; - - -l*) - if test X-lc = "X$arg" || test X-lm = "X$arg"; then - case $host in - *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-beos* | *-cegcc* | *-*-haiku*) - # 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-lc = "X$arg" && continue - ;; - *-*-openbsd* | *-*-freebsd* | *-*-dragonfly* | *-*-bitrig*) - # Do not include libc due to us having libc/libc_r. - test X-lc = "X$arg" && continue - ;; - *-*-rhapsody* | *-*-darwin1.[012]) - # Rhapsody C and math libraries are in the System framework - func_append deplibs " System.ltframework" - continue - ;; - *-*-sco3.2v5* | *-*-sco5v6*) - # Causes problems with __ctype - test X-lc = "X$arg" && continue - ;; - *-*-sysv4.2uw2* | *-*-sysv5* | *-*-unixware* | *-*-OpenUNIX*) - # Compiler inserts libc in the correct place for threads to work - test X-lc = "X$arg" && continue - ;; - esac - elif test X-lc_r = "X$arg"; then - case $host in - *-*-openbsd* | *-*-freebsd* | *-*-dragonfly* | *-*-bitrig*) - # Do not include libc_r directly, use -pthread flag. - continue - ;; - esac - fi - func_append deplibs " $arg" - continue - ;; - - -mllvm) - prev=mllvm - 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|--sysroot) - func_append 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|-fopenmp|-openmp|-mp|-xopenmp|-omp|-qsmp=*) - func_append compiler_flags " $arg" - func_append compile_command " $arg" - func_append finalize_command " $arg" - case "$new_inherited_linker_flags " in - *" $arg "*) ;; - * ) func_append 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 - ;; - - -os2dllname) - prev=os2dllname - 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_stripname '=' '' "$dir" - dir=$lt_sysroot$func_stripname_result - ;; - *) - func_fatal_error "only absolute run-paths are allowed" - ;; - esac - case "$xrpath " in - *" $dir "*) ;; - *) func_append 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" - func_append arg " $func_quote_for_eval_result" - func_append 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" - func_append arg " $wl$func_quote_for_eval_result" - func_append compiler_flags " $wl$func_quote_for_eval_result" - func_append 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 - ;; - - # Flags to be passed through unchanged, with rationale: - # -64, -mips[0-9] enable 64-bit mode for the SGI compiler - # -r[0-9][0-9]* specify processor for the SGI compiler - # -xarch=*, -xtarget=* enable 64-bit mode for the Sun compiler - # +DA*, +DD* enable 64-bit mode for the HP compiler - # -q* compiler args for the IBM compiler - # -m*, -t[45]*, -txscale* architecture-specific flags for GCC - # -F/path path to uninstalled frameworks, gcc on darwin - # -p, -pg, --coverage, -fprofile-* profiling flags for GCC - # -fstack-protector* stack protector flags for GCC - # @file GCC response files - # -tp=* Portland pgcc target processor selection - # --sysroot=* for sysroot support - # -O*, -g*, -flto*, -fwhopr*, -fuse-linker-plugin GCC link-time optimization - # -specs=* GCC specs files - # -stdlib=* select c++ std lib with clang - # -fsanitize=* Clang/GCC memory and address sanitizer - -64|-mips[0-9]|-r[0-9][0-9]*|-xarch=*|-xtarget=*|+DA*|+DD*|-q*|-m*| \ - -t[45]*|-txscale*|-p|-pg|--coverage|-fprofile-*|-F*|@*|-tp=*|--sysroot=*| \ - -O*|-g*|-flto*|-fwhopr*|-fuse-linker-plugin|-fstack-protector*|-stdlib=*| \ - -specs=*|-fsanitize=*) - func_quote_for_eval "$arg" - arg=$func_quote_for_eval_result - func_append compile_command " $arg" - func_append finalize_command " $arg" - func_append compiler_flags " $arg" - continue - ;; - - -Z*) - if test os2 = "`expr $host : '.*\(os2\)'`"; then - # OS/2 uses -Zxxx to specify OS/2-specific options - compiler_flags="$compiler_flags $arg" - func_append compile_command " $arg" - func_append finalize_command " $arg" - case $arg in - -Zlinker | -Zstack) - prev=xcompiler - ;; - esac - continue - else - # Otherwise treat like 'Some other compiler flag' below - func_quote_for_eval "$arg" - arg=$func_quote_for_eval_result - fi - ;; - - # Some other compiler flag. - -* | +*) - func_quote_for_eval "$arg" - arg=$func_quote_for_eval_result - ;; - - *.$objext) - # A standard object. - func_append 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 none = "$pic_object" && - test none = "$non_pic_object"; then - func_fatal_error "cannot find name of object for '$arg'" - fi - - # Extract subdirectory from the argument. - func_dirname "$arg" "/" "" - xdir=$func_dirname_result - - test none = "$pic_object" || { - # Prepend the subdirectory the object is found in. - pic_object=$xdir$pic_object - - if test dlfiles = "$prev"; then - if test yes = "$build_libtool_libs" && test yes = "$dlopen_support"; then - func_append 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 dlprefiles = "$prev"; then - # Preload the old-style object. - func_append dlprefiles " $pic_object" - prev= - fi - - # A PIC object. - func_append libobjs " $pic_object" - arg=$pic_object - } - - # Non-PIC object. - if test none != "$non_pic_object"; 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 none = "$pic_object"; 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. - func_append deplibs " $arg" - func_append old_deplibs " $arg" - continue - ;; - - *.la) - # A libtool-controlled library. - - func_resolve_sysroot "$arg" - if test dlfiles = "$prev"; then - # This library was specified with -dlopen. - func_append dlfiles " $func_resolve_sysroot_result" - prev= - elif test dlprefiles = "$prev"; then - # The library was specified with -dlpreopen. - func_append dlprefiles " $func_resolve_sysroot_result" - prev= - else - func_append deplibs " $func_resolve_sysroot_result" - 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 yes = "$export_dynamic" && 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 \"\$$shlibpath_var\" \| \$SED \'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\" - - # Definition is injected by LT_CONFIG during libtool generation. - func_munge_path_list sys_lib_dlsearch_path "$LT_SYS_LIBRARY_PATH" - - func_dirname "$output" "/" "" - output_objdir=$func_dirname_result$objdir - func_to_tool_file "$output_objdir/" - tool_output_objdir=$func_to_tool_file_result - # 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_preserve_dup_deps; then - case "$libs " in - *" $deplib "*) func_append specialdeplibs " $deplib" ;; - esac - fi - func_append libs " $deplib" - done - - if test lib = "$linkmode"; 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 "*) func_append specialdeplibs " $pre_post_deps" ;; - esac - func_append 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=false - 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 lib,link = "$linkmode,$pass"; 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 lib,link = "$linkmode,$pass" || - test prog,scan = "$linkmode,$pass"; then - libs=$deplibs - deplibs= - fi - if test prog = "$linkmode"; then - case $pass in - dlopen) libs=$dlfiles ;; - dlpreopen) libs=$dlprefiles ;; - link) - libs="$deplibs %DEPLIBS%" - test "X$link_all_deplibs" != Xno && libs="$libs $dependency_libs" - ;; - esac - fi - if test lib,dlpreopen = "$linkmode,$pass"; then - # Collect and forward deplibs of preopened libtool libs - for lib in $dlprefiles; do - # Ignore non-libtool-libs - dependency_libs= - func_resolve_sysroot "$lib" - case $lib in - *.la) func_source "$func_resolve_sysroot_result" ;; - esac - - # Collect preopened libtool deplibs, except any this library - # has declared as weak libs - for deplib in $dependency_libs; do - func_basename "$deplib" - deplib_base=$func_basename_result - case " $weak_libs " in - *" $deplib_base "*) ;; - *) func_append deplibs " $deplib" ;; - esac - done - done - libs=$dlprefiles - fi - if test dlopen = "$pass"; then - # Collect dlpreopened libraries - save_deplibs=$deplibs - deplibs= - fi - - for deplib in $libs; do - lib= - found=false - case $deplib in - -mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe \ - |-threads|-fopenmp|-openmp|-mp|-xopenmp|-omp|-qsmp=*) - if test prog,link = "$linkmode,$pass"; then - compile_deplibs="$deplib $compile_deplibs" - finalize_deplibs="$deplib $finalize_deplibs" - else - func_append compiler_flags " $deplib" - if test lib = "$linkmode"; then - case "$new_inherited_linker_flags " in - *" $deplib "*) ;; - * ) func_append new_inherited_linker_flags " $deplib" ;; - esac - fi - fi - continue - ;; - -l*) - if test lib != "$linkmode" && test prog != "$linkmode"; then - func_warning "'-l' is ignored for archives/objects" - continue - fi - func_stripname '-l' '' "$deplib" - name=$func_stripname_result - if test lib = "$linkmode"; 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 .la = "$search_ext"; then - found=: - else - found=false - fi - break 2 - fi - done - done - if $found; then - # 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 yes = "$allow_libtool_libs_with_static_runtimes"; 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=false - func_dirname "$lib" "" "." - ladir=$func_dirname_result - lib=$ladir/$old_library - if test prog,link = "$linkmode,$pass"; then - compile_deplibs="$deplib $compile_deplibs" - finalize_deplibs="$deplib $finalize_deplibs" - else - deplibs="$deplib $deplibs" - test lib = "$linkmode" && newdependency_libs="$deplib $newdependency_libs" - fi - continue - fi - fi - ;; - *) ;; - esac - fi - else - # deplib doesn't seem to be a libtool library - if test prog,link = "$linkmode,$pass"; then - compile_deplibs="$deplib $compile_deplibs" - finalize_deplibs="$deplib $finalize_deplibs" - else - deplibs="$deplib $deplibs" - test lib = "$linkmode" && newdependency_libs="$deplib $newdependency_libs" - fi - continue - fi - ;; # -l - *.ltframework) - if test prog,link = "$linkmode,$pass"; then - compile_deplibs="$deplib $compile_deplibs" - finalize_deplibs="$deplib $finalize_deplibs" - else - deplibs="$deplib $deplibs" - if test lib = "$linkmode"; then - case "$new_inherited_linker_flags " in - *" $deplib "*) ;; - * ) func_append new_inherited_linker_flags " $deplib" ;; - esac - fi - fi - continue - ;; - -L*) - case $linkmode in - lib) - deplibs="$deplib $deplibs" - test conv = "$pass" && continue - newdependency_libs="$deplib $newdependency_libs" - func_stripname '-L' '' "$deplib" - func_resolve_sysroot "$func_stripname_result" - func_append newlib_search_path " $func_resolve_sysroot_result" - ;; - prog) - if test conv = "$pass"; then - deplibs="$deplib $deplibs" - continue - fi - if test scan = "$pass"; then - deplibs="$deplib $deplibs" - else - compile_deplibs="$deplib $compile_deplibs" - finalize_deplibs="$deplib $finalize_deplibs" - fi - func_stripname '-L' '' "$deplib" - func_resolve_sysroot "$func_stripname_result" - func_append newlib_search_path " $func_resolve_sysroot_result" - ;; - *) - func_warning "'-L' is ignored for archives/objects" - ;; - esac # linkmode - continue - ;; # -L - -R*) - if test link = "$pass"; then - func_stripname '-R' '' "$deplib" - func_resolve_sysroot "$func_stripname_result" - dir=$func_resolve_sysroot_result - # Make sure the xrpath contains only unique directories. - case "$xrpath " in - *" $dir "*) ;; - *) func_append xrpath " $dir" ;; - esac - fi - deplibs="$deplib $deplibs" - continue - ;; - *.la) - func_resolve_sysroot "$deplib" - lib=$func_resolve_sysroot_result - ;; - *.$libext) - if test conv = "$pass"; 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=false - case $deplibs_check_method in - match_pattern*) - set dummy $deplibs_check_method; shift - match_pattern_regex=`expr "$deplibs_check_method" : "$1 \(.*\)"` - if eval "\$ECHO \"$deplib\"" 2>/dev/null | $SED 10q \ - | $EGREP "$match_pattern_regex" > /dev/null; then - valid_a_lib=: - fi - ;; - pass_all) - valid_a_lib=: - ;; - esac - if $valid_a_lib; then - echo - $ECHO "*** Warning: Linking the shared library $output against the" - $ECHO "*** static library $deplib is not portable!" - deplibs="$deplib $deplibs" - else - 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." - fi - ;; - esac - continue - ;; - prog) - if test link != "$pass"; then - deplibs="$deplib $deplibs" - else - compile_deplibs="$deplib $compile_deplibs" - finalize_deplibs="$deplib $finalize_deplibs" - fi - continue - ;; - esac # linkmode - ;; # *.$libext - *.lo | *.$objext) - if test conv = "$pass"; then - deplibs="$deplib $deplibs" - elif test prog = "$linkmode"; then - if test dlpreopen = "$pass" || test yes != "$dlopen_support" || test no = "$build_libtool_libs"; then - # If there is no dlopen support or we're linking statically, - # we need to preload. - func_append newdlprefiles " $deplib" - compile_deplibs="$deplib $compile_deplibs" - finalize_deplibs="$deplib $finalize_deplibs" - else - func_append newdlfiles " $deplib" - fi - fi - continue - ;; - %DEPLIBS%) - alldeplibs=: - continue - ;; - esac # case $deplib - - $found || test -f "$lib" \ - || func_fatal_error "cannot find the library '$lib' or unhandled argument '$deplib'" - - # 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 "$inherited_linker_flags" | $SED '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 "*) ;; - *) func_append new_inherited_linker_flags " $tmp_inherited_linker_flag";; - esac - done - fi - dependency_libs=`$ECHO " $dependency_libs" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'` - if test lib,link = "$linkmode,$pass" || - test prog,scan = "$linkmode,$pass" || - { test prog != "$linkmode" && test lib != "$linkmode"; }; then - test -n "$dlopen" && func_append dlfiles " $dlopen" - test -n "$dlpreopen" && func_append dlprefiles " $dlpreopen" - fi - - if test conv = "$pass"; 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. - func_append convenience " $ladir/$objdir/$old_library" - func_append old_convenience " $ladir/$objdir/$old_library" - tmp_libs= - for deplib in $dependency_libs; do - deplibs="$deplib $deplibs" - if $opt_preserve_dup_deps; then - case "$tmp_libs " in - *" $deplib "*) func_append specialdeplibs " $deplib" ;; - esac - fi - func_append tmp_libs " $deplib" - done - elif test prog != "$linkmode" && test lib != "$linkmode"; then - func_fatal_error "'$lib' is not a convenience library" - fi - continue - fi # $pass = conv - - - # Get the name of the library we link against. - linklib= - if test -n "$old_library" && - { test yes = "$prefer_static_libs" || - test built,no = "$prefer_static_libs,$installed"; }; then - linklib=$old_library - else - for l in $old_library $library_names; do - linklib=$l - done - fi - 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 dlopen = "$pass"; then - test -z "$libdir" \ - && func_fatal_error "cannot -dlopen a convenience library: '$lib'" - if test -z "$dlname" || - test yes != "$dlopen_support" || - test no = "$build_libtool_libs" - 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. - func_append dlprefiles " $lib $dependency_libs" - else - func_append 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 yes = "$installed"; then - if test ! -f "$lt_sysroot$libdir/$linklib" && test -f "$abs_ladir/$linklib"; then - func_warning "library '$lib' was moved." - dir=$ladir - absdir=$abs_ladir - libdir=$abs_ladir - else - dir=$lt_sysroot$libdir - absdir=$lt_sysroot$libdir - fi - test yes = "$hardcode_automatic" && 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 - func_append notinst_path " $abs_ladir" - else - dir=$ladir/$objdir - absdir=$abs_ladir/$objdir - # Remove this search path later - func_append 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 dlpreopen = "$pass"; then - if test -z "$libdir" && test prog = "$linkmode"; then - func_fatal_error "only libraries may -dlpreopen a convenience library: '$lib'" - fi - case $host in - # special handling for platforms with PE-DLLs. - *cygwin* | *mingw* | *cegcc* ) - # Linker will automatically link against shared library if both - # static and shared are present. Therefore, ensure we extract - # symbols from the import library if a shared library is present - # (otherwise, the dlopen module name will be incorrect). We do - # this by putting the import library name into $newdlprefiles. - # We recover the dlopen module name by 'saving' the la file - # name in a special purpose variable, and (later) extracting the - # dlname from the la file. - if test -n "$dlname"; then - func_tr_sh "$dir/$linklib" - eval "libfile_$func_tr_sh_result=\$abs_ladir/\$laname" - func_append newdlprefiles " $dir/$linklib" - else - func_append 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" && \ - func_append dlpreconveniencelibs " $dir/$old_library" - fi - ;; - * ) - # Prefer using a static library (so that no silly _DYNAMIC symbols - # are required to link). - if test -n "$old_library"; then - func_append 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" && \ - func_append dlpreconveniencelibs " $dir/$old_library" - # Otherwise, use the dlname, so that lt_dlopen finds it. - elif test -n "$dlname"; then - func_append newdlprefiles " $dir/$dlname" - else - func_append newdlprefiles " $dir/$linklib" - fi - ;; - esac - fi # $pass = dlpreopen - - if test -z "$libdir"; then - # Link the convenience library - if test lib = "$linkmode"; then - deplibs="$dir/$old_library $deplibs" - elif test prog,link = "$linkmode,$pass"; 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 prog = "$linkmode" && test link != "$pass"; then - func_append newlib_search_path " $ladir" - deplibs="$lib $deplibs" - - linkalldeplibs=false - if test no != "$link_all_deplibs" || test -z "$library_names" || - test no = "$build_libtool_libs"; then - linkalldeplibs=: - fi - - tmp_libs= - for deplib in $dependency_libs; do - case $deplib in - -L*) func_stripname '-L' '' "$deplib" - func_resolve_sysroot "$func_stripname_result" - func_append newlib_search_path " $func_resolve_sysroot_result" - ;; - esac - # Need to link against all dependency_libs? - if $linkalldeplibs; 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_preserve_dup_deps; then - case "$tmp_libs " in - *" $deplib "*) func_append specialdeplibs " $deplib" ;; - esac - fi - func_append tmp_libs " $deplib" - done # for deplib - continue - fi # $linkmode = prog... - - if test prog,link = "$linkmode,$pass"; then - if test -n "$library_names" && - { { test no = "$prefer_static_libs" || - test built,yes = "$prefer_static_libs,$installed"; } || - 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:"*) ;; - *) func_append 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 "*) ;; - *) func_append compile_rpath " $absdir" ;; - esac - ;; - esac - case " $sys_lib_dlsearch_path " in - *" $libdir "*) ;; - *) - case "$finalize_rpath " in - *" $libdir "*) ;; - *) func_append finalize_rpath " $libdir" ;; - esac - ;; - esac - fi # $linkmode,$pass = prog,link... - - if $alldeplibs && - { test pass_all = "$deplibs_check_method" || - { test yes = "$build_libtool_libs" && - 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 built = "$use_static_libs" && test yes = "$installed"; then - use_static_libs=no - fi - if test -n "$library_names" && - { test no = "$use_static_libs" || test -z "$old_library"; }; then - case $host in - *cygwin* | *mingw* | *cegcc* | *os2*) - # No point in relinking DLLs because paths are not encoded - func_append notinst_deplibs " $lib" - need_relink=no - ;; - *) - if test no = "$installed"; then - func_append 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 yes = "$shouldnotlink" && test link = "$pass"; then - echo - if test prog = "$linkmode"; 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 lib = "$linkmode" && - test yes = "$hardcode_into_libs"; 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 "*) ;; - *) func_append compile_rpath " $absdir" ;; - esac - ;; - esac - case " $sys_lib_dlsearch_path " in - *" $libdir "*) ;; - *) - case "$finalize_rpath " in - *" $libdir "*) ;; - *) func_append 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* | *os2*) - 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 prog = "$linkmode" || test relink != "$opt_mode"; then - add_shlibpath= - add_dir= - add= - lib_linked=yes - case $hardcode_action in - immediate | unsupported) - if test no = "$hardcode_direct"; 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 cannot - # 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 no = "$hardcode_minus_L"; then - case $host in - *-*-sunos*) add_shlibpath=$dir ;; - esac - add_dir=-L$dir - add=-l$name - elif test no = "$hardcode_shlibpath_var"; then - add_shlibpath=$dir - add=-l$name - else - lib_linked=no - fi - ;; - relink) - if test yes = "$hardcode_direct" && - test no = "$hardcode_direct_absolute"; then - add=$dir/$linklib - elif test yes = "$hardcode_minus_L"; then - add_dir=-L$absdir - # Try looking first in the location we're being installed to. - if test -n "$inst_prefix_dir"; then - case $libdir in - [\\/]*) - func_append add_dir " -L$inst_prefix_dir$libdir" - ;; - esac - fi - add=-l$name - elif test yes = "$hardcode_shlibpath_var"; then - add_shlibpath=$dir - add=-l$name - else - lib_linked=no - fi - ;; - *) lib_linked=no ;; - esac - - if test yes != "$lib_linked"; then - func_fatal_configuration "unsupported hardcode properties" - fi - - if test -n "$add_shlibpath"; then - case :$compile_shlibpath: in - *":$add_shlibpath:"*) ;; - *) func_append compile_shlibpath "$add_shlibpath:" ;; - esac - fi - if test prog = "$linkmode"; 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 yes != "$hardcode_direct" && - test yes != "$hardcode_minus_L" && - test yes = "$hardcode_shlibpath_var"; then - case :$finalize_shlibpath: in - *":$libdir:"*) ;; - *) func_append finalize_shlibpath "$libdir:" ;; - esac - fi - fi - fi - - if test prog = "$linkmode" || test relink = "$opt_mode"; then - add_shlibpath= - add_dir= - add= - # Finalize command for both is simple: just hardcode it. - if test yes = "$hardcode_direct" && - test no = "$hardcode_direct_absolute"; then - add=$libdir/$linklib - elif test yes = "$hardcode_minus_L"; then - add_dir=-L$libdir - add=-l$name - elif test yes = "$hardcode_shlibpath_var"; then - case :$finalize_shlibpath: in - *":$libdir:"*) ;; - *) func_append finalize_shlibpath "$libdir:" ;; - esac - add=-l$name - elif test yes = "$hardcode_automatic"; 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 - [\\/]*) - func_append add_dir " -L$inst_prefix_dir$libdir" - ;; - esac - fi - add=-l$name - fi - - if test prog = "$linkmode"; 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 prog = "$linkmode"; 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 unsupported != "$hardcode_direct"; 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 yes = "$build_libtool_libs"; then - # Not a shared library - if test pass_all != "$deplibs_check_method"; 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 cannot 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 yes = "$module"; 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 no = "$build_old_libs"; 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 lib = "$linkmode"; then - if test -n "$dependency_libs" && - { test yes != "$hardcode_into_libs" || - test yes = "$build_old_libs" || - test yes = "$link_static"; }; 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 "*) ;; - *) func_append xrpath " $temp_xrpath";; - esac;; - *) func_append temp_deplibs " $libdir";; - esac - done - dependency_libs=$temp_deplibs - fi - - func_append newlib_search_path " $absdir" - # Link against this library - test no = "$link_static" && newdependency_libs="$abs_ladir/$laname $newdependency_libs" - # ... and its dependency_libs - tmp_libs= - for deplib in $dependency_libs; do - newdependency_libs="$deplib $newdependency_libs" - case $deplib in - -L*) func_stripname '-L' '' "$deplib" - func_resolve_sysroot "$func_stripname_result";; - *) func_resolve_sysroot "$deplib" ;; - esac - if $opt_preserve_dup_deps; then - case "$tmp_libs " in - *" $func_resolve_sysroot_result "*) - func_append specialdeplibs " $func_resolve_sysroot_result" ;; - esac - fi - func_append tmp_libs " $func_resolve_sysroot_result" - done - - if test no != "$link_all_deplibs"; then - # Add the search paths of all dependency libraries - for deplib in $dependency_libs; do - path= - case $deplib in - -L*) path=$deplib ;; - *.la) - func_resolve_sysroot "$deplib" - deplib=$func_resolve_sysroot_result - 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 - func_append compiler_flags " $wl-dylib_file $wl$darwin_install_name:$depdepl" - func_append 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 link = "$pass"; then - if test prog = "$linkmode"; then - compile_deplibs="$new_inherited_linker_flags $compile_deplibs" - finalize_deplibs="$new_inherited_linker_flags $finalize_deplibs" - else - compiler_flags="$compiler_flags "`$ECHO " $new_inherited_linker_flags" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'` - fi - fi - dependency_libs=$newdependency_libs - if test dlpreopen = "$pass"; then - # Link the dlpreopened libraries before other libraries - for deplib in $save_deplibs; do - deplibs="$deplib $deplibs" - done - fi - if test dlopen != "$pass"; then - test conv = "$pass" || { - # 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 "*) ;; - *) func_append lib_search_path " $dir" ;; - esac - done - newlib_search_path= - } - - if test prog,link = "$linkmode,$pass"; then - vars="compile_deplibs finalize_deplibs" - else - vars=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 "*) ;; - *) func_append tmp_libs " $deplib" ;; - esac - ;; - *) func_append tmp_libs " $deplib" ;; - esac - done - eval $var=\"$tmp_libs\" - done # for var - fi - - # Add Sun CC postdeps if required: - test CXX = "$tagname" && { - case $host_os in - linux*) - case `$CC -V 2>&1 | sed 5q` in - *Sun\ C*) # Sun C++ 5.9 - func_suncc_cstd_abi - - if test no != "$suncc_use_cstd_abi"; then - func_append postdeps ' -library=Cstd -library=Crun' - fi - ;; - esac - ;; - - solaris*) - func_cc_basename "$CC" - case $func_cc_basename_result in - CC* | sunCC*) - func_suncc_cstd_abi - - if test no != "$suncc_use_cstd_abi"; then - func_append postdeps ' -library=Cstd -library=Crun' - fi - ;; - esac - ;; - esac - } - - # 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 - func_append tmp_libs " $i" - fi - done - dependency_libs=$tmp_libs - done # for pass - if test prog = "$linkmode"; then - dlfiles=$newdlfiles - fi - if test prog = "$linkmode" || test lib = "$linkmode"; then - dlprefiles=$newdlprefiles - fi - - case $linkmode in - oldlib) - if test -n "$dlfiles$dlprefiles" || test no != "$dlself"; 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 - func_append 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 no = "$module" \ - && func_fatal_help "libtool library '$output' must begin with 'lib'" - - if test no != "$need_lib_prefix"; 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 pass_all != "$deplibs_check_method"; 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!" - func_append libobjs " $objs" - fi - fi - - test no = "$dlself" \ - || func_warning "'-dlopen self' is ignored for libtool libraries" - - set dummy $rpath - shift - test 1 -lt "$#" \ - && func_warning "ignoring multiple '-rpath's for a libtool library" - - install_libdir=$1 - - oldlibs= - if test -z "$rpath"; then - if test yes = "$build_libtool_libs"; 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 - # that has an extra 1 added just for fun - # - case $version_type in - # correct linux to gnu/linux during the next big refactor - darwin|freebsd-elf|linux|osf|windows|none) - func_arith $number_major + $number_minor - current=$func_arith_result - age=$number_minor - revision=$number_revision - ;; - freebsd-aout|qnx|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 - ;; - *) - func_fatal_configuration "$modename: unknown library version type '$version_type'" - ;; - 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" - # On Darwin other compilers - case $CC in - nagfor*) - verstring="$wl-compatibility_version $wl$minor_current $wl-current_version $wl$minor_current.$revision" - ;; - *) - verstring="-compatibility_version $minor_current -current_version $minor_current.$revision" - ;; - esac - ;; - - freebsd-aout) - major=.$current - versuffix=.$current.$revision - ;; - - freebsd-elf) - func_arith $current - $age - major=.$func_arith_result - versuffix=$major.$age.$revision - ;; - - irix | nonstopux) - if test no = "$lt_irix_increment"; 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 0 -ne "$loop"; 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) # correct to gnu/linux during the next big refactor - 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 0 -ne "$loop"; 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. - func_append verstring ":$current.0" - ;; - - qnx) - major=.$current - versuffix=.$current - ;; - - sco) - major=.$current - versuffix=.$current - ;; - - sunos) - major=.$current - versuffix=.$current.$revision - ;; - - windows) - # Use '-' rather than '.', since we only want one - # extension on DOS 8.3 file systems. - 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 no = "$need_version"; then - versuffix= - else - versuffix=.0.0 - fi - fi - - # Remove version info from name if versioning should be avoided - if test yes,no = "$avoid_version,$need_version"; then - major= - versuffix= - verstring= - fi - - # Check to see if the archive will have undefined symbols. - if test yes = "$allow_undefined"; then - if test unsupported = "$allow_undefined_flag"; then - if test yes = "$build_old_libs"; then - func_warning "undefined symbols not allowed in $host shared libraries; building static only" - build_libtool_libs=no - else - func_fatal_error "can't build $host shared library unless -no-undefined is specified" - fi - fi - else - # Don't allow undefined symbols. - allow_undefined_flag=$no_undefined_flag - fi - - fi - - func_generate_dlsyms "$libname" "$libname" : - func_append libobjs " $symfileobj" - test " " = "$libobjs" && libobjs= - - if test relink != "$opt_mode"; 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 -n "$precious_files_regex"; then - if $ECHO "$p" | $EGREP -e "$precious_files_regex" >/dev/null 2>&1 - then - continue - fi - fi - func_append removelist " $p" - ;; - *) ;; - esac - done - test -n "$removelist" && \ - func_show_eval "${RM}r \$removelist" - fi - - # Now set the variables for building old libraries. - if test yes = "$build_old_libs" && test convenience != "$build_libtool_libs"; then - func_append oldlibs " $output_objdir/$libname.$libext" - - # Transform .lo files to .o files. - oldobjs="$objs "`$ECHO "$libobjs" | $SP2NL | $SED "/\.$libext$/d; $lo2o" | $NL2SP` - fi - - # Eliminate all temporary directories. - #for path in $notinst_path; do - # lib_search_path=`$ECHO "$lib_search_path " | $SED "s% $path % %g"` - # deplibs=`$ECHO "$deplibs " | $SED "s% -L$path % %g"` - # dependency_libs=`$ECHO "$dependency_libs " | $SED "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 - func_replace_sysroot "$libdir" - func_append temp_xrpath " -R$func_replace_sysroot_result" - case "$finalize_rpath " in - *" $libdir "*) ;; - *) func_append finalize_rpath " $libdir" ;; - esac - done - if test yes != "$hardcode_into_libs" || test yes = "$build_old_libs"; 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 "*) ;; - *) func_append 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 "*) ;; - *) func_append dlprefiles " $lib" ;; - esac - done - - if test yes = "$build_libtool_libs"; then - if test -n "$rpath"; then - case $host in - *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-*-beos* | *-cegcc* | *-*-haiku*) - # these systems don't actually have a c library (as such)! - ;; - *-*-rhapsody* | *-*-darwin1.[012]) - # Rhapsody C library is in the System framework - func_append 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 yes = "$build_libtool_need_lc"; then - func_append 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` - $nocaseglob - else - potential_libs=`ls $i/$libnameglob[.-]* 2>/dev/null` - fi - 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 "$potlib" | $SED 's|[^/]*$||'`"$potliblink";; - esac - done - if eval $file_magic_cmd \"\$potlib\" 2>/dev/null | - $SED -e 10q | - $EGREP "$file_magic_regex" > /dev/null; then - func_append 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. - func_append 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 yes = "$allow_libtool_libs_with_static_runtimes"; then - case " $predeps $postdeps " in - *" $a_deplib "*) - func_append newdeplibs " $a_deplib" - a_deplib= - ;; - esac - fi - if test -n "$a_deplib"; then - libname=`eval "\\$ECHO \"$libname_spec\""` - for i in $lib_search_path $sys_lib_search_path $shlib_search_path; do - potential_libs=`ls $i/$libname[.-]* 2>/dev/null` - for potent_lib in $potential_libs; do - potlib=$potent_lib # see symlink-check above in file_magic test - if eval "\$ECHO \"$potent_lib\"" 2>/dev/null | $SED 10q | \ - $EGREP "$match_pattern_regex" > /dev/null; then - func_append 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. - func_append newdeplibs " $a_deplib" - ;; - esac - done # Gone through all deplibs. - ;; - none | unknown | *) - newdeplibs= - tmp_deplibs=`$ECHO " $deplibs" | $SED 's/ -lc$//; s/ -[LR][^ ]*//g'` - if test yes = "$allow_libtool_libs_with_static_runtimes"; then - for i in $predeps $postdeps; do - # can't use Xsed below, because $i might contain '/' - tmp_deplibs=`$ECHO " $tmp_deplibs" | $SED "s|$i||"` - done - fi - case $tmp_deplibs in - *[!\ \ ]*) - echo - if test none = "$deplibs_check_method"; 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 - ;; - esac - ;; - 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 " $newdeplibs" | $SED 's/ -lc / System.ltframework /'` - ;; - esac - - if test yes = "$droppeddeps"; then - if test yes = "$module"; 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 no = "$build_old_libs"; 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 no = "$allow_undefined"; 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 no = "$build_old_libs"; 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 " $newdeplibs" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'` - new_inherited_linker_flags=`$ECHO " $new_inherited_linker_flags" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'` - deplibs=`$ECHO " $deplibs" | $SED '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 "*) - func_append new_libs " -L$path/$objdir" ;; - esac - ;; - esac - done - for deplib in $deplibs; do - case $deplib in - -L*) - case " $new_libs " in - *" $deplib "*) ;; - *) func_append new_libs " $deplib" ;; - esac - ;; - *) func_append 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 yes = "$build_libtool_libs"; then - # Remove $wl instances when linking with ld. - # FIXME: should test the right _cmds variable. - case $archive_cmds in - *\$LD\ *) wl= ;; - esac - if test yes = "$hardcode_into_libs"; then - # Hardcode the library paths - hardcode_libdirs= - dep_rpath= - rpath=$finalize_rpath - test relink = "$opt_mode" || rpath=$compile_rpath$rpath - for libdir in $rpath; do - if test -n "$hardcode_libdir_flag_spec"; then - if test -n "$hardcode_libdir_separator"; then - func_replace_sysroot "$libdir" - libdir=$func_replace_sysroot_result - 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"*) - ;; - *) - func_append hardcode_libdirs "$hardcode_libdir_separator$libdir" - ;; - esac - fi - else - eval flag=\"$hardcode_libdir_flag_spec\" - func_append dep_rpath " $flag" - fi - elif test -n "$runpath_var"; then - case "$perm_rpath " in - *" $libdir "*) ;; - *) func_append 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 "dep_rpath=\"$hardcode_libdir_flag_spec\"" - fi - if test -n "$runpath_var" && test -n "$perm_rpath"; then - # We should set the runpath_var. - rpath= - for dir in $perm_rpath; do - func_append 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 relink = "$opt_mode" || 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 - func_append linknames " $link" - done - - # Use standard objects if they are pic - test -z "$pic_flag" && libobjs=`$ECHO "$libobjs" | $SP2NL | $SED "$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 - func_append 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 - func_dll_def_p "$export_symbols" || { - # 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 - ;; - esac - - # Prepare the list of exported symbols - if test -z "$export_symbols"; then - if test yes = "$always_export_symbols" || 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 cmd1 in $cmds; do - IFS=$save_ifs - # Take the normal branch if the nm_file_list_spec branch - # doesn't work or if tool conversion is not needed. - case $nm_file_list_spec~$to_tool_file_cmd in - *~func_convert_file_noop | *~func_convert_file_msys_to_w32 | ~*) - try_normal_branch=yes - eval cmd=\"$cmd1\" - func_len " $cmd" - len=$func_len_result - ;; - *) - try_normal_branch=no - ;; - esac - if test yes = "$try_normal_branch" \ - && { test "$len" -lt "$max_cmd_len" \ - || test "$max_cmd_len" -le -1; } - then - func_show_eval "$cmd" 'exit $?' - skipped_export=false - elif test -n "$nm_file_list_spec"; then - func_basename "$output" - output_la=$func_basename_result - save_libobjs=$libobjs - save_output=$output - output=$output_objdir/$output_la.nm - func_to_tool_file "$output" - libobjs=$nm_file_list_spec$func_to_tool_file_result - func_append delfiles " $output" - func_verbose "creating $NM input file list: $output" - for obj in $save_libobjs; do - func_to_tool_file "$obj" - $ECHO "$func_to_tool_file_result" - done > "$output" - eval cmd=\"$cmd1\" - func_show_eval "$cmd" 'exit $?' - output=$save_output - libobjs=$save_libobjs - 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 : != "$skipped_export"; 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 "$include_expsyms" | $SP2NL >> "$tmp_export_symbols"' - fi - - if test : != "$skipped_export" && 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 - func_append 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 "*) ;; - *) - func_append tmp_deplibs " $test_deplib" - ;; - esac - done - deplibs=$tmp_deplibs - - if test -n "$convenience"; then - if test -n "$whole_archive_flag_spec" && - test yes = "$compiler_needs_object" && - 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 - func_append generated " $gentop" - - func_extract_archives $gentop $convenience - func_append libobjs " $func_extract_archives_result" - test "X$libobjs" = "X " && libobjs= - fi - fi - - if test yes = "$thread_safe" && test -n "$thread_safe_flag_spec"; then - eval flag=\"$thread_safe_flag_spec\" - func_append linker_flags " $flag" - fi - - # Make a backup of the uninstalled library when relinking - if test relink = "$opt_mode"; 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 yes = "$module" && 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 : != "$skipped_export" && - 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 - func_basename "$output" - output_la=$func_basename_result - - # 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 : != "$skipped_export" && test yes = "$with_gnu_ld"; then - output=$output_objdir/$output_la.lnkscript - func_verbose "creating GNU ld script: $output" - echo 'INPUT (' > $output - for obj in $save_libobjs - do - func_to_tool_file "$obj" - $ECHO "$func_to_tool_file_result" >> $output - done - echo ')' >> $output - func_append delfiles " $output" - func_to_tool_file "$output" - output=$func_to_tool_file_result - elif test -n "$save_libobjs" && test : != "$skipped_export" && test -n "$file_list_spec"; then - output=$output_objdir/$output_la.lnk - func_verbose "creating linker input file list: $output" - : > $output - set x $save_libobjs - shift - firstobj= - if test yes = "$compiler_needs_object"; then - firstobj="$1 " - shift - fi - for obj - do - func_to_tool_file "$obj" - $ECHO "$func_to_tool_file_result" >> $output - done - func_append delfiles " $output" - func_to_tool_file "$output" - output=$firstobj\"$file_list_spec$func_to_tool_file_result\" - 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 -z "$objlist" || - 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 1 -eq "$k"; then - # The first file doesn't have a previous command to add. - reload_objs=$objlist - eval concat_cmds=\"$reload_cmds\" - else - # All subsequent reloadable object files will link in - # the last one created. - reload_objs="$objlist $last_robj" - eval concat_cmds=\"\$concat_cmds~$reload_cmds~\$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~ - reload_objs="$objlist $last_robj" - eval concat_cmds=\"\$concat_cmds$reload_cmds\" - if test -n "$last_robj"; then - eval concat_cmds=\"\$concat_cmds~\$RM $last_robj\" - fi - func_append delfiles " $output" - - else - output= - fi - - ${skipped_export-false} && { - 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 - } - - 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_quiet || { - 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 relink = "$opt_mode"; 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 - - ${skipped_export-false} && { - 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 "$include_expsyms" | $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 - func_append 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 - } - - 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 yes = "$module" && 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 - func_append generated " $gentop" - - func_extract_archives $gentop $dlprefiles - func_append libobjs " $func_extract_archives_result" - test "X$libobjs" = "X " && libobjs= - fi - - save_ifs=$IFS; IFS='~' - for cmd in $cmds; do - IFS=$sp$nl - eval cmd=\"$cmd\" - IFS=$save_ifs - $opt_quiet || { - 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 relink = "$opt_mode"; 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 relink = "$opt_mode"; 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 yes = "$module" || test yes = "$export_dynamic"; then - # On all known operating systems, these are identical. - dlname=$soname - fi - fi - ;; - - obj) - if test -n "$dlfiles$dlprefiles" || test no != "$dlself"; 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= - # if reload_cmds runs $LD directly, get rid of -Wl from - # whole_archive_flag_spec and hope we can get by with turning comma - # into space. - case $reload_cmds in - *\$LD[\ \$]*) wl= ;; - esac - if test -n "$convenience"; then - if test -n "$whole_archive_flag_spec"; then - eval tmp_whole_archive_flags=\"$whole_archive_flag_spec\" - test -n "$wl" || tmp_whole_archive_flags=`$ECHO "$tmp_whole_archive_flags" | $SED 's|,| |g'` - reload_conv_objs=$reload_objs\ $tmp_whole_archive_flags - else - gentop=$output_objdir/${obj}x - func_append generated " $gentop" - - func_extract_archives $gentop $convenience - reload_conv_objs="$reload_objs $func_extract_archives_result" - fi - fi - - # If we're not building shared, we need to use non_pic_objs - test yes = "$build_libtool_libs" || libobjs=$non_pic_objects - - # Create the old-style object. - reload_objs=$objs$old_deplibs' '`$ECHO "$libobjs" | $SP2NL | $SED "/\.$libext$/d; /\.lib$/d; $lo2o" | $NL2SP`' '$reload_conv_objs - - 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 - - test yes = "$build_libtool_libs" || { - 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 - } - - if test -n "$pic_flag" || test default != "$pic_mode"; 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" - - $preload \ - && test unknown,unknown,unknown = "$dlopen_support,$dlopen_self,$dlopen_self_static" \ - && 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 " $compile_deplibs" | $SED 's/ -lc / System.ltframework /'` - finalize_deplibs=`$ECHO " $finalize_deplibs" | $SED '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 CXX = "$tagname"; then - case ${MACOSX_DEPLOYMENT_TARGET-10.0} in - 10.[0123]) - func_append compile_command " $wl-bind_at_load" - func_append finalize_command " $wl-bind_at_load" - ;; - esac - fi - # Time to change all our "foo.ltframework" stuff back to "-framework foo" - compile_deplibs=`$ECHO " $compile_deplibs" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'` - finalize_deplibs=`$ECHO " $finalize_deplibs" | $SED '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 "*) - func_append new_libs " -L$path/$objdir" ;; - esac - ;; - esac - done - for deplib in $compile_deplibs; do - case $deplib in - -L*) - case " $new_libs " in - *" $deplib "*) ;; - *) func_append new_libs " $deplib" ;; - esac - ;; - *) func_append new_libs " $deplib" ;; - esac - done - compile_deplibs=$new_libs - - - func_append compile_command " $compile_deplibs" - func_append 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 "*) ;; - *) func_append 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"*) - ;; - *) - func_append hardcode_libdirs "$hardcode_libdir_separator$libdir" - ;; - esac - fi - else - eval flag=\"$hardcode_libdir_flag_spec\" - func_append rpath " $flag" - fi - elif test -n "$runpath_var"; then - case "$perm_rpath " in - *" $libdir "*) ;; - *) func_append 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;; - *) func_append dllsearchpath ":$libdir";; - esac - case :$dllsearchpath: in - *":$testbindir:"*) ;; - ::) dllsearchpath=$testbindir;; - *) func_append 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"*) - ;; - *) - func_append hardcode_libdirs "$hardcode_libdir_separator$libdir" - ;; - esac - fi - else - eval flag=\"$hardcode_libdir_flag_spec\" - func_append rpath " $flag" - fi - elif test -n "$runpath_var"; then - case "$finalize_perm_rpath " in - *" $libdir "*) ;; - *) func_append 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 yes = "$build_old_libs"; then - # Transform all the library objects into standard objects. - compile_command=`$ECHO "$compile_command" | $SP2NL | $SED "$lo2o" | $NL2SP` - finalize_command=`$ECHO "$finalize_command" | $SP2NL | $SED "$lo2o" | $NL2SP` - fi - - func_generate_dlsyms "$outputname" "@PROGRAM@" false - - # template prelinking step - if test -n "$prelink_cmds"; then - func_execute_cmds "$prelink_cmds" 'exit $?' - fi - - wrappers_required=: - case $host in - *cegcc* | *mingw32ce*) - # Disable wrappers for cegcc and mingw32ce hosts, we are cross compiling anyway. - wrappers_required=false - ;; - *cygwin* | *mingw* ) - test yes = "$build_libtool_libs" || wrappers_required=false - ;; - *) - if test no = "$need_relink" || test yes != "$build_libtool_libs"; then - wrappers_required=false - fi - ;; - esac - $wrappers_required || { - # Replace the output file specification. - compile_command=`$ECHO "$compile_command" | $SED '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=$?' - - if test -n "$postlink_cmds"; then - func_to_tool_file "$output" - postlink_cmds=`func_echo_all "$postlink_cmds" | $SED -e 's%@OUTPUT@%'"$output"'%g' -e 's%@TOOL_OUTPUT@%'"$func_to_tool_file_result"'%g'` - func_execute_cmds "$postlink_cmds" 'exit $?' - fi - - # 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 - } - - 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 - func_append 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 - func_append rpath "$dir:" - done - finalize_var="$runpath_var=\"$rpath\$$runpath_var\" " - fi - fi - - if test yes = "$no_install"; 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 "$link_command" | $SED '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 $?' - - if test -n "$postlink_cmds"; then - func_to_tool_file "$output" - postlink_cmds=`func_echo_all "$postlink_cmds" | $SED -e 's%@OUTPUT@%'"$output"'%g' -e 's%@TOOL_OUTPUT@%'"$func_to_tool_file_result"'%g'` - func_execute_cmds "$postlink_cmds" 'exit $?' - fi - - exit $EXIT_SUCCESS - fi - - case $hardcode_action,$fast_install in - relink,*) - # 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" - ;; - *,yes) - link_command=$finalize_var$compile_command$finalize_rpath - relink_command=`$ECHO "$compile_var$compile_command$compile_rpath" | $SED 's%@OUTPUT@%\$progdir/\$file%g'` - ;; - *,no) - link_command=$compile_var$compile_command$compile_rpath - relink_command=$finalize_var$finalize_command$finalize_rpath - ;; - *,needless) - link_command=$finalize_var$compile_command$finalize_rpath - relink_command= - ;; - esac - - # Replace the output file specification. - link_command=`$ECHO "$link_command" | $SED '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 $?' - - if test -n "$postlink_cmds"; then - func_to_tool_file "$output_objdir/$outputname" - postlink_cmds=`func_echo_all "$postlink_cmds" | $SED -e 's%@OUTPUT@%'"$output_objdir/$outputname"'%g' -e 's%@TOOL_OUTPUT@%'"$func_to_tool_file_result"'%g'` - func_execute_cmds "$postlink_cmds" 'exit $?' - fi - - # 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 "$relink_command" | $SED "$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 - - case $build_libtool_libs in - convenience) - oldobjs="$libobjs_save $symfileobj" - addlibs=$convenience - build_libtool_libs=no - ;; - module) - oldobjs=$libobjs_save - addlibs=$old_convenience - build_libtool_libs=no - ;; - *) - oldobjs="$old_deplibs $non_pic_objects" - $preload && test -f "$symfileobj" \ - && func_append oldobjs " $symfileobj" - addlibs=$old_convenience - ;; - esac - - if test -n "$addlibs"; then - gentop=$output_objdir/${outputname}x - func_append generated " $gentop" - - func_extract_archives $gentop $addlibs - func_append oldobjs " $func_extract_archives_result" - fi - - # Do each command in the archive commands. - if test -n "$old_archive_from_new_cmds" && test yes = "$build_libtool_libs"; 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 - func_append generated " $gentop" - - func_extract_archives $gentop $dlprefiles - func_append 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 - func_append 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" - func_append oldobjs " $gentop/$newobj" - ;; - *) func_append oldobjs " $obj" ;; - esac - done - fi - func_to_tool_file "$oldlib" func_convert_file_msys_to_w32 - tool_oldlib=$func_to_tool_file_result - 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 - elif test -n "$archiver_list_spec"; then - func_verbose "using command file archive linking..." - for obj in $oldobjs - do - func_to_tool_file "$obj" - $ECHO "$func_to_tool_file_result" - done > $output_objdir/$libname.libcmd - func_to_tool_file "$output_objdir/$libname.libcmd" - oldobjs=" $archiver_list_spec$func_to_tool_file_result" - 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 -z "$oldobjs"; 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 yes = "$build_old_libs" && 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 "$relink_command" | $SED "$sed_quote_subst"` - if test yes = "$hardcode_automatic"; then - relink_command= - fi - - # Only create the output if not a dry run. - $opt_dry_run || { - for installed in no yes; do - if test yes = "$installed"; 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 - func_resolve_sysroot "$deplib" - eval libdir=`$SED -n -e 's/^libdir=\(.*\)$/\1/p' $func_resolve_sysroot_result` - test -z "$libdir" && \ - func_fatal_error "'$deplib' is not a valid libtool archive" - func_append newdependency_libs " ${lt_sysroot:+=}$libdir/$name" - ;; - -L*) - func_stripname -L '' "$deplib" - func_replace_sysroot "$func_stripname_result" - func_append newdependency_libs " -L$func_replace_sysroot_result" - ;; - -R*) - func_stripname -R '' "$deplib" - func_replace_sysroot "$func_stripname_result" - func_append newdependency_libs " -R$func_replace_sysroot_result" - ;; - *) func_append 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" - func_append newdlfiles " ${lt_sysroot:+=}$libdir/$name" - ;; - *) func_append 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" - func_append newdlprefiles " ${lt_sysroot:+=}$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 - func_append newdlfiles " $abs" - done - dlfiles=$newdlfiles - newdlprefiles= - for lib in $dlprefiles; do - case $lib in - [\\/]* | [A-Za-z]:[\\/]*) abs=$lib ;; - *) abs=`pwd`"/$lib" ;; - esac - func_append newdlprefiles " $abs" - done - dlprefiles=$newdlprefiles - fi - $RM $output - # place dlname in correct position for cygwin - # In fact, it would be nice if we could use this code for all target - # systems that can't hard-code library paths into their executables - # and that have no shared library path variable independent of PATH, - # but it turns out we can't easily determine that from inspecting - # libtool variables, so we have to hard-code the OSs to which it - # applies here; at the moment, that means platforms that use the PE - # object format with DLL files. See the long comment at the top of - # tests/bindir.at for full details. - tdlname=$dlname - case $host,$output,$installed,$module,$dlname in - *cygwin*,*lai,yes,no,*.dll | *mingw*,*lai,yes,no,*.dll | *cegcc*,*lai,yes,no,*.dll) - # If a -bindir argument was supplied, place the dll there. - if test -n "$bindir"; then - func_relative_path "$install_libdir" "$bindir" - tdlname=$func_relative_path_result/$dlname - else - # Otherwise fall back on heuristic. - tdlname=../bin/$dlname - fi - ;; - esac - $ECHO > $output "\ -# $outputname - a libtool library file -# Generated by $PROGRAM (GNU $PACKAGE) $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 cannot 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 no,yes = "$installed,$need_relink"; 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 -} - -if test link = "$opt_mode" || test relink = "$opt_mode"; then - func_mode_link ${1+"$@"} -fi - - -# func_mode_uninstall arg... -func_mode_uninstall () -{ - $debug_cmd - - RM=$nonopt - files= - rmforce=false - 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) func_append RM " $arg"; rmforce=: ;; - -*) func_append RM " $arg" ;; - *) func_append files " $arg" ;; - esac - done - - test -z "$RM" && \ - func_fatal_help "you must specify an RM program" - - rmdirs= - - for file in $files; do - func_dirname "$file" "" "." - dir=$func_dirname_result - if test . = "$dir"; then - odir=$objdir - else - odir=$dir/$objdir - fi - func_basename "$file" - name=$func_basename_result - test uninstall = "$opt_mode" && odir=$dir - - # Remember odir for removal later, being careful to avoid duplicates - if test clean = "$opt_mode"; then - case " $rmdirs " in - *" $odir "*) ;; - *) func_append rmdirs " $odir" ;; - 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 $rmforce; 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 - func_append rmfiles " $odir/$n" - done - test -n "$old_library" && func_append rmfiles " $odir/$old_library" - - case $opt_mode in - clean) - case " $library_names " in - *" $dlname "*) ;; - *) test -n "$dlname" && func_append rmfiles " $odir/$dlname" ;; - esac - test -n "$libdir" && func_append rmfiles " $odir/$name $odir/${name}i" - ;; - uninstall) - if test -n "$library_names"; then - # Do each command in the postuninstall commands. - func_execute_cmds "$postuninstall_cmds" '$rmforce || exit_status=1' - fi - - if test -n "$old_library"; then - # Do each command in the old_postuninstall commands. - func_execute_cmds "$old_postuninstall_cmds" '$rmforce || 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 none != "$pic_object"; then - func_append rmfiles " $dir/$pic_object" - fi - - # Add non-PIC object to the list of files to remove. - if test -n "$non_pic_object" && test none != "$non_pic_object"; then - func_append rmfiles " $dir/$non_pic_object" - fi - fi - ;; - - *) - if test clean = "$opt_mode"; 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 - func_append 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 - func_append 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 - func_append rmfiles " $odir/$name $odir/${name}S.$objext" - if test yes = "$fast_install" && test -n "$relink_command"; then - func_append rmfiles " $odir/lt-$name" - fi - if test "X$noexename" != "X$name"; then - func_append rmfiles " $odir/lt-$noexename.c" - fi - fi - fi - ;; - esac - func_show_eval "$RM $rmfiles" 'exit_status=1' - done - - # 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 -} - -if test uninstall = "$opt_mode" || test clean = "$opt_mode"; then - func_mode_uninstall ${1+"$@"} -fi - -test -z "$opt_mode" && { - help=$generic_help - func_fatal_help "you must specify a MODE" -} - -test -z "$exec_cmd" && \ - func_fatal_help "invalid operation mode '$opt_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 -# where 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: diff -Nru yaws-2.0.6+dfsg/ac-aux/missing yaws-2.0.7+dfsg/ac-aux/missing --- yaws-2.0.6+dfsg/ac-aux/missing 2018-06-26 09:17:07.000000000 +0000 +++ yaws-2.0.7+dfsg/ac-aux/missing 1970-01-01 00:00:00.000000000 +0000 @@ -1,215 +0,0 @@ -#! /bin/sh -# Common wrapper for a few potentially missing GNU programs. - -scriptversion=2013-10-28.13; # UTC - -# Copyright (C) 1996-2014 Free Software Foundation, Inc. -# Originally written 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 - -case $1 in - - --is-lightweight) - # Used by our autoconf macros to check whether the available missing - # script is modern enough. - exit 0 - ;; - - --run) - # Back-compat with the calling convention used by older automake. - shift - ;; - - -h|--h|--he|--hel|--help) - echo "\ -$0 [OPTION]... PROGRAM [ARGUMENT]... - -Run 'PROGRAM [ARGUMENT]...', returning a proper advice when this fails due -to PROGRAM being missing or too old. - -Options: - -h, --help display this help and exit - -v, --version output version information and exit - -Supported PROGRAM values: - aclocal autoconf autoheader autom4te automake makeinfo - bison yacc flex lex help2man - -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 - -# Run the given program, remember its exit status. -"$@"; st=$? - -# If it succeeded, we are done. -test $st -eq 0 && exit 0 - -# Also exit now if we it failed (or wasn't found), and '--version' was -# passed; such an option is passed most likely to detect whether the -# program is present and works. -case $2 in --version|--help) exit $st;; esac - -# Exit code 63 means version mismatch. This often happens when the user -# tries to use an ancient version of a tool on a file that requires a -# minimum version. -if test $st -eq 63; then - msg="probably too old" -elif test $st -eq 127; then - # Program was missing. - msg="missing on your system" -else - # Program was found and executed, but failed. Give up. - exit $st -fi - -perl_URL=http://www.perl.org/ -flex_URL=http://flex.sourceforge.net/ -gnu_software_URL=http://www.gnu.org/software - -program_details () -{ - case $1 in - aclocal|automake) - echo "The '$1' program is part of the GNU Automake package:" - echo "<$gnu_software_URL/automake>" - echo "It also requires GNU Autoconf, GNU m4 and Perl in order to run:" - echo "<$gnu_software_URL/autoconf>" - echo "<$gnu_software_URL/m4/>" - echo "<$perl_URL>" - ;; - autoconf|autom4te|autoheader) - echo "The '$1' program is part of the GNU Autoconf package:" - echo "<$gnu_software_URL/autoconf/>" - echo "It also requires GNU m4 and Perl in order to run:" - echo "<$gnu_software_URL/m4/>" - echo "<$perl_URL>" - ;; - esac -} - -give_advice () -{ - # Normalize program name to check for. - normalized_program=`echo "$1" | sed ' - s/^gnu-//; t - s/^gnu//; t - s/^g//; t'` - - printf '%s\n' "'$1' is $msg." - - configure_deps="'configure.ac' or m4 files included by 'configure.ac'" - case $normalized_program in - autoconf*) - echo "You should only need it if you modified 'configure.ac'," - echo "or m4 files included by it." - program_details 'autoconf' - ;; - autoheader*) - echo "You should only need it if you modified 'acconfig.h' or" - echo "$configure_deps." - program_details 'autoheader' - ;; - automake*) - echo "You should only need it if you modified 'Makefile.am' or" - echo "$configure_deps." - program_details 'automake' - ;; - aclocal*) - echo "You should only need it if you modified 'acinclude.m4' or" - echo "$configure_deps." - program_details 'aclocal' - ;; - autom4te*) - echo "You might have modified some maintainer files that require" - echo "the 'autom4te' program to be rebuilt." - program_details 'autom4te' - ;; - bison*|yacc*) - echo "You should only need it if you modified a '.y' file." - echo "You may want to install the GNU Bison package:" - echo "<$gnu_software_URL/bison/>" - ;; - lex*|flex*) - echo "You should only need it if you modified a '.l' file." - echo "You may want to install the Fast Lexical Analyzer package:" - echo "<$flex_URL>" - ;; - help2man*) - echo "You should only need it if you modified a dependency" \ - "of a man page." - echo "You may want to install the GNU Help2man package:" - echo "<$gnu_software_URL/help2man/>" - ;; - makeinfo*) - echo "You should only need it if you modified a '.texi' file, or" - echo "any other file indirectly affecting the aspect of the manual." - echo "You might want to install the Texinfo package:" - echo "<$gnu_software_URL/texinfo/>" - echo "The spurious makeinfo call might also be the consequence of" - echo "using a buggy 'make' (AIX, DU, IRIX), in which case you might" - echo "want to install GNU make:" - echo "<$gnu_software_URL/make/>" - ;; - *) - echo "You might have modified some files without having the proper" - echo "tools for further handling them. Check the 'README' file, it" - echo "often tells you about the needed prerequisites for installing" - echo "this package. You may also peek at any GNU archive site, in" - echo "case some other package contains this missing '$1' program." - ;; - esac -} - -give_advice "$1" | sed -e '1s/^/WARNING: /' \ - -e '2,$s/^/ /' >&2 - -# Propagate the correct exit status (expected to be 127 for a program -# not found, 63 for a program that failed due to version mismatch). -exit $st - -# 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: diff -Nru yaws-2.0.6+dfsg/aclocal.m4 yaws-2.0.7+dfsg/aclocal.m4 --- yaws-2.0.6+dfsg/aclocal.m4 2018-06-26 09:17:06.000000000 +0000 +++ yaws-2.0.7+dfsg/aclocal.m4 1970-01-01 00:00:00.000000000 +0000 @@ -1,1220 +0,0 @@ -# generated automatically by aclocal 1.15.1 -*- Autoconf -*- - -# Copyright (C) 1996-2017 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. - -# 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. - -m4_ifndef([AC_CONFIG_MACRO_DIRS], [m4_defun([_AM_CONFIG_MACRO_DIRS], [])m4_defun([AC_CONFIG_MACRO_DIRS], [_AM_CONFIG_MACRO_DIRS($@)])]) -m4_ifndef([AC_AUTOCONF_VERSION], - [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl -m4_if(m4_defn([AC_AUTOCONF_VERSION]), [2.69],, -[m4_warning([this file was generated for autoconf 2.69. -You have another version of autoconf. It may work, but is not guaranteed to. -If you have problems, you may need to regenerate the build system entirely. -To do so, use the procedure documented by the package, typically 'autoreconf'.])]) - -# Copyright (C) 2002-2017 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.15' -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.15.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.15.1])dnl -m4_ifndef([AC_AUTOCONF_VERSION], - [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl -_AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))]) - -# Copyright (C) 2011-2017 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_AR([ACT-IF-FAIL]) -# ------------------------- -# Try to determine the archiver interface, and trigger the ar-lib wrapper -# if it is needed. If the detection of archiver interface fails, run -# ACT-IF-FAIL (default is to abort configure with a proper error message). -AC_DEFUN([AM_PROG_AR], -[AC_BEFORE([$0], [LT_INIT])dnl -AC_BEFORE([$0], [AC_PROG_LIBTOOL])dnl -AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl -AC_REQUIRE_AUX_FILE([ar-lib])dnl -AC_CHECK_TOOLS([AR], [ar lib "link -lib"], [false]) -: ${AR=ar} - -AC_CACHE_CHECK([the archiver ($AR) interface], [am_cv_ar_interface], - [AC_LANG_PUSH([C]) - am_cv_ar_interface=ar - AC_COMPILE_IFELSE([AC_LANG_SOURCE([[int some_variable = 0;]])], - [am_ar_try='$AR cru libconftest.a conftest.$ac_objext >&AS_MESSAGE_LOG_FD' - AC_TRY_EVAL([am_ar_try]) - if test "$ac_status" -eq 0; then - am_cv_ar_interface=ar - else - am_ar_try='$AR -NOLOGO -OUT:conftest.lib conftest.$ac_objext >&AS_MESSAGE_LOG_FD' - AC_TRY_EVAL([am_ar_try]) - if test "$ac_status" -eq 0; then - am_cv_ar_interface=lib - else - am_cv_ar_interface=unknown - fi - fi - rm -f conftest.lib libconftest.a - ]) - AC_LANG_POP([C])]) - -case $am_cv_ar_interface in -ar) - ;; -lib) - # Microsoft lib, so override with the ar-lib wrapper script. - # FIXME: It is wrong to rewrite AR. - # But if we don't then we get into trouble of one sort or another. - # A longer-term fix would be to have automake use am__AR in this case, - # and then we could set am__AR="$am_aux_dir/ar-lib \$(AR)" or something - # similar. - AR="$am_aux_dir/ar-lib $AR" - ;; -unknown) - m4_default([$1], - [AC_MSG_ERROR([could not determine $AR interface])]) - ;; -esac -AC_SUBST([AR])dnl -]) - -# AM_AUX_DIR_EXPAND -*- Autoconf -*- - -# Copyright (C) 2001-2017 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], -[AC_REQUIRE([AC_CONFIG_AUX_DIR_DEFAULT])dnl -# Expand $ac_aux_dir to an absolute path. -am_aux_dir=`cd "$ac_aux_dir" && pwd` -]) - -# AM_CONDITIONAL -*- Autoconf -*- - -# Copyright (C) 1997-2017 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_CONDITIONAL(NAME, SHELL-CONDITION) -# ------------------------------------- -# Define a conditional. -AC_DEFUN([AM_CONDITIONAL], -[AC_PREREQ([2.52])dnl - m4_if([$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-2017 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. - - -# 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", "OBJC", "OBJCXX", "UPC", or "GJC". -# 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 - -m4_if([$1], [CC], [depcc="$CC" am_compiler_list=], - [$1], [CXX], [depcc="$CXX" am_compiler_list=], - [$1], [OBJC], [depcc="$OBJC" am_compiler_list='gcc3 gcc'], - [$1], [OBJCXX], [depcc="$OBJCXX" 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". - rm -rf conftest.dir - 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 10 /bin/sh. - echo '/* dummy */' > 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 - ;; - msvc7 | msvc7msys | 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], [dnl -AS_HELP_STRING( - [--enable-dependency-tracking], - [do not reject slow dependency extractors]) -AS_HELP_STRING( - [--disable-dependency-tracking], - [speeds up one-time build])]) -if test "x$enable_dependency_tracking" != xno; then - am_depcomp="$ac_aux_dir/depcomp" - AMDEPBACKSLASH='\' - am__nodep='_no' -fi -AM_CONDITIONAL([AMDEP], [test "x$enable_dependency_tracking" != xno]) -AC_SUBST([AMDEPBACKSLASH])dnl -_AM_SUBST_NOTMAKE([AMDEPBACKSLASH])dnl -AC_SUBST([am__nodep])dnl -_AM_SUBST_NOTMAKE([am__nodep])dnl -]) - -# Generate code to set up dependency tracking. -*- Autoconf -*- - -# Copyright (C) 1999-2017 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_OUTPUT_DEPENDENCY_COMMANDS -# ------------------------------ -AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS], -[{ - # Older Autoconf 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"` - # 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'`; 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-2017 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. - -# 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. - -dnl Redefine AC_PROG_CC to automatically invoke _AM_PROG_CC_C_O. -m4_define([AC_PROG_CC], -m4_defn([AC_PROG_CC]) -[_AM_PROG_CC_C_O -]) - -# 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.65])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], -[AC_DIAGNOSE([obsolete], - [$0: two- and three-arguments forms are deprecated.]) -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], [ok]):m4_ifdef([AC_PACKAGE_VERSION], [ok]), - [ok:ok],, - [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([AC_PROG_MKDIR_P])dnl -# For better backward compatibility. To be removed once Automake 1.9.x -# dies out for good. For more background, see: -# -# -AC_SUBST([mkdir_p], ['$(MKDIR_P)']) -# We need awk for the "check" target (and possibly the TAP driver). 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])], - [m4_define([AC_PROG_CC], - m4_defn([AC_PROG_CC])[_AM_DEPENDENCIES([CC])])])dnl -AC_PROVIDE_IFELSE([AC_PROG_CXX], - [_AM_DEPENDENCIES([CXX])], - [m4_define([AC_PROG_CXX], - m4_defn([AC_PROG_CXX])[_AM_DEPENDENCIES([CXX])])])dnl -AC_PROVIDE_IFELSE([AC_PROG_OBJC], - [_AM_DEPENDENCIES([OBJC])], - [m4_define([AC_PROG_OBJC], - m4_defn([AC_PROG_OBJC])[_AM_DEPENDENCIES([OBJC])])])dnl -AC_PROVIDE_IFELSE([AC_PROG_OBJCXX], - [_AM_DEPENDENCIES([OBJCXX])], - [m4_define([AC_PROG_OBJCXX], - m4_defn([AC_PROG_OBJCXX])[_AM_DEPENDENCIES([OBJCXX])])])dnl -]) -AC_REQUIRE([AM_SILENT_RULES])dnl -dnl The testsuite driver may need to know about EXEEXT, so add the -dnl 'am__EXEEXT' conditional if _AM_COMPILER_EXEEXT was seen. This -dnl macro 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 - -# POSIX will say in a future version that running "rm -f" with no argument -# is OK; and we want to be able to make that assumption in our Makefile -# recipes. So use an aggressive probe to check that the usage we want is -# actually supported "in the wild" to an acceptable degree. -# See automake bug#10828. -# To make any issue more visible, cause the running configure to be aborted -# by default if the 'rm' program in use doesn't match our expectations; the -# user can still override this though. -if rm -f && rm -fr && rm -rf; then : OK; else - cat >&2 <<'END' -Oops! - -Your 'rm' program seems unable to run without file operands specified -on the command line, even when the '-f' option is present. This is contrary -to the behaviour of most rm programs out there, and not conforming with -the upcoming POSIX standard: - -Please tell bug-automake@gnu.org about your system, including the value -of your $PATH and any error possibly output before this message. This -can help us improve future automake versions. - -END - if test x"$ACCEPT_INFERIOR_RM_PROGRAM" = x"yes"; then - echo 'Configuration will proceed anyway, since you have set the' >&2 - echo 'ACCEPT_INFERIOR_RM_PROGRAM variable to "yes"' >&2 - echo >&2 - else - cat >&2 <<'END' -Aborting the configuration process, to ensure you take notice of the issue. - -You can download and install GNU coreutils to get an 'rm' implementation -that behaves properly: . - -If you want to complete the configuration process using your problematic -'rm' anyway, export the environment variable ACCEPT_INFERIOR_RM_PROGRAM -to "yes", and re-run configure. - -END - AC_MSG_ERROR([Your 'rm' program is bad, sorry.]) - fi -fi -dnl The trailing newline in this macro's definition is deliberate, for -dnl backward compatibility and to allow trailing 'dnl'-style comments -dnl after the AM_INIT_AUTOMAKE invocation. See automake bug#16841. -]) - -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-2017 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+set}" != 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-2017 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. - -# 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])]) - -# Check to see how 'make' treats includes. -*- Autoconf -*- - -# Copyright (C) 2001-2017 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_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-2017 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_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 is modern enough. -# If it is, 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 --is-lightweight"; then - am_missing_run="$MISSING " -else - am_missing_run= - AC_MSG_WARN(['missing' script is too old or missing]) -fi -]) - -# Helper functions for option handling. -*- Autoconf -*- - -# Copyright (C) 2001-2017 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_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) 1999-2017 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_CC_C_O -# --------------- -# Like AC_PROG_CC_C_O, but changed for automake. We rewrite AC_PROG_CC -# to automatically call this. -AC_DEFUN([_AM_PROG_CC_C_O], -[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl -AC_REQUIRE_AUX_FILE([compile])dnl -AC_LANG_PUSH([C])dnl -AC_CACHE_CHECK( - [whether $CC understands -c and -o together], - [am_cv_prog_cc_c_o], - [AC_LANG_CONFTEST([AC_LANG_PROGRAM([])]) - # Make sure it works both with $CC and with simple cc. - # Following AC_PROG_CC_C_O, we do the test twice because some - # compilers refuse to overwrite an existing .o file with -o, - # though they will create one. - am_cv_prog_cc_c_o=yes - for am_i in 1 2; do - if AM_RUN_LOG([$CC -c conftest.$ac_ext -o conftest2.$ac_objext]) \ - && test -f conftest2.$ac_objext; then - : OK - else - am_cv_prog_cc_c_o=no - break - fi - done - rm -f core conftest* - unset am_i]) -if test "$am_cv_prog_cc_c_o" != yes; then - # Losing compiler, so override with the script. - # FIXME: It is wrong to rewrite CC. - # But if we don't then we get into trouble of one sort or another. - # A longer-term fix would be to have automake use am__CC in this case, - # and then we could set am__CC="\$(top_srcdir)/compile \$(CC)" - CC="$am_aux_dir/compile $CC" -fi -AC_LANG_POP([C])]) - -# For backward compatibility. -AC_DEFUN_ONCE([AM_PROG_CC_C_O], [AC_REQUIRE([AC_PROG_CC])]) - -# Copyright (C) 2001-2017 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_RUN_LOG(COMMAND) -# ------------------- -# Run COMMAND, save the exit status in ac_status, and log it. -# (This has been adapted from Autoconf's _AC_RUN_LOG macro.) -AC_DEFUN([AM_RUN_LOG], -[{ echo "$as_me:$LINENO: $1" >&AS_MESSAGE_LOG_FD - ($1) >&AS_MESSAGE_LOG_FD 2>&AS_MESSAGE_LOG_FD - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&AS_MESSAGE_LOG_FD - (exit $ac_status); }]) - -# Check to make sure that the build environment is sane. -*- Autoconf -*- - -# Copyright (C) 1996-2017 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_SANITY_CHECK -# --------------- -AC_DEFUN([AM_SANITY_CHECK], -[AC_MSG_CHECKING([whether build environment is sane]) -# 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 ( - am_has_slept=no - for am_try in 1 2; do - echo "timestamp, slept: $am_has_slept" > conftest.file - 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 - 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 - if test "$[2]" = conftest.file || test $am_try -eq 2; then - break - fi - # Just in case. - sleep 1 - am_has_slept=yes - done - 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]) -# If we didn't sleep, we still need to ensure time stamps of config.status and -# generated files are strictly newer. -am_sleep_pid= -if grep 'slept: no' conftest.file >/dev/null 2>&1; then - ( sleep 1 ) & - am_sleep_pid=$! -fi -AC_CONFIG_COMMANDS_PRE( - [AC_MSG_CHECKING([that generated files are newer than configure]) - if test -n "$am_sleep_pid"; then - # Hide warnings about reused PIDs. - wait $am_sleep_pid 2>/dev/null - fi - AC_MSG_RESULT([done])]) -rm -f conftest.file -]) - -# Copyright (C) 2009-2017 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_SILENT_RULES([DEFAULT]) -# -------------------------- -# Enable less verbose build rules; with the default set to DEFAULT -# ("yes" being less verbose, "no" or empty being verbose). -AC_DEFUN([AM_SILENT_RULES], -[AC_ARG_ENABLE([silent-rules], [dnl -AS_HELP_STRING( - [--enable-silent-rules], - [less verbose build output (undo: "make V=1")]) -AS_HELP_STRING( - [--disable-silent-rules], - [verbose build output (undo: "make V=0")])dnl -]) -case $enable_silent_rules in @%:@ ((( - yes) AM_DEFAULT_VERBOSITY=0;; - no) AM_DEFAULT_VERBOSITY=1;; - *) AM_DEFAULT_VERBOSITY=m4_if([$1], [yes], [0], [1]);; -esac -dnl -dnl A few 'make' implementations (e.g., NonStop OS and NextStep) -dnl do not support nested variable expansions. -dnl See automake bug#9928 and bug#10237. -am_make=${MAKE-make} -AC_CACHE_CHECK([whether $am_make supports nested variables], - [am_cv_make_support_nested_variables], - [if AS_ECHO([['TRUE=$(BAR$(V)) -BAR0=false -BAR1=true -V=1 -am__doit: - @$(TRUE) -.PHONY: am__doit']]) | $am_make -f - >/dev/null 2>&1; then - am_cv_make_support_nested_variables=yes -else - am_cv_make_support_nested_variables=no -fi]) -if test $am_cv_make_support_nested_variables = yes; then - dnl Using '$V' instead of '$(V)' breaks IRIX make. - AM_V='$(V)' - AM_DEFAULT_V='$(AM_DEFAULT_VERBOSITY)' -else - AM_V=$AM_DEFAULT_VERBOSITY - AM_DEFAULT_V=$AM_DEFAULT_VERBOSITY -fi -AC_SUBST([AM_V])dnl -AM_SUBST_NOTMAKE([AM_V])dnl -AC_SUBST([AM_DEFAULT_V])dnl -AM_SUBST_NOTMAKE([AM_DEFAULT_V])dnl -AC_SUBST([AM_DEFAULT_VERBOSITY])dnl -AM_BACKSLASH='\' -AC_SUBST([AM_BACKSLASH])dnl -_AM_SUBST_NOTMAKE([AM_BACKSLASH])dnl -]) - -# Copyright (C) 2001-2017 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-2017 Free Software Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# _AM_SUBST_NOTMAKE(VARIABLE) -# --------------------------- -# Prevent Automake from outputting VARIABLE = @VARIABLE@ in Makefile.in. -# This macro is traced by Automake. -AC_DEFUN([_AM_SUBST_NOTMAKE]) - -# 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-2017 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_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. Yes, it's still used -# in the wild :-( We should find a proper way to deprecate it ... -AC_SUBST([AMTAR], ['$${TAR-tar}']) - -# We'll loop over all known methods to create a tar archive until one works. -_am_tools='gnutar m4_if([$1], [ustar], [plaintar]) pax cpio none' - -m4_if([$1], [v7], - [am__tar='$${TAR-tar} chof - "$$tardir"' am__untar='$${TAR-tar} xf -'], - - [m4_case([$1], - [ustar], - [# The POSIX 1988 'ustar' format is defined with fixed-size fields. - # There is notably a 21 bits limit for the UID and the GID. In fact, - # the 'pax' utility can hang on bigger UID/GID (see automake bug#8343 - # and bug#13588). - am_max_uid=2097151 # 2^21 - 1 - am_max_gid=$am_max_uid - # The $UID and $GID variables are not portable, so we need to resort - # to the POSIX-mandated id(1) utility. Errors in the 'id' calls - # below are definitely unexpected, so allow the users to see them - # (that is, avoid stderr redirection). - am_uid=`id -u || echo unknown` - am_gid=`id -g || echo unknown` - AC_MSG_CHECKING([whether UID '$am_uid' is supported by ustar format]) - if test $am_uid -le $am_max_uid; then - AC_MSG_RESULT([yes]) - else - AC_MSG_RESULT([no]) - _am_tools=none - fi - AC_MSG_CHECKING([whether GID '$am_gid' is supported by ustar format]) - if test $am_gid -le $am_max_gid; then - AC_MSG_RESULT([yes]) - else - AC_MSG_RESULT([no]) - _am_tools=none - fi], - - [pax], - [], - - [m4_fatal([Unknown tar format])]) - - AC_MSG_CHECKING([how to create a $1 tar archive]) - - # Go ahead even if we have the value already cached. We do so because we - # need to set the values for the 'am__tar' and 'am__untar' variables. - _am_tools=${am_cv_prog_tar_$1-$_am_tools} - - 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/ax_compare_version.m4]) -m4_include([m4/colored-echo.m4]) -m4_include([m4/erlang.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]) diff -Nru yaws-2.0.6+dfsg/applications/chat/ebin/Makefile.in yaws-2.0.7+dfsg/applications/chat/ebin/Makefile.in --- yaws-2.0.6+dfsg/applications/chat/ebin/Makefile.in 2018-06-26 09:17:08.000000000 +0000 +++ yaws-2.0.7+dfsg/applications/chat/ebin/Makefile.in 1970-01-01 00:00:00.000000000 +0000 @@ -1,578 +0,0 @@ -# Makefile.in generated by automake 1.15.1 from Makefile.am. -# @configure_input@ - -# Copyright (C) 1994-2017 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@ -am__is_gnu_make = { \ - if test -z '$(MAKELEVEL)'; then \ - false; \ - elif test -n '$(MAKE_HOST)'; then \ - true; \ - elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ - true; \ - else \ - false; \ - fi; \ -} -am__make_running_with_option = \ - case $${target_option-} in \ - ?) ;; \ - *) echo "am__make_running_with_option: internal error: invalid" \ - "target option '$${target_option-}' specified" >&2; \ - exit 1;; \ - esac; \ - has_opt=no; \ - sane_makeflags=$$MAKEFLAGS; \ - if $(am__is_gnu_make); then \ - sane_makeflags=$$MFLAGS; \ - else \ - case $$MAKEFLAGS in \ - *\\[\ \ ]*) \ - bs=\\; \ - sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ - | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ - esac; \ - fi; \ - skip_next=no; \ - strip_trailopt () \ - { \ - flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ - }; \ - for flg in $$sane_makeflags; do \ - test $$skip_next = yes && { skip_next=no; continue; }; \ - case $$flg in \ - *=*|--*) continue;; \ - -*I) strip_trailopt 'I'; skip_next=yes;; \ - -*I?*) strip_trailopt 'I';; \ - -*O) strip_trailopt 'O'; skip_next=yes;; \ - -*O?*) strip_trailopt 'O';; \ - -*l) strip_trailopt 'l'; skip_next=yes;; \ - -*l?*) strip_trailopt 'l';; \ - -[dEDm]) skip_next=yes;; \ - -[JT]) skip_next=yes;; \ - esac; \ - case $$flg in \ - *$$target_option*) has_opt=yes; break;; \ - esac; \ - done; \ - test $$has_opt = yes -am__make_dryrun = (target_option=n; $(am__make_running_with_option)) -am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) -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 = applications/chat/ebin -ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/m4/ax_compare_version.m4 \ - $(top_srcdir)/m4/colored-echo.m4 $(top_srcdir)/m4/erlang.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)/configure.ac -am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ - $(ACLOCAL_M4) -DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON) -mkinstalldirs = $(install_sh) -d -CONFIG_CLEAN_FILES = -CONFIG_CLEAN_VPATH_FILES = -AM_V_P = $(am__v_P_@AM_V@) -am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) -am__v_P_0 = false -am__v_P_1 = : -AM_V_GEN = $(am__v_GEN_@AM_V@) -am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) -am__v_GEN_0 = @echo " GEN " $@; -am__v_GEN_1 = -AM_V_at = $(am__v_at_@AM_V@) -am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) -am__v_at_0 = @ -am__v_at_1 = -SOURCES = -DIST_SOURCES = -am__can_run_installinfo = \ - case $$AM_UPDATE_INFO_DIR in \ - n|no|NO) false;; \ - *) (install-info --version) >/dev/null 2>&1;; \ - esac -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__uninstall_files_from_dir = { \ - test -z "$$files" \ - || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \ - || { echo " ( cd '$$dir' && rm -f" $$files ")"; \ - $(am__cd) "$$dir" && rm -f $$files; }; \ - } -am__installdirs = "$(DESTDIR)$(beamdir)" -DATA = $(beam_DATA) -am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) -am__DIST_COMMON = $(srcdir)/Makefile.in -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) -ACLOCAL = @ACLOCAL@ -AMTAR = @AMTAR@ -AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ -APPDEPS = @APPDEPS@ -AR = @AR@ -AUTOCONF = @AUTOCONF@ -AUTOHEADER = @AUTOHEADER@ -AUTOMAKE = @AUTOMAKE@ -AWK = @AWK@ -CADAVER = @CADAVER@ -CC = @CC@ -CCDEPMODE = @CCDEPMODE@ -CFLAGS = @CFLAGS@ -CONFIG_STATUS_DEPENDENCIES = @CONFIG_STATUS_DEPENDENCIES@ -CPP = @CPP@ -CPPFLAGS = @CPPFLAGS@ -CT_RUN = @CT_RUN@ -CURL = @CURL@ -CYGPATH_W = @CYGPATH_W@ -DEFAULT_CHARSET = @DEFAULT_CHARSET@ -DEFS = @DEFS@ -DEPDIR = @DEPDIR@ -DIALYZER = @DIALYZER@ -DLLTOOL = @DLLTOOL@ -DSYMUTIL = @DSYMUTIL@ -DUMPBIN = @DUMPBIN@ -DVILATEX = @DVILATEX@ -DVIPS = @DVIPS@ -ECHO_C = @ECHO_C@ -ECHO_N = @ECHO_N@ -ECHO_T = @ECHO_T@ -EGREP = @EGREP@ -EPAM_CFLAGS = @EPAM_CFLAGS@ -EPSTOPDF = @EPSTOPDF@ -ERL = @ERL@ -ERLANG_ERTS_DIR = @ERLANG_ERTS_DIR@ -ERLANG_ERTS_VER = @ERLANG_ERTS_VER@ -ERLANG_INSTALL_LIB_DIR = @ERLANG_INSTALL_LIB_DIR@ -ERLANG_INSTALL_LIB_DIR_yapp = @ERLANG_INSTALL_LIB_DIR_yapp@ -ERLANG_INSTALL_LIB_DIR_yaws = @ERLANG_INSTALL_LIB_DIR_yaws@ -ERLANG_LIB_DIR = @ERLANG_LIB_DIR@ -ERLANG_LIB_DIR_common_test = @ERLANG_LIB_DIR_common_test@ -ERLANG_LIB_DIR_compiler = @ERLANG_LIB_DIR_compiler@ -ERLANG_LIB_DIR_crypto = @ERLANG_LIB_DIR_crypto@ -ERLANG_LIB_DIR_erlsom = @ERLANG_LIB_DIR_erlsom@ -ERLANG_LIB_DIR_erts = @ERLANG_LIB_DIR_erts@ -ERLANG_LIB_DIR_eunit = @ERLANG_LIB_DIR_eunit@ -ERLANG_LIB_DIR_inets = @ERLANG_LIB_DIR_inets@ -ERLANG_LIB_DIR_kernel = @ERLANG_LIB_DIR_kernel@ -ERLANG_LIB_DIR_mnesia = @ERLANG_LIB_DIR_mnesia@ -ERLANG_LIB_DIR_public_key = @ERLANG_LIB_DIR_public_key@ -ERLANG_LIB_DIR_sasl = @ERLANG_LIB_DIR_sasl@ -ERLANG_LIB_DIR_ssl = @ERLANG_LIB_DIR_ssl@ -ERLANG_LIB_DIR_stdlib = @ERLANG_LIB_DIR_stdlib@ -ERLANG_LIB_DIR_tools = @ERLANG_LIB_DIR_tools@ -ERLANG_LIB_DIR_xmerl = @ERLANG_LIB_DIR_xmerl@ -ERLANG_LIB_DIR_xmlrpc = @ERLANG_LIB_DIR_xmlrpc@ -ERLANG_LIB_VER_common_test = @ERLANG_LIB_VER_common_test@ -ERLANG_LIB_VER_compiler = @ERLANG_LIB_VER_compiler@ -ERLANG_LIB_VER_crypto = @ERLANG_LIB_VER_crypto@ -ERLANG_LIB_VER_erlsom = @ERLANG_LIB_VER_erlsom@ -ERLANG_LIB_VER_erts = @ERLANG_LIB_VER_erts@ -ERLANG_LIB_VER_eunit = @ERLANG_LIB_VER_eunit@ -ERLANG_LIB_VER_inets = @ERLANG_LIB_VER_inets@ -ERLANG_LIB_VER_kernel = @ERLANG_LIB_VER_kernel@ -ERLANG_LIB_VER_mnesia = @ERLANG_LIB_VER_mnesia@ -ERLANG_LIB_VER_public_key = @ERLANG_LIB_VER_public_key@ -ERLANG_LIB_VER_sasl = @ERLANG_LIB_VER_sasl@ -ERLANG_LIB_VER_ssl = @ERLANG_LIB_VER_ssl@ -ERLANG_LIB_VER_stdlib = @ERLANG_LIB_VER_stdlib@ -ERLANG_LIB_VER_tools = @ERLANG_LIB_VER_tools@ -ERLANG_LIB_VER_xmerl = @ERLANG_LIB_VER_xmerl@ -ERLANG_LIB_VER_xmlrpc = @ERLANG_LIB_VER_xmlrpc@ -ERLANG_RELEASE = @ERLANG_RELEASE@ -ERLANG_ROOT_DIR = @ERLANG_ROOT_DIR@ -ERLC = @ERLC@ -ERLCFLAGS = @ERLCFLAGS@ -ERL_LIBS = @ERL_LIBS@ -ESCRIPT = @ESCRIPT@ -EXEEXT = @EXEEXT@ -EXTRAINCLUDE = @EXTRAINCLUDE@ -FGREP = @FGREP@ -GREP = @GREP@ -HAVE_SENDFILE = @HAVE_SENDFILE@ -INSTALL = @INSTALL@ -INSTALL_BUILDER = @INSTALL_BUILDER@ -INSTALL_DATA = @INSTALL_DATA@ -INSTALL_PROGRAM = @INSTALL_PROGRAM@ -INSTALL_SCRIPT = @INSTALL_SCRIPT@ -INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ -LD = @LD@ -LDFLAGS = @LDFLAGS@ -LIBOBJS = @LIBOBJS@ -LIBS = @LIBS@ -LIBTOOL = @LIBTOOL@ -LIPO = @LIPO@ -LN_S = @LN_S@ -LTLIBOBJS = @LTLIBOBJS@ -LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@ -MAKEINFO = @MAKEINFO@ -MAN = @MAN@ -MANIFEST_TOOL = @MANIFEST_TOOL@ -MKDIR_P = @MKDIR_P@ -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_URL = @PACKAGE_URL@ -PACKAGE_VERSION = @PACKAGE_VERSION@ -PATH_SEPARATOR = @PATH_SEPARATOR@ -PDFLATEX = @PDFLATEX@ -PS2PDF = @PS2PDF@ -RANLIB = @RANLIB@ -SED = @SED@ -SET_MAKE = @SET_MAKE@ -SHELL = @SHELL@ -STRIP = @STRIP@ -TODOS = @TODOS@ -UNIX2DOS = @UNIX2DOS@ -VERSION = @VERSION@ -WERL = @WERL@ -YAPP_VSN = @YAPP_VSN@ -YAWS_VSN = @YAWS_VSN@ -abs_builddir = @abs_builddir@ -abs_srcdir = @abs_srcdir@ -abs_top_builddir = @abs_top_builddir@ -abs_top_srcdir = @abs_top_srcdir@ -ac_ct_AR = @ac_ct_AR@ -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@ -appsdir = @appsdir@ -bindir = @bindir@ -build = @build@ -build_alias = @build_alias@ -build_cpu = @build_cpu@ -build_os = @build_os@ -build_vendor = @build_vendor@ -builddir = @builddir@ -confdir = @confdir@ -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@ -logdir = @logdir@ -mandir = @mandir@ -mkdir_p = @mkdir_p@ -oldincludedir = @oldincludedir@ -pdfdir = @pdfdir@ -prefix = @prefix@ -program_transform_name = @program_transform_name@ -psdir = @psdir@ -runstatedir = @runstatedir@ -sbindir = @sbindir@ -sharedstatedir = @sharedstatedir@ -srcdir = @srcdir@ -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@ -wwwdir = @wwwdir@ -yappdir = @yappdir@ -yawsdir = @yawsdir@ -beamdir = $(appsdir)/chat/ebin -BEAM_FILES = *.beam -beam_DATA = $(BEAM_FILES) -all: all-am - -.SUFFIXES: -$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) - @for dep in $?; do \ - case '$(am__configure_deps)' in \ - *$$dep*) \ - ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ - && { if test -f $@; then exit 0; else break; fi; }; \ - exit 1;; \ - esac; \ - done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign applications/chat/ebin/Makefile'; \ - $(am__cd) $(top_srcdir) && \ - $(AUTOMAKE) --foreign applications/chat/ebin/Makefile -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - @case '$?' in \ - *config.status*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ - *) \ - echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ - esac; - -$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh - -$(top_srcdir)/configure: $(am__configure_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(ACLOCAL_M4): $(am__aclocal_m4_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(am__aclocal_m4_deps): - -mostlyclean-libtool: - -rm -f *.lo - -clean-libtool: - -rm -rf .libs _libs -install-beamDATA: $(beam_DATA) - @$(NORMAL_INSTALL) - @list='$(beam_DATA)'; test -n "$(beamdir)" || list=; \ - if test -n "$$list"; then \ - echo " $(MKDIR_P) '$(DESTDIR)$(beamdir)'"; \ - $(MKDIR_P) "$(DESTDIR)$(beamdir)" || exit 1; \ - fi; \ - 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)$(beamdir)'"; \ - $(INSTALL_DATA) $$files "$(DESTDIR)$(beamdir)" || exit $$?; \ - done - -uninstall-beamDATA: - @$(NORMAL_UNINSTALL) - @list='$(beam_DATA)'; test -n "$(beamdir)" || list=; \ - files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ - dir='$(DESTDIR)$(beamdir)'; $(am__uninstall_files_from_dir) -tags TAGS: - -ctags CTAGS: - -cscope cscopelist: - - -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 $(DATA) -installdirs: - for dir in "$(DESTDIR)$(beamdir)"; do \ - test -z "$$dir" || $(MKDIR_P) "$$dir"; \ - done -install: install-am -install-exec: install-exec-am -install-data: install-data-am -uninstall: uninstall-am - -install-am: all-am - @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am - -installcheck: installcheck-am -install-strip: - if test -z '$(STRIP)'; then \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - install; \ - else \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ - fi -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-beamDATA - -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: uninstall-beamDATA - -.MAKE: install-am install-strip - -.PHONY: all all-am check check-am clean clean-generic clean-libtool \ - clean-local cscopelist-am ctags-am distclean distclean-generic \ - distclean-libtool distdir dvi dvi-am html html-am info info-am \ - install install-am install-beamDATA 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 tags-am uninstall \ - uninstall-am uninstall-beamDATA - -.PRECIOUS: Makefile - - -clean-local: - $(AM_V_at)rm -f $(BEAM_FILES) - -# Local Variables: -# tab-width: 8 -# End: - -# Tell versions [3.59,3.63) of GNU make to not export all variables. -# Otherwise a system limit (for SysV at least) may be exceeded. -.NOEXPORT: diff -Nru yaws-2.0.6+dfsg/applications/chat/Makefile.in yaws-2.0.7+dfsg/applications/chat/Makefile.in --- yaws-2.0.6+dfsg/applications/chat/Makefile.in 2018-06-26 09:17:08.000000000 +0000 +++ yaws-2.0.7+dfsg/applications/chat/Makefile.in 1970-01-01 00:00:00.000000000 +0000 @@ -1,709 +0,0 @@ -# Makefile.in generated by automake 1.15.1 from Makefile.am. -# @configure_input@ - -# Copyright (C) 1994-2017 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@ -am__is_gnu_make = { \ - if test -z '$(MAKELEVEL)'; then \ - false; \ - elif test -n '$(MAKE_HOST)'; then \ - true; \ - elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ - true; \ - else \ - false; \ - fi; \ -} -am__make_running_with_option = \ - case $${target_option-} in \ - ?) ;; \ - *) echo "am__make_running_with_option: internal error: invalid" \ - "target option '$${target_option-}' specified" >&2; \ - exit 1;; \ - esac; \ - has_opt=no; \ - sane_makeflags=$$MAKEFLAGS; \ - if $(am__is_gnu_make); then \ - sane_makeflags=$$MFLAGS; \ - else \ - case $$MAKEFLAGS in \ - *\\[\ \ ]*) \ - bs=\\; \ - sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ - | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ - esac; \ - fi; \ - skip_next=no; \ - strip_trailopt () \ - { \ - flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ - }; \ - for flg in $$sane_makeflags; do \ - test $$skip_next = yes && { skip_next=no; continue; }; \ - case $$flg in \ - *=*|--*) continue;; \ - -*I) strip_trailopt 'I'; skip_next=yes;; \ - -*I?*) strip_trailopt 'I';; \ - -*O) strip_trailopt 'O'; skip_next=yes;; \ - -*O?*) strip_trailopt 'O';; \ - -*l) strip_trailopt 'l'; skip_next=yes;; \ - -*l?*) strip_trailopt 'l';; \ - -[dEDm]) skip_next=yes;; \ - -[JT]) skip_next=yes;; \ - esac; \ - case $$flg in \ - *$$target_option*) has_opt=yes; break;; \ - esac; \ - done; \ - test $$has_opt = yes -am__make_dryrun = (target_option=n; $(am__make_running_with_option)) -am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) -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 = applications/chat -ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/m4/ax_compare_version.m4 \ - $(top_srcdir)/m4/colored-echo.m4 $(top_srcdir)/m4/erlang.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)/configure.ac -am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ - $(ACLOCAL_M4) -DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON) -mkinstalldirs = $(install_sh) -d -CONFIG_CLEAN_FILES = -CONFIG_CLEAN_VPATH_FILES = -AM_V_P = $(am__v_P_@AM_V@) -am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) -am__v_P_0 = false -am__v_P_1 = : -AM_V_GEN = $(am__v_GEN_@AM_V@) -am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) -am__v_GEN_0 = @echo " GEN " $@; -am__v_GEN_1 = -AM_V_at = $(am__v_at_@AM_V@) -am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) -am__v_at_0 = @ -am__v_at_1 = -SOURCES = -DIST_SOURCES = -RECURSIVE_TARGETS = all-recursive check-recursive cscopelist-recursive \ - ctags-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 \ - tags-recursive uninstall-recursive -am__can_run_installinfo = \ - case $$AM_UPDATE_INFO_DIR in \ - n|no|NO) false;; \ - *) (install-info --version) >/dev/null 2>&1;; \ - esac -RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ - distclean-recursive maintainer-clean-recursive -am__recursive_targets = \ - $(RECURSIVE_TARGETS) \ - $(RECURSIVE_CLEAN_TARGETS) \ - $(am__extra_recursive_targets) -AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \ - distdir -am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) -# Read a list of newline-separated strings from the standard input, -# and print each of them once, without duplicates. Input order is -# *not* preserved. -am__uniquify_input = $(AWK) '\ - BEGIN { nonempty = 0; } \ - { items[$$0] = 1; nonempty = 1; } \ - END { if (nonempty) { for (i in items) print i; }; } \ -' -# Make sure the list of sources is unique. This is necessary because, -# e.g., the same source file might be shared among _SOURCES variables -# for different programs/libraries. -am__define_uniq_tagged_files = \ - list='$(am__tagged_files)'; \ - unique=`for i in $$list; do \ - if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ - done | $(am__uniquify_input)` -ETAGS = etags -CTAGS = ctags -DIST_SUBDIRS = $(SUBDIRS) -am__DIST_COMMON = $(srcdir)/Makefile.in -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) -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" -ACLOCAL = @ACLOCAL@ -AMTAR = @AMTAR@ -AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ -APPDEPS = @APPDEPS@ -AR = @AR@ -AUTOCONF = @AUTOCONF@ -AUTOHEADER = @AUTOHEADER@ -AUTOMAKE = @AUTOMAKE@ -AWK = @AWK@ -CADAVER = @CADAVER@ -CC = @CC@ -CCDEPMODE = @CCDEPMODE@ -CFLAGS = @CFLAGS@ -CONFIG_STATUS_DEPENDENCIES = @CONFIG_STATUS_DEPENDENCIES@ -CPP = @CPP@ -CPPFLAGS = @CPPFLAGS@ -CT_RUN = @CT_RUN@ -CURL = @CURL@ -CYGPATH_W = @CYGPATH_W@ -DEFAULT_CHARSET = @DEFAULT_CHARSET@ -DEFS = @DEFS@ -DEPDIR = @DEPDIR@ -DIALYZER = @DIALYZER@ -DLLTOOL = @DLLTOOL@ -DSYMUTIL = @DSYMUTIL@ -DUMPBIN = @DUMPBIN@ -DVILATEX = @DVILATEX@ -DVIPS = @DVIPS@ -ECHO_C = @ECHO_C@ -ECHO_N = @ECHO_N@ -ECHO_T = @ECHO_T@ -EGREP = @EGREP@ -EPAM_CFLAGS = @EPAM_CFLAGS@ -EPSTOPDF = @EPSTOPDF@ -ERL = @ERL@ -ERLANG_ERTS_DIR = @ERLANG_ERTS_DIR@ -ERLANG_ERTS_VER = @ERLANG_ERTS_VER@ -ERLANG_INSTALL_LIB_DIR = @ERLANG_INSTALL_LIB_DIR@ -ERLANG_INSTALL_LIB_DIR_yapp = @ERLANG_INSTALL_LIB_DIR_yapp@ -ERLANG_INSTALL_LIB_DIR_yaws = @ERLANG_INSTALL_LIB_DIR_yaws@ -ERLANG_LIB_DIR = @ERLANG_LIB_DIR@ -ERLANG_LIB_DIR_common_test = @ERLANG_LIB_DIR_common_test@ -ERLANG_LIB_DIR_compiler = @ERLANG_LIB_DIR_compiler@ -ERLANG_LIB_DIR_crypto = @ERLANG_LIB_DIR_crypto@ -ERLANG_LIB_DIR_erlsom = @ERLANG_LIB_DIR_erlsom@ -ERLANG_LIB_DIR_erts = @ERLANG_LIB_DIR_erts@ -ERLANG_LIB_DIR_eunit = @ERLANG_LIB_DIR_eunit@ -ERLANG_LIB_DIR_inets = @ERLANG_LIB_DIR_inets@ -ERLANG_LIB_DIR_kernel = @ERLANG_LIB_DIR_kernel@ -ERLANG_LIB_DIR_mnesia = @ERLANG_LIB_DIR_mnesia@ -ERLANG_LIB_DIR_public_key = @ERLANG_LIB_DIR_public_key@ -ERLANG_LIB_DIR_sasl = @ERLANG_LIB_DIR_sasl@ -ERLANG_LIB_DIR_ssl = @ERLANG_LIB_DIR_ssl@ -ERLANG_LIB_DIR_stdlib = @ERLANG_LIB_DIR_stdlib@ -ERLANG_LIB_DIR_tools = @ERLANG_LIB_DIR_tools@ -ERLANG_LIB_DIR_xmerl = @ERLANG_LIB_DIR_xmerl@ -ERLANG_LIB_DIR_xmlrpc = @ERLANG_LIB_DIR_xmlrpc@ -ERLANG_LIB_VER_common_test = @ERLANG_LIB_VER_common_test@ -ERLANG_LIB_VER_compiler = @ERLANG_LIB_VER_compiler@ -ERLANG_LIB_VER_crypto = @ERLANG_LIB_VER_crypto@ -ERLANG_LIB_VER_erlsom = @ERLANG_LIB_VER_erlsom@ -ERLANG_LIB_VER_erts = @ERLANG_LIB_VER_erts@ -ERLANG_LIB_VER_eunit = @ERLANG_LIB_VER_eunit@ -ERLANG_LIB_VER_inets = @ERLANG_LIB_VER_inets@ -ERLANG_LIB_VER_kernel = @ERLANG_LIB_VER_kernel@ -ERLANG_LIB_VER_mnesia = @ERLANG_LIB_VER_mnesia@ -ERLANG_LIB_VER_public_key = @ERLANG_LIB_VER_public_key@ -ERLANG_LIB_VER_sasl = @ERLANG_LIB_VER_sasl@ -ERLANG_LIB_VER_ssl = @ERLANG_LIB_VER_ssl@ -ERLANG_LIB_VER_stdlib = @ERLANG_LIB_VER_stdlib@ -ERLANG_LIB_VER_tools = @ERLANG_LIB_VER_tools@ -ERLANG_LIB_VER_xmerl = @ERLANG_LIB_VER_xmerl@ -ERLANG_LIB_VER_xmlrpc = @ERLANG_LIB_VER_xmlrpc@ -ERLANG_RELEASE = @ERLANG_RELEASE@ -ERLANG_ROOT_DIR = @ERLANG_ROOT_DIR@ -ERLC = @ERLC@ -ERLCFLAGS = @ERLCFLAGS@ -ERL_LIBS = @ERL_LIBS@ -ESCRIPT = @ESCRIPT@ -EXEEXT = @EXEEXT@ -EXTRAINCLUDE = @EXTRAINCLUDE@ -FGREP = @FGREP@ -GREP = @GREP@ -HAVE_SENDFILE = @HAVE_SENDFILE@ -INSTALL = @INSTALL@ -INSTALL_BUILDER = @INSTALL_BUILDER@ -INSTALL_DATA = @INSTALL_DATA@ -INSTALL_PROGRAM = @INSTALL_PROGRAM@ -INSTALL_SCRIPT = @INSTALL_SCRIPT@ -INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ -LD = @LD@ -LDFLAGS = @LDFLAGS@ -LIBOBJS = @LIBOBJS@ -LIBS = @LIBS@ -LIBTOOL = @LIBTOOL@ -LIPO = @LIPO@ -LN_S = @LN_S@ -LTLIBOBJS = @LTLIBOBJS@ -LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@ -MAKEINFO = @MAKEINFO@ -MAN = @MAN@ -MANIFEST_TOOL = @MANIFEST_TOOL@ -MKDIR_P = @MKDIR_P@ -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_URL = @PACKAGE_URL@ -PACKAGE_VERSION = @PACKAGE_VERSION@ -PATH_SEPARATOR = @PATH_SEPARATOR@ -PDFLATEX = @PDFLATEX@ -PS2PDF = @PS2PDF@ -RANLIB = @RANLIB@ -SED = @SED@ -SET_MAKE = @SET_MAKE@ -SHELL = @SHELL@ -STRIP = @STRIP@ -TODOS = @TODOS@ -UNIX2DOS = @UNIX2DOS@ -VERSION = @VERSION@ -WERL = @WERL@ -YAPP_VSN = @YAPP_VSN@ -YAWS_VSN = @YAWS_VSN@ -abs_builddir = @abs_builddir@ -abs_srcdir = @abs_srcdir@ -abs_top_builddir = @abs_top_builddir@ -abs_top_srcdir = @abs_top_srcdir@ -ac_ct_AR = @ac_ct_AR@ -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@ -appsdir = @appsdir@ -bindir = @bindir@ -build = @build@ -build_alias = @build_alias@ -build_cpu = @build_cpu@ -build_os = @build_os@ -build_vendor = @build_vendor@ -builddir = @builddir@ -confdir = @confdir@ -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@ -logdir = @logdir@ -mandir = @mandir@ -mkdir_p = @mkdir_p@ -oldincludedir = @oldincludedir@ -pdfdir = @pdfdir@ -prefix = @prefix@ -program_transform_name = @program_transform_name@ -psdir = @psdir@ -runstatedir = @runstatedir@ -sbindir = @sbindir@ -sharedstatedir = @sharedstatedir@ -srcdir = @srcdir@ -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@ -wwwdir = @wwwdir@ -yappdir = @yappdir@ -yawsdir = @yawsdir@ -SUBDIRS = src ebin -INSTDIR = $(DESTDIR)$(appsdir)/chat -EXTRA_DIST = www -all: all-recursive - -.SUFFIXES: -$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) - @for dep in $?; do \ - case '$(am__configure_deps)' in \ - *$$dep*) \ - ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ - && { if test -f $@; then exit 0; else break; fi; }; \ - exit 1;; \ - esac; \ - done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign applications/chat/Makefile'; \ - $(am__cd) $(top_srcdir) && \ - $(AUTOMAKE) --foreign applications/chat/Makefile -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - @case '$?' in \ - *config.status*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ - *) \ - echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ - esac; - -$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh - -$(top_srcdir)/configure: $(am__configure_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(ACLOCAL_M4): $(am__aclocal_m4_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(am__aclocal_m4_deps): - -mostlyclean-libtool: - -rm -f *.lo - -clean-libtool: - -rm -rf .libs _libs - -# 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. -$(am__recursive_targets): - @fail=; \ - if $(am__make_keepgoing); then \ - failcom='fail=yes'; \ - else \ - failcom='exit 1'; \ - fi; \ - dot_seen=no; \ - target=`echo $@ | sed s/-recursive//`; \ - case "$@" in \ - distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ - *) list='$(SUBDIRS)' ;; \ - esac; \ - 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" - -ID: $(am__tagged_files) - $(am__define_uniq_tagged_files); mkid -fID $$unique -tags: tags-recursive -TAGS: tags - -tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) - 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; \ - $(am__define_uniq_tagged_files); \ - 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-recursive - -CTAGS: ctags -ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) - $(am__define_uniq_tagged_files); \ - 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" -cscopelist: cscopelist-recursive - -cscopelist-am: $(am__tagged_files) - list='$(am__tagged_files)'; \ - case "$(srcdir)" in \ - [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ - *) sdir=$(subdir)/$(srcdir) ;; \ - esac; \ - for i in $$list; do \ - if test -f "$$i"; then \ - echo "$(subdir)/$$i"; \ - else \ - echo "$$sdir/$$i"; \ - fi; \ - done >> $(top_builddir)/cscope.files - -distclean-tags: - -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags - -distdir: $(DISTFILES) - @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - list='$(DISTFILES)'; \ - 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 \ - $(am__make_dryrun) \ - || test -d "$(distdir)/$$subdir" \ - || $(MKDIR_P) "$(distdir)/$$subdir" \ - || exit 1; \ - 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 -check-am: all-am -check: check-recursive -all-am: Makefile -installdirs: installdirs-recursive -installdirs-am: -install: install-recursive -install-exec: install-exec-recursive -install-data: install-data-recursive -uninstall: uninstall-recursive - -install-am: all-am - @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am - -installcheck: installcheck-recursive -install-strip: - if test -z '$(STRIP)'; then \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - install; \ - else \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ - fi -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-recursive - -clean-am: clean-generic clean-libtool mostlyclean-am - -distclean: distclean-recursive - -rm -f Makefile -distclean-am: clean-am distclean-generic distclean-tags - -dvi: dvi-recursive - -dvi-am: - -html: html-recursive - -html-am: - -info: info-recursive - -info-am: - -install-data-am: install-data-local - -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-pdf: install-pdf-recursive - -install-pdf-am: - -install-ps: install-ps-recursive - -install-ps-am: - -installcheck-am: - -maintainer-clean: maintainer-clean-recursive - -rm -f Makefile -maintainer-clean-am: distclean-am maintainer-clean-generic - -mostlyclean: mostlyclean-recursive - -mostlyclean-am: mostlyclean-generic mostlyclean-libtool - -pdf: pdf-recursive - -pdf-am: - -ps: ps-recursive - -ps-am: - -uninstall-am: uninstall-local - -.MAKE: $(am__recursive_targets) install-am install-strip - -.PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am check \ - check-am clean clean-generic clean-libtool cscopelist-am ctags \ - ctags-am distclean distclean-generic distclean-libtool \ - distclean-tags distdir dvi dvi-am html html-am info info-am \ - install install-am install-data install-data-am \ - install-data-local install-dvi install-dvi-am install-exec \ - install-exec-am install-html install-html-am install-info \ - install-info-am install-man install-pdf install-pdf-am \ - install-ps install-ps-am install-strip installcheck \ - installcheck-am installdirs installdirs-am maintainer-clean \ - maintainer-clean-generic mostlyclean mostlyclean-generic \ - mostlyclean-libtool pdf pdf-am ps ps-am tags tags-am uninstall \ - uninstall-am uninstall-local - -.PRECIOUS: Makefile - - -install-data-local: - $(AM_V_at)$(INSTALL) -d $(INSTDIR) - $(AM_V_at)(cd @srcdir@; tar cf - www ) | (cd $(INSTDIR); tar xf - ) - $(AM_V_at)chmod -R u+rw $(INSTDIR)/www - -uninstall-local: - $(AM_V_at)rm -fr $(INSTDIR)/www - -# Local Variables: -# tab-width: 8 -# End: - -# Tell versions [3.59,3.63) of GNU make to not export all variables. -# Otherwise a system limit (for SysV at least) may be exceeded. -.NOEXPORT: diff -Nru yaws-2.0.6+dfsg/applications/chat/src/Makefile.in yaws-2.0.7+dfsg/applications/chat/src/Makefile.in --- yaws-2.0.6+dfsg/applications/chat/src/Makefile.in 2018-06-26 09:17:08.000000000 +0000 +++ yaws-2.0.7+dfsg/applications/chat/src/Makefile.in 1970-01-01 00:00:00.000000000 +0000 @@ -1,538 +0,0 @@ -# Makefile.in generated by automake 1.15.1 from Makefile.am. -# @configure_input@ - -# Copyright (C) 1994-2017 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@ -am__is_gnu_make = { \ - if test -z '$(MAKELEVEL)'; then \ - false; \ - elif test -n '$(MAKE_HOST)'; then \ - true; \ - elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ - true; \ - else \ - false; \ - fi; \ -} -am__make_running_with_option = \ - case $${target_option-} in \ - ?) ;; \ - *) echo "am__make_running_with_option: internal error: invalid" \ - "target option '$${target_option-}' specified" >&2; \ - exit 1;; \ - esac; \ - has_opt=no; \ - sane_makeflags=$$MAKEFLAGS; \ - if $(am__is_gnu_make); then \ - sane_makeflags=$$MFLAGS; \ - else \ - case $$MAKEFLAGS in \ - *\\[\ \ ]*) \ - bs=\\; \ - sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ - | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ - esac; \ - fi; \ - skip_next=no; \ - strip_trailopt () \ - { \ - flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ - }; \ - for flg in $$sane_makeflags; do \ - test $$skip_next = yes && { skip_next=no; continue; }; \ - case $$flg in \ - *=*|--*) continue;; \ - -*I) strip_trailopt 'I'; skip_next=yes;; \ - -*I?*) strip_trailopt 'I';; \ - -*O) strip_trailopt 'O'; skip_next=yes;; \ - -*O?*) strip_trailopt 'O';; \ - -*l) strip_trailopt 'l'; skip_next=yes;; \ - -*l?*) strip_trailopt 'l';; \ - -[dEDm]) skip_next=yes;; \ - -[JT]) skip_next=yes;; \ - esac; \ - case $$flg in \ - *$$target_option*) has_opt=yes; break;; \ - esac; \ - done; \ - test $$has_opt = yes -am__make_dryrun = (target_option=n; $(am__make_running_with_option)) -am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) -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 = applications/chat/src -ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/m4/ax_compare_version.m4 \ - $(top_srcdir)/m4/colored-echo.m4 $(top_srcdir)/m4/erlang.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)/configure.ac -am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ - $(ACLOCAL_M4) -DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON) -mkinstalldirs = $(install_sh) -d -CONFIG_CLEAN_FILES = -CONFIG_CLEAN_VPATH_FILES = -AM_V_P = $(am__v_P_@AM_V@) -am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) -am__v_P_0 = false -am__v_P_1 = : -AM_V_GEN = $(am__v_GEN_@AM_V@) -am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) -am__v_GEN_0 = @echo " GEN " $@; -am__v_GEN_1 = -AM_V_at = $(am__v_at_@AM_V@) -am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) -am__v_at_0 = @ -am__v_at_1 = -SOURCES = -DIST_SOURCES = -am__can_run_installinfo = \ - case $$AM_UPDATE_INFO_DIR in \ - n|no|NO) false;; \ - *) (install-info --version) >/dev/null 2>&1;; \ - esac -am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) -am__DIST_COMMON = $(srcdir)/Makefile.in -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) -ACLOCAL = @ACLOCAL@ -AMTAR = @AMTAR@ -AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ -APPDEPS = @APPDEPS@ -AR = @AR@ -AUTOCONF = @AUTOCONF@ -AUTOHEADER = @AUTOHEADER@ -AUTOMAKE = @AUTOMAKE@ -AWK = @AWK@ -CADAVER = @CADAVER@ -CC = @CC@ -CCDEPMODE = @CCDEPMODE@ -CFLAGS = @CFLAGS@ -CONFIG_STATUS_DEPENDENCIES = @CONFIG_STATUS_DEPENDENCIES@ -CPP = @CPP@ -CPPFLAGS = @CPPFLAGS@ -CT_RUN = @CT_RUN@ -CURL = @CURL@ -CYGPATH_W = @CYGPATH_W@ -DEFAULT_CHARSET = @DEFAULT_CHARSET@ -DEFS = @DEFS@ -DEPDIR = @DEPDIR@ -DIALYZER = @DIALYZER@ -DLLTOOL = @DLLTOOL@ -DSYMUTIL = @DSYMUTIL@ -DUMPBIN = @DUMPBIN@ -DVILATEX = @DVILATEX@ -DVIPS = @DVIPS@ -ECHO_C = @ECHO_C@ -ECHO_N = @ECHO_N@ -ECHO_T = @ECHO_T@ -EGREP = @EGREP@ -EPAM_CFLAGS = @EPAM_CFLAGS@ -EPSTOPDF = @EPSTOPDF@ -ERL = @ERL@ -ERLANG_ERTS_DIR = @ERLANG_ERTS_DIR@ -ERLANG_ERTS_VER = @ERLANG_ERTS_VER@ -ERLANG_INSTALL_LIB_DIR = @ERLANG_INSTALL_LIB_DIR@ -ERLANG_INSTALL_LIB_DIR_yapp = @ERLANG_INSTALL_LIB_DIR_yapp@ -ERLANG_INSTALL_LIB_DIR_yaws = @ERLANG_INSTALL_LIB_DIR_yaws@ -ERLANG_LIB_DIR = @ERLANG_LIB_DIR@ -ERLANG_LIB_DIR_common_test = @ERLANG_LIB_DIR_common_test@ -ERLANG_LIB_DIR_compiler = @ERLANG_LIB_DIR_compiler@ -ERLANG_LIB_DIR_crypto = @ERLANG_LIB_DIR_crypto@ -ERLANG_LIB_DIR_erlsom = @ERLANG_LIB_DIR_erlsom@ -ERLANG_LIB_DIR_erts = @ERLANG_LIB_DIR_erts@ -ERLANG_LIB_DIR_eunit = @ERLANG_LIB_DIR_eunit@ -ERLANG_LIB_DIR_inets = @ERLANG_LIB_DIR_inets@ -ERLANG_LIB_DIR_kernel = @ERLANG_LIB_DIR_kernel@ -ERLANG_LIB_DIR_mnesia = @ERLANG_LIB_DIR_mnesia@ -ERLANG_LIB_DIR_public_key = @ERLANG_LIB_DIR_public_key@ -ERLANG_LIB_DIR_sasl = @ERLANG_LIB_DIR_sasl@ -ERLANG_LIB_DIR_ssl = @ERLANG_LIB_DIR_ssl@ -ERLANG_LIB_DIR_stdlib = @ERLANG_LIB_DIR_stdlib@ -ERLANG_LIB_DIR_tools = @ERLANG_LIB_DIR_tools@ -ERLANG_LIB_DIR_xmerl = @ERLANG_LIB_DIR_xmerl@ -ERLANG_LIB_DIR_xmlrpc = @ERLANG_LIB_DIR_xmlrpc@ -ERLANG_LIB_VER_common_test = @ERLANG_LIB_VER_common_test@ -ERLANG_LIB_VER_compiler = @ERLANG_LIB_VER_compiler@ -ERLANG_LIB_VER_crypto = @ERLANG_LIB_VER_crypto@ -ERLANG_LIB_VER_erlsom = @ERLANG_LIB_VER_erlsom@ -ERLANG_LIB_VER_erts = @ERLANG_LIB_VER_erts@ -ERLANG_LIB_VER_eunit = @ERLANG_LIB_VER_eunit@ -ERLANG_LIB_VER_inets = @ERLANG_LIB_VER_inets@ -ERLANG_LIB_VER_kernel = @ERLANG_LIB_VER_kernel@ -ERLANG_LIB_VER_mnesia = @ERLANG_LIB_VER_mnesia@ -ERLANG_LIB_VER_public_key = @ERLANG_LIB_VER_public_key@ -ERLANG_LIB_VER_sasl = @ERLANG_LIB_VER_sasl@ -ERLANG_LIB_VER_ssl = @ERLANG_LIB_VER_ssl@ -ERLANG_LIB_VER_stdlib = @ERLANG_LIB_VER_stdlib@ -ERLANG_LIB_VER_tools = @ERLANG_LIB_VER_tools@ -ERLANG_LIB_VER_xmerl = @ERLANG_LIB_VER_xmerl@ -ERLANG_LIB_VER_xmlrpc = @ERLANG_LIB_VER_xmlrpc@ -ERLANG_RELEASE = @ERLANG_RELEASE@ -ERLANG_ROOT_DIR = @ERLANG_ROOT_DIR@ -ERLC = @ERLC@ -ERLCFLAGS = @ERLCFLAGS@ -ERL_LIBS = @ERL_LIBS@ -ESCRIPT = @ESCRIPT@ -EXEEXT = @EXEEXT@ -EXTRAINCLUDE = @EXTRAINCLUDE@ -FGREP = @FGREP@ -GREP = @GREP@ -HAVE_SENDFILE = @HAVE_SENDFILE@ -INSTALL = @INSTALL@ -INSTALL_BUILDER = @INSTALL_BUILDER@ -INSTALL_DATA = @INSTALL_DATA@ -INSTALL_PROGRAM = @INSTALL_PROGRAM@ -INSTALL_SCRIPT = @INSTALL_SCRIPT@ -INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ -LD = @LD@ -LDFLAGS = @LDFLAGS@ -LIBOBJS = @LIBOBJS@ -LIBS = @LIBS@ -LIBTOOL = @LIBTOOL@ -LIPO = @LIPO@ -LN_S = @LN_S@ -LTLIBOBJS = @LTLIBOBJS@ -LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@ -MAKEINFO = @MAKEINFO@ -MAN = @MAN@ -MANIFEST_TOOL = @MANIFEST_TOOL@ -MKDIR_P = @MKDIR_P@ -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_URL = @PACKAGE_URL@ -PACKAGE_VERSION = @PACKAGE_VERSION@ -PATH_SEPARATOR = @PATH_SEPARATOR@ -PDFLATEX = @PDFLATEX@ -PS2PDF = @PS2PDF@ -RANLIB = @RANLIB@ -SED = @SED@ -SET_MAKE = @SET_MAKE@ -SHELL = @SHELL@ -STRIP = @STRIP@ -TODOS = @TODOS@ -UNIX2DOS = @UNIX2DOS@ -VERSION = @VERSION@ -WERL = @WERL@ -YAPP_VSN = @YAPP_VSN@ -YAWS_VSN = @YAWS_VSN@ -abs_builddir = @abs_builddir@ -abs_srcdir = @abs_srcdir@ -abs_top_builddir = @abs_top_builddir@ -abs_top_srcdir = @abs_top_srcdir@ -ac_ct_AR = @ac_ct_AR@ -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@ -appsdir = @appsdir@ -bindir = @bindir@ -build = @build@ -build_alias = @build_alias@ -build_cpu = @build_cpu@ -build_os = @build_os@ -build_vendor = @build_vendor@ -builddir = @builddir@ -confdir = @confdir@ -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@ -logdir = @logdir@ -mandir = @mandir@ -mkdir_p = @mkdir_p@ -oldincludedir = @oldincludedir@ -pdfdir = @pdfdir@ -prefix = @prefix@ -program_transform_name = @program_transform_name@ -psdir = @psdir@ -runstatedir = @runstatedir@ -sbindir = @sbindir@ -sharedstatedir = @sharedstatedir@ -srcdir = @srcdir@ -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@ -wwwdir = @wwwdir@ -yappdir = @yappdir@ -yawsdir = @yawsdir@ -MODULES = chat.erl -EXTRA_DIST = $(MODULES) -EBIN_DIR = @builddir@/../ebin -EBIN_FILES = $(MODULES:%.erl=$(EBIN_DIR)/%.beam) -ERLC_FLAGS = $(ERLC_GENERIC_FLAGS) -all: all-am - -.SUFFIXES: -$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) - @for dep in $?; do \ - case '$(am__configure_deps)' in \ - *$$dep*) \ - ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ - && { if test -f $@; then exit 0; else break; fi; }; \ - exit 1;; \ - esac; \ - done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign applications/chat/src/Makefile'; \ - $(am__cd) $(top_srcdir) && \ - $(AUTOMAKE) --foreign applications/chat/src/Makefile -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - @case '$?' in \ - *config.status*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ - *) \ - echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ - esac; - -$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh - -$(top_srcdir)/configure: $(am__configure_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(ACLOCAL_M4): $(am__aclocal_m4_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(am__aclocal_m4_deps): - -mostlyclean-libtool: - -rm -f *.lo - -clean-libtool: - -rm -rf .libs _libs -tags TAGS: - -ctags CTAGS: - -cscope cscopelist: - - -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 all-local -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: - if test -z '$(STRIP)'; then \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - install; \ - else \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ - fi -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 distclean-local - -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 all-local check check-am clean clean-generic \ - clean-libtool clean-local cscopelist-am ctags-am distclean \ - distclean-generic distclean-libtool distclean-local 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 tags-am uninstall \ - uninstall-am - -.PRECIOUS: Makefile - -include @top_srcdir@/include.mk - -include @top_srcdir@/erlang_deps.mk - -all-local: $(EBIN_FILES) - -clean-local: - $(AM_V_at)rm -f $(EBIN_FILES) - -$(EBIN_DIR)/%.beam: %.erl - $(AM_V_at)$(ERLC) $(ERLC_FLAGS) -M -MF $(@:$(EBIN_DIR)/%.beam=$(DEPDIR)/%.Pbeam) -MT $@ $< - $(AM_V_ERLC)$(ERLC) $(ERLC_FLAGS) -o $(EBIN_DIR) $< - -distclean-local: - $(AM_V_at)rm -fr $(DEPDIR) - -# Local Variables: -# tab-width: 8 -# End: - -# Tell versions [3.59,3.63) of GNU make to not export all variables. -# Otherwise a system limit (for SysV at least) may be exceeded. -.NOEXPORT: diff -Nru yaws-2.0.6+dfsg/applications/mail/ebin/Makefile.in yaws-2.0.7+dfsg/applications/mail/ebin/Makefile.in --- yaws-2.0.6+dfsg/applications/mail/ebin/Makefile.in 2018-06-26 09:17:08.000000000 +0000 +++ yaws-2.0.7+dfsg/applications/mail/ebin/Makefile.in 1970-01-01 00:00:00.000000000 +0000 @@ -1,578 +0,0 @@ -# Makefile.in generated by automake 1.15.1 from Makefile.am. -# @configure_input@ - -# Copyright (C) 1994-2017 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@ -am__is_gnu_make = { \ - if test -z '$(MAKELEVEL)'; then \ - false; \ - elif test -n '$(MAKE_HOST)'; then \ - true; \ - elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ - true; \ - else \ - false; \ - fi; \ -} -am__make_running_with_option = \ - case $${target_option-} in \ - ?) ;; \ - *) echo "am__make_running_with_option: internal error: invalid" \ - "target option '$${target_option-}' specified" >&2; \ - exit 1;; \ - esac; \ - has_opt=no; \ - sane_makeflags=$$MAKEFLAGS; \ - if $(am__is_gnu_make); then \ - sane_makeflags=$$MFLAGS; \ - else \ - case $$MAKEFLAGS in \ - *\\[\ \ ]*) \ - bs=\\; \ - sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ - | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ - esac; \ - fi; \ - skip_next=no; \ - strip_trailopt () \ - { \ - flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ - }; \ - for flg in $$sane_makeflags; do \ - test $$skip_next = yes && { skip_next=no; continue; }; \ - case $$flg in \ - *=*|--*) continue;; \ - -*I) strip_trailopt 'I'; skip_next=yes;; \ - -*I?*) strip_trailopt 'I';; \ - -*O) strip_trailopt 'O'; skip_next=yes;; \ - -*O?*) strip_trailopt 'O';; \ - -*l) strip_trailopt 'l'; skip_next=yes;; \ - -*l?*) strip_trailopt 'l';; \ - -[dEDm]) skip_next=yes;; \ - -[JT]) skip_next=yes;; \ - esac; \ - case $$flg in \ - *$$target_option*) has_opt=yes; break;; \ - esac; \ - done; \ - test $$has_opt = yes -am__make_dryrun = (target_option=n; $(am__make_running_with_option)) -am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) -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 = applications/mail/ebin -ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/m4/ax_compare_version.m4 \ - $(top_srcdir)/m4/colored-echo.m4 $(top_srcdir)/m4/erlang.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)/configure.ac -am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ - $(ACLOCAL_M4) -DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON) -mkinstalldirs = $(install_sh) -d -CONFIG_CLEAN_FILES = -CONFIG_CLEAN_VPATH_FILES = -AM_V_P = $(am__v_P_@AM_V@) -am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) -am__v_P_0 = false -am__v_P_1 = : -AM_V_GEN = $(am__v_GEN_@AM_V@) -am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) -am__v_GEN_0 = @echo " GEN " $@; -am__v_GEN_1 = -AM_V_at = $(am__v_at_@AM_V@) -am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) -am__v_at_0 = @ -am__v_at_1 = -SOURCES = -DIST_SOURCES = -am__can_run_installinfo = \ - case $$AM_UPDATE_INFO_DIR in \ - n|no|NO) false;; \ - *) (install-info --version) >/dev/null 2>&1;; \ - esac -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__uninstall_files_from_dir = { \ - test -z "$$files" \ - || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \ - || { echo " ( cd '$$dir' && rm -f" $$files ")"; \ - $(am__cd) "$$dir" && rm -f $$files; }; \ - } -am__installdirs = "$(DESTDIR)$(beamdir)" -DATA = $(beam_DATA) -am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) -am__DIST_COMMON = $(srcdir)/Makefile.in -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) -ACLOCAL = @ACLOCAL@ -AMTAR = @AMTAR@ -AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ -APPDEPS = @APPDEPS@ -AR = @AR@ -AUTOCONF = @AUTOCONF@ -AUTOHEADER = @AUTOHEADER@ -AUTOMAKE = @AUTOMAKE@ -AWK = @AWK@ -CADAVER = @CADAVER@ -CC = @CC@ -CCDEPMODE = @CCDEPMODE@ -CFLAGS = @CFLAGS@ -CONFIG_STATUS_DEPENDENCIES = @CONFIG_STATUS_DEPENDENCIES@ -CPP = @CPP@ -CPPFLAGS = @CPPFLAGS@ -CT_RUN = @CT_RUN@ -CURL = @CURL@ -CYGPATH_W = @CYGPATH_W@ -DEFAULT_CHARSET = @DEFAULT_CHARSET@ -DEFS = @DEFS@ -DEPDIR = @DEPDIR@ -DIALYZER = @DIALYZER@ -DLLTOOL = @DLLTOOL@ -DSYMUTIL = @DSYMUTIL@ -DUMPBIN = @DUMPBIN@ -DVILATEX = @DVILATEX@ -DVIPS = @DVIPS@ -ECHO_C = @ECHO_C@ -ECHO_N = @ECHO_N@ -ECHO_T = @ECHO_T@ -EGREP = @EGREP@ -EPAM_CFLAGS = @EPAM_CFLAGS@ -EPSTOPDF = @EPSTOPDF@ -ERL = @ERL@ -ERLANG_ERTS_DIR = @ERLANG_ERTS_DIR@ -ERLANG_ERTS_VER = @ERLANG_ERTS_VER@ -ERLANG_INSTALL_LIB_DIR = @ERLANG_INSTALL_LIB_DIR@ -ERLANG_INSTALL_LIB_DIR_yapp = @ERLANG_INSTALL_LIB_DIR_yapp@ -ERLANG_INSTALL_LIB_DIR_yaws = @ERLANG_INSTALL_LIB_DIR_yaws@ -ERLANG_LIB_DIR = @ERLANG_LIB_DIR@ -ERLANG_LIB_DIR_common_test = @ERLANG_LIB_DIR_common_test@ -ERLANG_LIB_DIR_compiler = @ERLANG_LIB_DIR_compiler@ -ERLANG_LIB_DIR_crypto = @ERLANG_LIB_DIR_crypto@ -ERLANG_LIB_DIR_erlsom = @ERLANG_LIB_DIR_erlsom@ -ERLANG_LIB_DIR_erts = @ERLANG_LIB_DIR_erts@ -ERLANG_LIB_DIR_eunit = @ERLANG_LIB_DIR_eunit@ -ERLANG_LIB_DIR_inets = @ERLANG_LIB_DIR_inets@ -ERLANG_LIB_DIR_kernel = @ERLANG_LIB_DIR_kernel@ -ERLANG_LIB_DIR_mnesia = @ERLANG_LIB_DIR_mnesia@ -ERLANG_LIB_DIR_public_key = @ERLANG_LIB_DIR_public_key@ -ERLANG_LIB_DIR_sasl = @ERLANG_LIB_DIR_sasl@ -ERLANG_LIB_DIR_ssl = @ERLANG_LIB_DIR_ssl@ -ERLANG_LIB_DIR_stdlib = @ERLANG_LIB_DIR_stdlib@ -ERLANG_LIB_DIR_tools = @ERLANG_LIB_DIR_tools@ -ERLANG_LIB_DIR_xmerl = @ERLANG_LIB_DIR_xmerl@ -ERLANG_LIB_DIR_xmlrpc = @ERLANG_LIB_DIR_xmlrpc@ -ERLANG_LIB_VER_common_test = @ERLANG_LIB_VER_common_test@ -ERLANG_LIB_VER_compiler = @ERLANG_LIB_VER_compiler@ -ERLANG_LIB_VER_crypto = @ERLANG_LIB_VER_crypto@ -ERLANG_LIB_VER_erlsom = @ERLANG_LIB_VER_erlsom@ -ERLANG_LIB_VER_erts = @ERLANG_LIB_VER_erts@ -ERLANG_LIB_VER_eunit = @ERLANG_LIB_VER_eunit@ -ERLANG_LIB_VER_inets = @ERLANG_LIB_VER_inets@ -ERLANG_LIB_VER_kernel = @ERLANG_LIB_VER_kernel@ -ERLANG_LIB_VER_mnesia = @ERLANG_LIB_VER_mnesia@ -ERLANG_LIB_VER_public_key = @ERLANG_LIB_VER_public_key@ -ERLANG_LIB_VER_sasl = @ERLANG_LIB_VER_sasl@ -ERLANG_LIB_VER_ssl = @ERLANG_LIB_VER_ssl@ -ERLANG_LIB_VER_stdlib = @ERLANG_LIB_VER_stdlib@ -ERLANG_LIB_VER_tools = @ERLANG_LIB_VER_tools@ -ERLANG_LIB_VER_xmerl = @ERLANG_LIB_VER_xmerl@ -ERLANG_LIB_VER_xmlrpc = @ERLANG_LIB_VER_xmlrpc@ -ERLANG_RELEASE = @ERLANG_RELEASE@ -ERLANG_ROOT_DIR = @ERLANG_ROOT_DIR@ -ERLC = @ERLC@ -ERLCFLAGS = @ERLCFLAGS@ -ERL_LIBS = @ERL_LIBS@ -ESCRIPT = @ESCRIPT@ -EXEEXT = @EXEEXT@ -EXTRAINCLUDE = @EXTRAINCLUDE@ -FGREP = @FGREP@ -GREP = @GREP@ -HAVE_SENDFILE = @HAVE_SENDFILE@ -INSTALL = @INSTALL@ -INSTALL_BUILDER = @INSTALL_BUILDER@ -INSTALL_DATA = @INSTALL_DATA@ -INSTALL_PROGRAM = @INSTALL_PROGRAM@ -INSTALL_SCRIPT = @INSTALL_SCRIPT@ -INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ -LD = @LD@ -LDFLAGS = @LDFLAGS@ -LIBOBJS = @LIBOBJS@ -LIBS = @LIBS@ -LIBTOOL = @LIBTOOL@ -LIPO = @LIPO@ -LN_S = @LN_S@ -LTLIBOBJS = @LTLIBOBJS@ -LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@ -MAKEINFO = @MAKEINFO@ -MAN = @MAN@ -MANIFEST_TOOL = @MANIFEST_TOOL@ -MKDIR_P = @MKDIR_P@ -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_URL = @PACKAGE_URL@ -PACKAGE_VERSION = @PACKAGE_VERSION@ -PATH_SEPARATOR = @PATH_SEPARATOR@ -PDFLATEX = @PDFLATEX@ -PS2PDF = @PS2PDF@ -RANLIB = @RANLIB@ -SED = @SED@ -SET_MAKE = @SET_MAKE@ -SHELL = @SHELL@ -STRIP = @STRIP@ -TODOS = @TODOS@ -UNIX2DOS = @UNIX2DOS@ -VERSION = @VERSION@ -WERL = @WERL@ -YAPP_VSN = @YAPP_VSN@ -YAWS_VSN = @YAWS_VSN@ -abs_builddir = @abs_builddir@ -abs_srcdir = @abs_srcdir@ -abs_top_builddir = @abs_top_builddir@ -abs_top_srcdir = @abs_top_srcdir@ -ac_ct_AR = @ac_ct_AR@ -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@ -appsdir = @appsdir@ -bindir = @bindir@ -build = @build@ -build_alias = @build_alias@ -build_cpu = @build_cpu@ -build_os = @build_os@ -build_vendor = @build_vendor@ -builddir = @builddir@ -confdir = @confdir@ -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@ -logdir = @logdir@ -mandir = @mandir@ -mkdir_p = @mkdir_p@ -oldincludedir = @oldincludedir@ -pdfdir = @pdfdir@ -prefix = @prefix@ -program_transform_name = @program_transform_name@ -psdir = @psdir@ -runstatedir = @runstatedir@ -sbindir = @sbindir@ -sharedstatedir = @sharedstatedir@ -srcdir = @srcdir@ -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@ -wwwdir = @wwwdir@ -yappdir = @yappdir@ -yawsdir = @yawsdir@ -beamdir = $(appsdir)/mail/ebin -BEAM_FILES = *.beam -beam_DATA = $(BEAM_FILES) -all: all-am - -.SUFFIXES: -$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) - @for dep in $?; do \ - case '$(am__configure_deps)' in \ - *$$dep*) \ - ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ - && { if test -f $@; then exit 0; else break; fi; }; \ - exit 1;; \ - esac; \ - done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign applications/mail/ebin/Makefile'; \ - $(am__cd) $(top_srcdir) && \ - $(AUTOMAKE) --foreign applications/mail/ebin/Makefile -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - @case '$?' in \ - *config.status*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ - *) \ - echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ - esac; - -$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh - -$(top_srcdir)/configure: $(am__configure_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(ACLOCAL_M4): $(am__aclocal_m4_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(am__aclocal_m4_deps): - -mostlyclean-libtool: - -rm -f *.lo - -clean-libtool: - -rm -rf .libs _libs -install-beamDATA: $(beam_DATA) - @$(NORMAL_INSTALL) - @list='$(beam_DATA)'; test -n "$(beamdir)" || list=; \ - if test -n "$$list"; then \ - echo " $(MKDIR_P) '$(DESTDIR)$(beamdir)'"; \ - $(MKDIR_P) "$(DESTDIR)$(beamdir)" || exit 1; \ - fi; \ - 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)$(beamdir)'"; \ - $(INSTALL_DATA) $$files "$(DESTDIR)$(beamdir)" || exit $$?; \ - done - -uninstall-beamDATA: - @$(NORMAL_UNINSTALL) - @list='$(beam_DATA)'; test -n "$(beamdir)" || list=; \ - files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ - dir='$(DESTDIR)$(beamdir)'; $(am__uninstall_files_from_dir) -tags TAGS: - -ctags CTAGS: - -cscope cscopelist: - - -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 $(DATA) -installdirs: - for dir in "$(DESTDIR)$(beamdir)"; do \ - test -z "$$dir" || $(MKDIR_P) "$$dir"; \ - done -install: install-am -install-exec: install-exec-am -install-data: install-data-am -uninstall: uninstall-am - -install-am: all-am - @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am - -installcheck: installcheck-am -install-strip: - if test -z '$(STRIP)'; then \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - install; \ - else \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ - fi -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-beamDATA - -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: uninstall-beamDATA - -.MAKE: install-am install-strip - -.PHONY: all all-am check check-am clean clean-generic clean-libtool \ - clean-local cscopelist-am ctags-am distclean distclean-generic \ - distclean-libtool distdir dvi dvi-am html html-am info info-am \ - install install-am install-beamDATA 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 tags-am uninstall \ - uninstall-am uninstall-beamDATA - -.PRECIOUS: Makefile - - -clean-local: - $(AM_V_at)rm -f $(BEAM_FILES) - -# Local Variables: -# tab-width: 8 -# End: - -# Tell versions [3.59,3.63) of GNU make to not export all variables. -# Otherwise a system limit (for SysV at least) may be exceeded. -.NOEXPORT: diff -Nru yaws-2.0.6+dfsg/applications/mail/Makefile.in yaws-2.0.7+dfsg/applications/mail/Makefile.in --- yaws-2.0.6+dfsg/applications/mail/Makefile.in 2018-06-26 09:17:08.000000000 +0000 +++ yaws-2.0.7+dfsg/applications/mail/Makefile.in 1970-01-01 00:00:00.000000000 +0000 @@ -1,716 +0,0 @@ -# Makefile.in generated by automake 1.15.1 from Makefile.am. -# @configure_input@ - -# Copyright (C) 1994-2017 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@ -am__is_gnu_make = { \ - if test -z '$(MAKELEVEL)'; then \ - false; \ - elif test -n '$(MAKE_HOST)'; then \ - true; \ - elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ - true; \ - else \ - false; \ - fi; \ -} -am__make_running_with_option = \ - case $${target_option-} in \ - ?) ;; \ - *) echo "am__make_running_with_option: internal error: invalid" \ - "target option '$${target_option-}' specified" >&2; \ - exit 1;; \ - esac; \ - has_opt=no; \ - sane_makeflags=$$MAKEFLAGS; \ - if $(am__is_gnu_make); then \ - sane_makeflags=$$MFLAGS; \ - else \ - case $$MAKEFLAGS in \ - *\\[\ \ ]*) \ - bs=\\; \ - sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ - | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ - esac; \ - fi; \ - skip_next=no; \ - strip_trailopt () \ - { \ - flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ - }; \ - for flg in $$sane_makeflags; do \ - test $$skip_next = yes && { skip_next=no; continue; }; \ - case $$flg in \ - *=*|--*) continue;; \ - -*I) strip_trailopt 'I'; skip_next=yes;; \ - -*I?*) strip_trailopt 'I';; \ - -*O) strip_trailopt 'O'; skip_next=yes;; \ - -*O?*) strip_trailopt 'O';; \ - -*l) strip_trailopt 'l'; skip_next=yes;; \ - -*l?*) strip_trailopt 'l';; \ - -[dEDm]) skip_next=yes;; \ - -[JT]) skip_next=yes;; \ - esac; \ - case $$flg in \ - *$$target_option*) has_opt=yes; break;; \ - esac; \ - done; \ - test $$has_opt = yes -am__make_dryrun = (target_option=n; $(am__make_running_with_option)) -am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) -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 = applications/mail -ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/m4/ax_compare_version.m4 \ - $(top_srcdir)/m4/colored-echo.m4 $(top_srcdir)/m4/erlang.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)/configure.ac -am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ - $(ACLOCAL_M4) -DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON) -mkinstalldirs = $(install_sh) -d -CONFIG_CLEAN_FILES = -CONFIG_CLEAN_VPATH_FILES = -AM_V_P = $(am__v_P_@AM_V@) -am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) -am__v_P_0 = false -am__v_P_1 = : -AM_V_GEN = $(am__v_GEN_@AM_V@) -am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) -am__v_GEN_0 = @echo " GEN " $@; -am__v_GEN_1 = -AM_V_at = $(am__v_at_@AM_V@) -am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) -am__v_at_0 = @ -am__v_at_1 = -SOURCES = -DIST_SOURCES = -RECURSIVE_TARGETS = all-recursive check-recursive cscopelist-recursive \ - ctags-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 \ - tags-recursive uninstall-recursive -am__can_run_installinfo = \ - case $$AM_UPDATE_INFO_DIR in \ - n|no|NO) false;; \ - *) (install-info --version) >/dev/null 2>&1;; \ - esac -RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ - distclean-recursive maintainer-clean-recursive -am__recursive_targets = \ - $(RECURSIVE_TARGETS) \ - $(RECURSIVE_CLEAN_TARGETS) \ - $(am__extra_recursive_targets) -AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \ - distdir -am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) -# Read a list of newline-separated strings from the standard input, -# and print each of them once, without duplicates. Input order is -# *not* preserved. -am__uniquify_input = $(AWK) '\ - BEGIN { nonempty = 0; } \ - { items[$$0] = 1; nonempty = 1; } \ - END { if (nonempty) { for (i in items) print i; }; } \ -' -# Make sure the list of sources is unique. This is necessary because, -# e.g., the same source file might be shared among _SOURCES variables -# for different programs/libraries. -am__define_uniq_tagged_files = \ - list='$(am__tagged_files)'; \ - unique=`for i in $$list; do \ - if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ - done | $(am__uniquify_input)` -ETAGS = etags -CTAGS = ctags -DIST_SUBDIRS = $(SUBDIRS) -am__DIST_COMMON = $(srcdir)/Makefile.in README TODO -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) -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" -ACLOCAL = @ACLOCAL@ -AMTAR = @AMTAR@ -AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ -APPDEPS = @APPDEPS@ -AR = @AR@ -AUTOCONF = @AUTOCONF@ -AUTOHEADER = @AUTOHEADER@ -AUTOMAKE = @AUTOMAKE@ -AWK = @AWK@ -CADAVER = @CADAVER@ -CC = @CC@ -CCDEPMODE = @CCDEPMODE@ -CFLAGS = @CFLAGS@ -CONFIG_STATUS_DEPENDENCIES = @CONFIG_STATUS_DEPENDENCIES@ -CPP = @CPP@ -CPPFLAGS = @CPPFLAGS@ -CT_RUN = @CT_RUN@ -CURL = @CURL@ -CYGPATH_W = @CYGPATH_W@ -DEFAULT_CHARSET = @DEFAULT_CHARSET@ -DEFS = @DEFS@ -DEPDIR = @DEPDIR@ -DIALYZER = @DIALYZER@ -DLLTOOL = @DLLTOOL@ -DSYMUTIL = @DSYMUTIL@ -DUMPBIN = @DUMPBIN@ -DVILATEX = @DVILATEX@ -DVIPS = @DVIPS@ -ECHO_C = @ECHO_C@ -ECHO_N = @ECHO_N@ -ECHO_T = @ECHO_T@ -EGREP = @EGREP@ -EPAM_CFLAGS = @EPAM_CFLAGS@ -EPSTOPDF = @EPSTOPDF@ -ERL = @ERL@ -ERLANG_ERTS_DIR = @ERLANG_ERTS_DIR@ -ERLANG_ERTS_VER = @ERLANG_ERTS_VER@ -ERLANG_INSTALL_LIB_DIR = @ERLANG_INSTALL_LIB_DIR@ -ERLANG_INSTALL_LIB_DIR_yapp = @ERLANG_INSTALL_LIB_DIR_yapp@ -ERLANG_INSTALL_LIB_DIR_yaws = @ERLANG_INSTALL_LIB_DIR_yaws@ -ERLANG_LIB_DIR = @ERLANG_LIB_DIR@ -ERLANG_LIB_DIR_common_test = @ERLANG_LIB_DIR_common_test@ -ERLANG_LIB_DIR_compiler = @ERLANG_LIB_DIR_compiler@ -ERLANG_LIB_DIR_crypto = @ERLANG_LIB_DIR_crypto@ -ERLANG_LIB_DIR_erlsom = @ERLANG_LIB_DIR_erlsom@ -ERLANG_LIB_DIR_erts = @ERLANG_LIB_DIR_erts@ -ERLANG_LIB_DIR_eunit = @ERLANG_LIB_DIR_eunit@ -ERLANG_LIB_DIR_inets = @ERLANG_LIB_DIR_inets@ -ERLANG_LIB_DIR_kernel = @ERLANG_LIB_DIR_kernel@ -ERLANG_LIB_DIR_mnesia = @ERLANG_LIB_DIR_mnesia@ -ERLANG_LIB_DIR_public_key = @ERLANG_LIB_DIR_public_key@ -ERLANG_LIB_DIR_sasl = @ERLANG_LIB_DIR_sasl@ -ERLANG_LIB_DIR_ssl = @ERLANG_LIB_DIR_ssl@ -ERLANG_LIB_DIR_stdlib = @ERLANG_LIB_DIR_stdlib@ -ERLANG_LIB_DIR_tools = @ERLANG_LIB_DIR_tools@ -ERLANG_LIB_DIR_xmerl = @ERLANG_LIB_DIR_xmerl@ -ERLANG_LIB_DIR_xmlrpc = @ERLANG_LIB_DIR_xmlrpc@ -ERLANG_LIB_VER_common_test = @ERLANG_LIB_VER_common_test@ -ERLANG_LIB_VER_compiler = @ERLANG_LIB_VER_compiler@ -ERLANG_LIB_VER_crypto = @ERLANG_LIB_VER_crypto@ -ERLANG_LIB_VER_erlsom = @ERLANG_LIB_VER_erlsom@ -ERLANG_LIB_VER_erts = @ERLANG_LIB_VER_erts@ -ERLANG_LIB_VER_eunit = @ERLANG_LIB_VER_eunit@ -ERLANG_LIB_VER_inets = @ERLANG_LIB_VER_inets@ -ERLANG_LIB_VER_kernel = @ERLANG_LIB_VER_kernel@ -ERLANG_LIB_VER_mnesia = @ERLANG_LIB_VER_mnesia@ -ERLANG_LIB_VER_public_key = @ERLANG_LIB_VER_public_key@ -ERLANG_LIB_VER_sasl = @ERLANG_LIB_VER_sasl@ -ERLANG_LIB_VER_ssl = @ERLANG_LIB_VER_ssl@ -ERLANG_LIB_VER_stdlib = @ERLANG_LIB_VER_stdlib@ -ERLANG_LIB_VER_tools = @ERLANG_LIB_VER_tools@ -ERLANG_LIB_VER_xmerl = @ERLANG_LIB_VER_xmerl@ -ERLANG_LIB_VER_xmlrpc = @ERLANG_LIB_VER_xmlrpc@ -ERLANG_RELEASE = @ERLANG_RELEASE@ -ERLANG_ROOT_DIR = @ERLANG_ROOT_DIR@ -ERLC = @ERLC@ -ERLCFLAGS = @ERLCFLAGS@ -ERL_LIBS = @ERL_LIBS@ -ESCRIPT = @ESCRIPT@ -EXEEXT = @EXEEXT@ -EXTRAINCLUDE = @EXTRAINCLUDE@ -FGREP = @FGREP@ -GREP = @GREP@ -HAVE_SENDFILE = @HAVE_SENDFILE@ -INSTALL = @INSTALL@ -INSTALL_BUILDER = @INSTALL_BUILDER@ -INSTALL_DATA = @INSTALL_DATA@ -INSTALL_PROGRAM = @INSTALL_PROGRAM@ -INSTALL_SCRIPT = @INSTALL_SCRIPT@ -INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ -LD = @LD@ -LDFLAGS = @LDFLAGS@ -LIBOBJS = @LIBOBJS@ -LIBS = @LIBS@ -LIBTOOL = @LIBTOOL@ -LIPO = @LIPO@ -LN_S = @LN_S@ -LTLIBOBJS = @LTLIBOBJS@ -LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@ -MAKEINFO = @MAKEINFO@ -MAN = @MAN@ -MANIFEST_TOOL = @MANIFEST_TOOL@ -MKDIR_P = @MKDIR_P@ -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_URL = @PACKAGE_URL@ -PACKAGE_VERSION = @PACKAGE_VERSION@ -PATH_SEPARATOR = @PATH_SEPARATOR@ -PDFLATEX = @PDFLATEX@ -PS2PDF = @PS2PDF@ -RANLIB = @RANLIB@ -SED = @SED@ -SET_MAKE = @SET_MAKE@ -SHELL = @SHELL@ -STRIP = @STRIP@ -TODOS = @TODOS@ -UNIX2DOS = @UNIX2DOS@ -VERSION = @VERSION@ -WERL = @WERL@ -YAPP_VSN = @YAPP_VSN@ -YAWS_VSN = @YAWS_VSN@ -abs_builddir = @abs_builddir@ -abs_srcdir = @abs_srcdir@ -abs_top_builddir = @abs_top_builddir@ -abs_top_srcdir = @abs_top_srcdir@ -ac_ct_AR = @ac_ct_AR@ -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@ -appsdir = @appsdir@ -bindir = @bindir@ -build = @build@ -build_alias = @build_alias@ -build_cpu = @build_cpu@ -build_os = @build_os@ -build_vendor = @build_vendor@ -builddir = @builddir@ -confdir = @confdir@ -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@ -logdir = @logdir@ -mandir = @mandir@ -mkdir_p = @mkdir_p@ -oldincludedir = @oldincludedir@ -pdfdir = @pdfdir@ -prefix = @prefix@ -program_transform_name = @program_transform_name@ -psdir = @psdir@ -runstatedir = @runstatedir@ -sbindir = @sbindir@ -sharedstatedir = @sharedstatedir@ -srcdir = @srcdir@ -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@ -wwwdir = @wwwdir@ -yappdir = @yappdir@ -yawsdir = @yawsdir@ -SUBDIRS = src ebin -EXTRA_DIST = yaws-webmail.conf TODO README www -INSTDIR = $(DESTDIR)$(appsdir)/mail -all: all-recursive - -.SUFFIXES: -$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) - @for dep in $?; do \ - case '$(am__configure_deps)' in \ - *$$dep*) \ - ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ - && { if test -f $@; then exit 0; else break; fi; }; \ - exit 1;; \ - esac; \ - done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign applications/mail/Makefile'; \ - $(am__cd) $(top_srcdir) && \ - $(AUTOMAKE) --foreign applications/mail/Makefile -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - @case '$?' in \ - *config.status*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ - *) \ - echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ - esac; - -$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh - -$(top_srcdir)/configure: $(am__configure_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(ACLOCAL_M4): $(am__aclocal_m4_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(am__aclocal_m4_deps): - -mostlyclean-libtool: - -rm -f *.lo - -clean-libtool: - -rm -rf .libs _libs - -# 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. -$(am__recursive_targets): - @fail=; \ - if $(am__make_keepgoing); then \ - failcom='fail=yes'; \ - else \ - failcom='exit 1'; \ - fi; \ - dot_seen=no; \ - target=`echo $@ | sed s/-recursive//`; \ - case "$@" in \ - distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ - *) list='$(SUBDIRS)' ;; \ - esac; \ - 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" - -ID: $(am__tagged_files) - $(am__define_uniq_tagged_files); mkid -fID $$unique -tags: tags-recursive -TAGS: tags - -tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) - 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; \ - $(am__define_uniq_tagged_files); \ - 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-recursive - -CTAGS: ctags -ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) - $(am__define_uniq_tagged_files); \ - 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" -cscopelist: cscopelist-recursive - -cscopelist-am: $(am__tagged_files) - list='$(am__tagged_files)'; \ - case "$(srcdir)" in \ - [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ - *) sdir=$(subdir)/$(srcdir) ;; \ - esac; \ - for i in $$list; do \ - if test -f "$$i"; then \ - echo "$(subdir)/$$i"; \ - else \ - echo "$$sdir/$$i"; \ - fi; \ - done >> $(top_builddir)/cscope.files - -distclean-tags: - -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags - -distdir: $(DISTFILES) - @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - list='$(DISTFILES)'; \ - 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 \ - $(am__make_dryrun) \ - || test -d "$(distdir)/$$subdir" \ - || $(MKDIR_P) "$(distdir)/$$subdir" \ - || exit 1; \ - 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 -check-am: all-am -check: check-recursive -all-am: Makefile -installdirs: installdirs-recursive -installdirs-am: -install: install-recursive -install-exec: install-exec-recursive -install-data: install-data-recursive -uninstall: uninstall-recursive - -install-am: all-am - @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am - -installcheck: installcheck-recursive -install-strip: - if test -z '$(STRIP)'; then \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - install; \ - else \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ - fi -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-recursive - -clean-am: clean-generic clean-libtool mostlyclean-am - -distclean: distclean-recursive - -rm -f Makefile -distclean-am: clean-am distclean-generic distclean-tags - -dvi: dvi-recursive - -dvi-am: - -html: html-recursive - -html-am: - -info: info-recursive - -info-am: - -install-data-am: install-data-local - -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-pdf: install-pdf-recursive - -install-pdf-am: - -install-ps: install-ps-recursive - -install-ps-am: - -installcheck-am: - -maintainer-clean: maintainer-clean-recursive - -rm -f Makefile -maintainer-clean-am: distclean-am maintainer-clean-generic - -mostlyclean: mostlyclean-recursive - -mostlyclean-am: mostlyclean-generic mostlyclean-libtool - -pdf: pdf-recursive - -pdf-am: - -ps: ps-recursive - -ps-am: - -uninstall-am: uninstall-local - -.MAKE: $(am__recursive_targets) install-am install-strip - -.PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am check \ - check-am clean clean-generic clean-libtool cscopelist-am ctags \ - ctags-am distclean distclean-generic distclean-libtool \ - distclean-tags distdir dvi dvi-am html html-am info info-am \ - install install-am install-data install-data-am \ - install-data-local install-dvi install-dvi-am install-exec \ - install-exec-am install-html install-html-am install-info \ - install-info-am install-man install-pdf install-pdf-am \ - install-ps install-ps-am install-strip installcheck \ - installcheck-am installdirs installdirs-am maintainer-clean \ - maintainer-clean-generic mostlyclean mostlyclean-generic \ - mostlyclean-libtool pdf pdf-am ps ps-am tags tags-am uninstall \ - uninstall-am uninstall-local - -.PRECIOUS: Makefile - - -install-data-local: - $(AM_V_at)$(INSTALL) -d $(DESTDIR)$(sysconfdir)/mail - $(AM_V_at)if [ -f $(DESTDIR)$(sysconfdir)/mail/yaws-webmail.conf ]; then \ - echo "$(DESTDIR)$(sysconfdir)/mail/yaws-webmail.conf already exists"; \ - else \ - $(INSTALL) -m 644 @srcdir@/yaws-webmail.conf $(DESTDIR)$(sysconfdir)/mail; \ - fi - - $(AM_V_at)$(INSTALL) -d $(INSTDIR) - $(AM_V_at)(cd @srcdir@; tar cf - www ) | (cd $(INSTDIR); tar xf - ) - $(AM_V_at)chmod -R u+rw $(INSTDIR)/www - -uninstall-local: - $(AM_V_at)rm -f $(DESTDIR)$(sysconfdir)/mail/yaws-webmail.conf $(INSTDIR)/www - -# Local Variables: -# tab-width: 8 -# End: - -# Tell versions [3.59,3.63) of GNU make to not export all variables. -# Otherwise a system limit (for SysV at least) may be exceeded. -.NOEXPORT: diff -Nru yaws-2.0.6+dfsg/applications/mail/src/mail.erl yaws-2.0.7+dfsg/applications/mail/src/mail.erl --- yaws-2.0.6+dfsg/applications/mail/src/mail.erl 2017-01-27 15:41:40.000000000 +0000 +++ yaws-2.0.7+dfsg/applications/mail/src/mail.erl 2019-07-14 13:01:11.000000000 +0000 @@ -380,17 +380,17 @@ "A:active { color: 0;text-decoration: none}\n" "textarea { background-color: #fff; border: 1px solid 00f; }\n" "DIV.tag-body { background: white; }\n"}, -% {script, [{type,"text/javascript"}], +% {script, [{type,"application/javascript"}], % "_editor_url='/htmlarea/';\n" % "_editor_lagn='se';\n"}, -% {script, [{type,"text/javascript"},{src,"/htmlarea/htmlarea.js"}],""}, -% {script, [{type,"text/javascript"}], +% {script, [{type,"application/javascript"},{src,"/htmlarea/htmlarea.js"}],""}, +% {script, [{type,"application/javascript"}], % "var editor = null;\n" % "function initEditor() {\n" % "editor = new HTMLArea('html_message');\n" % "editor.generate();\n" % "return false;\n}"}, -% {script,[{type,"text/javascript"},{defer,"1"}], +% {script,[{type,"application/javascript"},{defer,"1"}], %% "HTMLArea.replace('html_message');\n"}, % "HTMLArea.replaceAll();\n"}, {body,[{bgcolor,silver},{marginheight,0},{link,"#000000"}, @@ -527,7 +527,7 @@ build_tabs(Tabs) -> - [{script,[{type,"text/javascript"}], + [{script,[{type,"application/javascript"}], ["tabCount = ",integer_to_list(length(Tabs)),";\n"]}, {'div', [{align,"left"}], diff -Nru yaws-2.0.6+dfsg/applications/mail/src/Makefile.in yaws-2.0.7+dfsg/applications/mail/src/Makefile.in --- yaws-2.0.6+dfsg/applications/mail/src/Makefile.in 2018-06-26 09:17:08.000000000 +0000 +++ yaws-2.0.7+dfsg/applications/mail/src/Makefile.in 1970-01-01 00:00:00.000000000 +0000 @@ -1,538 +0,0 @@ -# Makefile.in generated by automake 1.15.1 from Makefile.am. -# @configure_input@ - -# Copyright (C) 1994-2017 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@ -am__is_gnu_make = { \ - if test -z '$(MAKELEVEL)'; then \ - false; \ - elif test -n '$(MAKE_HOST)'; then \ - true; \ - elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ - true; \ - else \ - false; \ - fi; \ -} -am__make_running_with_option = \ - case $${target_option-} in \ - ?) ;; \ - *) echo "am__make_running_with_option: internal error: invalid" \ - "target option '$${target_option-}' specified" >&2; \ - exit 1;; \ - esac; \ - has_opt=no; \ - sane_makeflags=$$MAKEFLAGS; \ - if $(am__is_gnu_make); then \ - sane_makeflags=$$MFLAGS; \ - else \ - case $$MAKEFLAGS in \ - *\\[\ \ ]*) \ - bs=\\; \ - sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ - | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ - esac; \ - fi; \ - skip_next=no; \ - strip_trailopt () \ - { \ - flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ - }; \ - for flg in $$sane_makeflags; do \ - test $$skip_next = yes && { skip_next=no; continue; }; \ - case $$flg in \ - *=*|--*) continue;; \ - -*I) strip_trailopt 'I'; skip_next=yes;; \ - -*I?*) strip_trailopt 'I';; \ - -*O) strip_trailopt 'O'; skip_next=yes;; \ - -*O?*) strip_trailopt 'O';; \ - -*l) strip_trailopt 'l'; skip_next=yes;; \ - -*l?*) strip_trailopt 'l';; \ - -[dEDm]) skip_next=yes;; \ - -[JT]) skip_next=yes;; \ - esac; \ - case $$flg in \ - *$$target_option*) has_opt=yes; break;; \ - esac; \ - done; \ - test $$has_opt = yes -am__make_dryrun = (target_option=n; $(am__make_running_with_option)) -am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) -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 = applications/mail/src -ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/m4/ax_compare_version.m4 \ - $(top_srcdir)/m4/colored-echo.m4 $(top_srcdir)/m4/erlang.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)/configure.ac -am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ - $(ACLOCAL_M4) -DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON) -mkinstalldirs = $(install_sh) -d -CONFIG_CLEAN_FILES = -CONFIG_CLEAN_VPATH_FILES = -AM_V_P = $(am__v_P_@AM_V@) -am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) -am__v_P_0 = false -am__v_P_1 = : -AM_V_GEN = $(am__v_GEN_@AM_V@) -am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) -am__v_GEN_0 = @echo " GEN " $@; -am__v_GEN_1 = -AM_V_at = $(am__v_at_@AM_V@) -am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) -am__v_at_0 = @ -am__v_at_1 = -SOURCES = -DIST_SOURCES = -am__can_run_installinfo = \ - case $$AM_UPDATE_INFO_DIR in \ - n|no|NO) false;; \ - *) (install-info --version) >/dev/null 2>&1;; \ - esac -am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) -am__DIST_COMMON = $(srcdir)/Makefile.in -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) -ACLOCAL = @ACLOCAL@ -AMTAR = @AMTAR@ -AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ -APPDEPS = @APPDEPS@ -AR = @AR@ -AUTOCONF = @AUTOCONF@ -AUTOHEADER = @AUTOHEADER@ -AUTOMAKE = @AUTOMAKE@ -AWK = @AWK@ -CADAVER = @CADAVER@ -CC = @CC@ -CCDEPMODE = @CCDEPMODE@ -CFLAGS = @CFLAGS@ -CONFIG_STATUS_DEPENDENCIES = @CONFIG_STATUS_DEPENDENCIES@ -CPP = @CPP@ -CPPFLAGS = @CPPFLAGS@ -CT_RUN = @CT_RUN@ -CURL = @CURL@ -CYGPATH_W = @CYGPATH_W@ -DEFAULT_CHARSET = @DEFAULT_CHARSET@ -DEFS = @DEFS@ -DEPDIR = @DEPDIR@ -DIALYZER = @DIALYZER@ -DLLTOOL = @DLLTOOL@ -DSYMUTIL = @DSYMUTIL@ -DUMPBIN = @DUMPBIN@ -DVILATEX = @DVILATEX@ -DVIPS = @DVIPS@ -ECHO_C = @ECHO_C@ -ECHO_N = @ECHO_N@ -ECHO_T = @ECHO_T@ -EGREP = @EGREP@ -EPAM_CFLAGS = @EPAM_CFLAGS@ -EPSTOPDF = @EPSTOPDF@ -ERL = @ERL@ -ERLANG_ERTS_DIR = @ERLANG_ERTS_DIR@ -ERLANG_ERTS_VER = @ERLANG_ERTS_VER@ -ERLANG_INSTALL_LIB_DIR = @ERLANG_INSTALL_LIB_DIR@ -ERLANG_INSTALL_LIB_DIR_yapp = @ERLANG_INSTALL_LIB_DIR_yapp@ -ERLANG_INSTALL_LIB_DIR_yaws = @ERLANG_INSTALL_LIB_DIR_yaws@ -ERLANG_LIB_DIR = @ERLANG_LIB_DIR@ -ERLANG_LIB_DIR_common_test = @ERLANG_LIB_DIR_common_test@ -ERLANG_LIB_DIR_compiler = @ERLANG_LIB_DIR_compiler@ -ERLANG_LIB_DIR_crypto = @ERLANG_LIB_DIR_crypto@ -ERLANG_LIB_DIR_erlsom = @ERLANG_LIB_DIR_erlsom@ -ERLANG_LIB_DIR_erts = @ERLANG_LIB_DIR_erts@ -ERLANG_LIB_DIR_eunit = @ERLANG_LIB_DIR_eunit@ -ERLANG_LIB_DIR_inets = @ERLANG_LIB_DIR_inets@ -ERLANG_LIB_DIR_kernel = @ERLANG_LIB_DIR_kernel@ -ERLANG_LIB_DIR_mnesia = @ERLANG_LIB_DIR_mnesia@ -ERLANG_LIB_DIR_public_key = @ERLANG_LIB_DIR_public_key@ -ERLANG_LIB_DIR_sasl = @ERLANG_LIB_DIR_sasl@ -ERLANG_LIB_DIR_ssl = @ERLANG_LIB_DIR_ssl@ -ERLANG_LIB_DIR_stdlib = @ERLANG_LIB_DIR_stdlib@ -ERLANG_LIB_DIR_tools = @ERLANG_LIB_DIR_tools@ -ERLANG_LIB_DIR_xmerl = @ERLANG_LIB_DIR_xmerl@ -ERLANG_LIB_DIR_xmlrpc = @ERLANG_LIB_DIR_xmlrpc@ -ERLANG_LIB_VER_common_test = @ERLANG_LIB_VER_common_test@ -ERLANG_LIB_VER_compiler = @ERLANG_LIB_VER_compiler@ -ERLANG_LIB_VER_crypto = @ERLANG_LIB_VER_crypto@ -ERLANG_LIB_VER_erlsom = @ERLANG_LIB_VER_erlsom@ -ERLANG_LIB_VER_erts = @ERLANG_LIB_VER_erts@ -ERLANG_LIB_VER_eunit = @ERLANG_LIB_VER_eunit@ -ERLANG_LIB_VER_inets = @ERLANG_LIB_VER_inets@ -ERLANG_LIB_VER_kernel = @ERLANG_LIB_VER_kernel@ -ERLANG_LIB_VER_mnesia = @ERLANG_LIB_VER_mnesia@ -ERLANG_LIB_VER_public_key = @ERLANG_LIB_VER_public_key@ -ERLANG_LIB_VER_sasl = @ERLANG_LIB_VER_sasl@ -ERLANG_LIB_VER_ssl = @ERLANG_LIB_VER_ssl@ -ERLANG_LIB_VER_stdlib = @ERLANG_LIB_VER_stdlib@ -ERLANG_LIB_VER_tools = @ERLANG_LIB_VER_tools@ -ERLANG_LIB_VER_xmerl = @ERLANG_LIB_VER_xmerl@ -ERLANG_LIB_VER_xmlrpc = @ERLANG_LIB_VER_xmlrpc@ -ERLANG_RELEASE = @ERLANG_RELEASE@ -ERLANG_ROOT_DIR = @ERLANG_ROOT_DIR@ -ERLC = @ERLC@ -ERLCFLAGS = @ERLCFLAGS@ -ERL_LIBS = @ERL_LIBS@ -ESCRIPT = @ESCRIPT@ -EXEEXT = @EXEEXT@ -EXTRAINCLUDE = @EXTRAINCLUDE@ -FGREP = @FGREP@ -GREP = @GREP@ -HAVE_SENDFILE = @HAVE_SENDFILE@ -INSTALL = @INSTALL@ -INSTALL_BUILDER = @INSTALL_BUILDER@ -INSTALL_DATA = @INSTALL_DATA@ -INSTALL_PROGRAM = @INSTALL_PROGRAM@ -INSTALL_SCRIPT = @INSTALL_SCRIPT@ -INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ -LD = @LD@ -LDFLAGS = @LDFLAGS@ -LIBOBJS = @LIBOBJS@ -LIBS = @LIBS@ -LIBTOOL = @LIBTOOL@ -LIPO = @LIPO@ -LN_S = @LN_S@ -LTLIBOBJS = @LTLIBOBJS@ -LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@ -MAKEINFO = @MAKEINFO@ -MAN = @MAN@ -MANIFEST_TOOL = @MANIFEST_TOOL@ -MKDIR_P = @MKDIR_P@ -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_URL = @PACKAGE_URL@ -PACKAGE_VERSION = @PACKAGE_VERSION@ -PATH_SEPARATOR = @PATH_SEPARATOR@ -PDFLATEX = @PDFLATEX@ -PS2PDF = @PS2PDF@ -RANLIB = @RANLIB@ -SED = @SED@ -SET_MAKE = @SET_MAKE@ -SHELL = @SHELL@ -STRIP = @STRIP@ -TODOS = @TODOS@ -UNIX2DOS = @UNIX2DOS@ -VERSION = @VERSION@ -WERL = @WERL@ -YAPP_VSN = @YAPP_VSN@ -YAWS_VSN = @YAWS_VSN@ -abs_builddir = @abs_builddir@ -abs_srcdir = @abs_srcdir@ -abs_top_builddir = @abs_top_builddir@ -abs_top_srcdir = @abs_top_srcdir@ -ac_ct_AR = @ac_ct_AR@ -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@ -appsdir = @appsdir@ -bindir = @bindir@ -build = @build@ -build_alias = @build_alias@ -build_cpu = @build_cpu@ -build_os = @build_os@ -build_vendor = @build_vendor@ -builddir = @builddir@ -confdir = @confdir@ -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@ -logdir = @logdir@ -mandir = @mandir@ -mkdir_p = @mkdir_p@ -oldincludedir = @oldincludedir@ -pdfdir = @pdfdir@ -prefix = @prefix@ -program_transform_name = @program_transform_name@ -psdir = @psdir@ -runstatedir = @runstatedir@ -sbindir = @sbindir@ -sharedstatedir = @sharedstatedir@ -srcdir = @srcdir@ -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@ -wwwdir = @wwwdir@ -yappdir = @yappdir@ -yawsdir = @yawsdir@ -MODULES = mail.erl attachment.erl smtp.erl mail_html.erl -EXTRA_DIST = $(MODULES) defs.hrl -EBIN_DIR = @builddir@/../ebin -EBIN_FILES = $(MODULES:%.erl=$(EBIN_DIR)/%.beam) -ERLC_FLAGS = $(ERLC_GENERIC_FLAGS) -DETCDIR='"@sysconfdir@"' -all: all-am - -.SUFFIXES: -$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) - @for dep in $?; do \ - case '$(am__configure_deps)' in \ - *$$dep*) \ - ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ - && { if test -f $@; then exit 0; else break; fi; }; \ - exit 1;; \ - esac; \ - done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign applications/mail/src/Makefile'; \ - $(am__cd) $(top_srcdir) && \ - $(AUTOMAKE) --foreign applications/mail/src/Makefile -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - @case '$?' in \ - *config.status*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ - *) \ - echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ - esac; - -$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh - -$(top_srcdir)/configure: $(am__configure_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(ACLOCAL_M4): $(am__aclocal_m4_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(am__aclocal_m4_deps): - -mostlyclean-libtool: - -rm -f *.lo - -clean-libtool: - -rm -rf .libs _libs -tags TAGS: - -ctags CTAGS: - -cscope cscopelist: - - -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 all-local -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: - if test -z '$(STRIP)'; then \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - install; \ - else \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ - fi -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 distclean-local - -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 all-local check check-am clean clean-generic \ - clean-libtool clean-local cscopelist-am ctags-am distclean \ - distclean-generic distclean-libtool distclean-local 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 tags-am uninstall \ - uninstall-am - -.PRECIOUS: Makefile - -include @top_srcdir@/include.mk - -include @top_srcdir@/erlang_deps.mk - -all-local: $(EBIN_FILES) - -clean-local: - $(AM_V_at)rm -f $(EBIN_FILES) - -$(EBIN_DIR)/%.beam: %.erl - $(AM_V_at)$(ERLC) $(ERLC_FLAGS) -M -MF $(@:$(EBIN_DIR)/%.beam=$(DEPDIR)/%.Pbeam) -MT $@ $< - $(AM_V_ERLC)$(ERLC) $(ERLC_FLAGS) -o $(EBIN_DIR) $< - -distclean-local: - $(AM_V_at)rm -fr $(DEPDIR) - -# Local Variables: -# tab-width: 8 -# End: - -# Tell versions [3.59,3.63) of GNU make to not export all variables. -# Otherwise a system limit (for SysV at least) may be exceeded. -.NOEXPORT: diff -Nru yaws-2.0.6+dfsg/applications/wiki/ebin/Makefile.in yaws-2.0.7+dfsg/applications/wiki/ebin/Makefile.in --- yaws-2.0.6+dfsg/applications/wiki/ebin/Makefile.in 2018-06-26 09:17:08.000000000 +0000 +++ yaws-2.0.7+dfsg/applications/wiki/ebin/Makefile.in 1970-01-01 00:00:00.000000000 +0000 @@ -1,578 +0,0 @@ -# Makefile.in generated by automake 1.15.1 from Makefile.am. -# @configure_input@ - -# Copyright (C) 1994-2017 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@ -am__is_gnu_make = { \ - if test -z '$(MAKELEVEL)'; then \ - false; \ - elif test -n '$(MAKE_HOST)'; then \ - true; \ - elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ - true; \ - else \ - false; \ - fi; \ -} -am__make_running_with_option = \ - case $${target_option-} in \ - ?) ;; \ - *) echo "am__make_running_with_option: internal error: invalid" \ - "target option '$${target_option-}' specified" >&2; \ - exit 1;; \ - esac; \ - has_opt=no; \ - sane_makeflags=$$MAKEFLAGS; \ - if $(am__is_gnu_make); then \ - sane_makeflags=$$MFLAGS; \ - else \ - case $$MAKEFLAGS in \ - *\\[\ \ ]*) \ - bs=\\; \ - sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ - | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ - esac; \ - fi; \ - skip_next=no; \ - strip_trailopt () \ - { \ - flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ - }; \ - for flg in $$sane_makeflags; do \ - test $$skip_next = yes && { skip_next=no; continue; }; \ - case $$flg in \ - *=*|--*) continue;; \ - -*I) strip_trailopt 'I'; skip_next=yes;; \ - -*I?*) strip_trailopt 'I';; \ - -*O) strip_trailopt 'O'; skip_next=yes;; \ - -*O?*) strip_trailopt 'O';; \ - -*l) strip_trailopt 'l'; skip_next=yes;; \ - -*l?*) strip_trailopt 'l';; \ - -[dEDm]) skip_next=yes;; \ - -[JT]) skip_next=yes;; \ - esac; \ - case $$flg in \ - *$$target_option*) has_opt=yes; break;; \ - esac; \ - done; \ - test $$has_opt = yes -am__make_dryrun = (target_option=n; $(am__make_running_with_option)) -am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) -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 = applications/wiki/ebin -ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/m4/ax_compare_version.m4 \ - $(top_srcdir)/m4/colored-echo.m4 $(top_srcdir)/m4/erlang.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)/configure.ac -am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ - $(ACLOCAL_M4) -DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON) -mkinstalldirs = $(install_sh) -d -CONFIG_CLEAN_FILES = -CONFIG_CLEAN_VPATH_FILES = -AM_V_P = $(am__v_P_@AM_V@) -am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) -am__v_P_0 = false -am__v_P_1 = : -AM_V_GEN = $(am__v_GEN_@AM_V@) -am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) -am__v_GEN_0 = @echo " GEN " $@; -am__v_GEN_1 = -AM_V_at = $(am__v_at_@AM_V@) -am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) -am__v_at_0 = @ -am__v_at_1 = -SOURCES = -DIST_SOURCES = -am__can_run_installinfo = \ - case $$AM_UPDATE_INFO_DIR in \ - n|no|NO) false;; \ - *) (install-info --version) >/dev/null 2>&1;; \ - esac -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__uninstall_files_from_dir = { \ - test -z "$$files" \ - || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \ - || { echo " ( cd '$$dir' && rm -f" $$files ")"; \ - $(am__cd) "$$dir" && rm -f $$files; }; \ - } -am__installdirs = "$(DESTDIR)$(beamdir)" -DATA = $(beam_DATA) -am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) -am__DIST_COMMON = $(srcdir)/Makefile.in -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) -ACLOCAL = @ACLOCAL@ -AMTAR = @AMTAR@ -AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ -APPDEPS = @APPDEPS@ -AR = @AR@ -AUTOCONF = @AUTOCONF@ -AUTOHEADER = @AUTOHEADER@ -AUTOMAKE = @AUTOMAKE@ -AWK = @AWK@ -CADAVER = @CADAVER@ -CC = @CC@ -CCDEPMODE = @CCDEPMODE@ -CFLAGS = @CFLAGS@ -CONFIG_STATUS_DEPENDENCIES = @CONFIG_STATUS_DEPENDENCIES@ -CPP = @CPP@ -CPPFLAGS = @CPPFLAGS@ -CT_RUN = @CT_RUN@ -CURL = @CURL@ -CYGPATH_W = @CYGPATH_W@ -DEFAULT_CHARSET = @DEFAULT_CHARSET@ -DEFS = @DEFS@ -DEPDIR = @DEPDIR@ -DIALYZER = @DIALYZER@ -DLLTOOL = @DLLTOOL@ -DSYMUTIL = @DSYMUTIL@ -DUMPBIN = @DUMPBIN@ -DVILATEX = @DVILATEX@ -DVIPS = @DVIPS@ -ECHO_C = @ECHO_C@ -ECHO_N = @ECHO_N@ -ECHO_T = @ECHO_T@ -EGREP = @EGREP@ -EPAM_CFLAGS = @EPAM_CFLAGS@ -EPSTOPDF = @EPSTOPDF@ -ERL = @ERL@ -ERLANG_ERTS_DIR = @ERLANG_ERTS_DIR@ -ERLANG_ERTS_VER = @ERLANG_ERTS_VER@ -ERLANG_INSTALL_LIB_DIR = @ERLANG_INSTALL_LIB_DIR@ -ERLANG_INSTALL_LIB_DIR_yapp = @ERLANG_INSTALL_LIB_DIR_yapp@ -ERLANG_INSTALL_LIB_DIR_yaws = @ERLANG_INSTALL_LIB_DIR_yaws@ -ERLANG_LIB_DIR = @ERLANG_LIB_DIR@ -ERLANG_LIB_DIR_common_test = @ERLANG_LIB_DIR_common_test@ -ERLANG_LIB_DIR_compiler = @ERLANG_LIB_DIR_compiler@ -ERLANG_LIB_DIR_crypto = @ERLANG_LIB_DIR_crypto@ -ERLANG_LIB_DIR_erlsom = @ERLANG_LIB_DIR_erlsom@ -ERLANG_LIB_DIR_erts = @ERLANG_LIB_DIR_erts@ -ERLANG_LIB_DIR_eunit = @ERLANG_LIB_DIR_eunit@ -ERLANG_LIB_DIR_inets = @ERLANG_LIB_DIR_inets@ -ERLANG_LIB_DIR_kernel = @ERLANG_LIB_DIR_kernel@ -ERLANG_LIB_DIR_mnesia = @ERLANG_LIB_DIR_mnesia@ -ERLANG_LIB_DIR_public_key = @ERLANG_LIB_DIR_public_key@ -ERLANG_LIB_DIR_sasl = @ERLANG_LIB_DIR_sasl@ -ERLANG_LIB_DIR_ssl = @ERLANG_LIB_DIR_ssl@ -ERLANG_LIB_DIR_stdlib = @ERLANG_LIB_DIR_stdlib@ -ERLANG_LIB_DIR_tools = @ERLANG_LIB_DIR_tools@ -ERLANG_LIB_DIR_xmerl = @ERLANG_LIB_DIR_xmerl@ -ERLANG_LIB_DIR_xmlrpc = @ERLANG_LIB_DIR_xmlrpc@ -ERLANG_LIB_VER_common_test = @ERLANG_LIB_VER_common_test@ -ERLANG_LIB_VER_compiler = @ERLANG_LIB_VER_compiler@ -ERLANG_LIB_VER_crypto = @ERLANG_LIB_VER_crypto@ -ERLANG_LIB_VER_erlsom = @ERLANG_LIB_VER_erlsom@ -ERLANG_LIB_VER_erts = @ERLANG_LIB_VER_erts@ -ERLANG_LIB_VER_eunit = @ERLANG_LIB_VER_eunit@ -ERLANG_LIB_VER_inets = @ERLANG_LIB_VER_inets@ -ERLANG_LIB_VER_kernel = @ERLANG_LIB_VER_kernel@ -ERLANG_LIB_VER_mnesia = @ERLANG_LIB_VER_mnesia@ -ERLANG_LIB_VER_public_key = @ERLANG_LIB_VER_public_key@ -ERLANG_LIB_VER_sasl = @ERLANG_LIB_VER_sasl@ -ERLANG_LIB_VER_ssl = @ERLANG_LIB_VER_ssl@ -ERLANG_LIB_VER_stdlib = @ERLANG_LIB_VER_stdlib@ -ERLANG_LIB_VER_tools = @ERLANG_LIB_VER_tools@ -ERLANG_LIB_VER_xmerl = @ERLANG_LIB_VER_xmerl@ -ERLANG_LIB_VER_xmlrpc = @ERLANG_LIB_VER_xmlrpc@ -ERLANG_RELEASE = @ERLANG_RELEASE@ -ERLANG_ROOT_DIR = @ERLANG_ROOT_DIR@ -ERLC = @ERLC@ -ERLCFLAGS = @ERLCFLAGS@ -ERL_LIBS = @ERL_LIBS@ -ESCRIPT = @ESCRIPT@ -EXEEXT = @EXEEXT@ -EXTRAINCLUDE = @EXTRAINCLUDE@ -FGREP = @FGREP@ -GREP = @GREP@ -HAVE_SENDFILE = @HAVE_SENDFILE@ -INSTALL = @INSTALL@ -INSTALL_BUILDER = @INSTALL_BUILDER@ -INSTALL_DATA = @INSTALL_DATA@ -INSTALL_PROGRAM = @INSTALL_PROGRAM@ -INSTALL_SCRIPT = @INSTALL_SCRIPT@ -INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ -LD = @LD@ -LDFLAGS = @LDFLAGS@ -LIBOBJS = @LIBOBJS@ -LIBS = @LIBS@ -LIBTOOL = @LIBTOOL@ -LIPO = @LIPO@ -LN_S = @LN_S@ -LTLIBOBJS = @LTLIBOBJS@ -LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@ -MAKEINFO = @MAKEINFO@ -MAN = @MAN@ -MANIFEST_TOOL = @MANIFEST_TOOL@ -MKDIR_P = @MKDIR_P@ -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_URL = @PACKAGE_URL@ -PACKAGE_VERSION = @PACKAGE_VERSION@ -PATH_SEPARATOR = @PATH_SEPARATOR@ -PDFLATEX = @PDFLATEX@ -PS2PDF = @PS2PDF@ -RANLIB = @RANLIB@ -SED = @SED@ -SET_MAKE = @SET_MAKE@ -SHELL = @SHELL@ -STRIP = @STRIP@ -TODOS = @TODOS@ -UNIX2DOS = @UNIX2DOS@ -VERSION = @VERSION@ -WERL = @WERL@ -YAPP_VSN = @YAPP_VSN@ -YAWS_VSN = @YAWS_VSN@ -abs_builddir = @abs_builddir@ -abs_srcdir = @abs_srcdir@ -abs_top_builddir = @abs_top_builddir@ -abs_top_srcdir = @abs_top_srcdir@ -ac_ct_AR = @ac_ct_AR@ -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@ -appsdir = @appsdir@ -bindir = @bindir@ -build = @build@ -build_alias = @build_alias@ -build_cpu = @build_cpu@ -build_os = @build_os@ -build_vendor = @build_vendor@ -builddir = @builddir@ -confdir = @confdir@ -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@ -logdir = @logdir@ -mandir = @mandir@ -mkdir_p = @mkdir_p@ -oldincludedir = @oldincludedir@ -pdfdir = @pdfdir@ -prefix = @prefix@ -program_transform_name = @program_transform_name@ -psdir = @psdir@ -runstatedir = @runstatedir@ -sbindir = @sbindir@ -sharedstatedir = @sharedstatedir@ -srcdir = @srcdir@ -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@ -wwwdir = @wwwdir@ -yappdir = @yappdir@ -yawsdir = @yawsdir@ -beamdir = $(appsdir)/wiki/ebin/ -BEAM_FILES = *.beam -beam_DATA = $(BEAM_FILES) -all: all-am - -.SUFFIXES: -$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) - @for dep in $?; do \ - case '$(am__configure_deps)' in \ - *$$dep*) \ - ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ - && { if test -f $@; then exit 0; else break; fi; }; \ - exit 1;; \ - esac; \ - done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign applications/wiki/ebin/Makefile'; \ - $(am__cd) $(top_srcdir) && \ - $(AUTOMAKE) --foreign applications/wiki/ebin/Makefile -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - @case '$?' in \ - *config.status*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ - *) \ - echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ - esac; - -$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh - -$(top_srcdir)/configure: $(am__configure_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(ACLOCAL_M4): $(am__aclocal_m4_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(am__aclocal_m4_deps): - -mostlyclean-libtool: - -rm -f *.lo - -clean-libtool: - -rm -rf .libs _libs -install-beamDATA: $(beam_DATA) - @$(NORMAL_INSTALL) - @list='$(beam_DATA)'; test -n "$(beamdir)" || list=; \ - if test -n "$$list"; then \ - echo " $(MKDIR_P) '$(DESTDIR)$(beamdir)'"; \ - $(MKDIR_P) "$(DESTDIR)$(beamdir)" || exit 1; \ - fi; \ - 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)$(beamdir)'"; \ - $(INSTALL_DATA) $$files "$(DESTDIR)$(beamdir)" || exit $$?; \ - done - -uninstall-beamDATA: - @$(NORMAL_UNINSTALL) - @list='$(beam_DATA)'; test -n "$(beamdir)" || list=; \ - files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ - dir='$(DESTDIR)$(beamdir)'; $(am__uninstall_files_from_dir) -tags TAGS: - -ctags CTAGS: - -cscope cscopelist: - - -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 $(DATA) -installdirs: - for dir in "$(DESTDIR)$(beamdir)"; do \ - test -z "$$dir" || $(MKDIR_P) "$$dir"; \ - done -install: install-am -install-exec: install-exec-am -install-data: install-data-am -uninstall: uninstall-am - -install-am: all-am - @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am - -installcheck: installcheck-am -install-strip: - if test -z '$(STRIP)'; then \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - install; \ - else \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ - fi -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-beamDATA - -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: uninstall-beamDATA - -.MAKE: install-am install-strip - -.PHONY: all all-am check check-am clean clean-generic clean-libtool \ - clean-local cscopelist-am ctags-am distclean distclean-generic \ - distclean-libtool distdir dvi dvi-am html html-am info info-am \ - install install-am install-beamDATA 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 tags-am uninstall \ - uninstall-am uninstall-beamDATA - -.PRECIOUS: Makefile - - -clean-local: - $(AM_V_at)rm -f $(BEAM_FILES) - -# Local Variables: -# tab-width: 8 -# End: - -# Tell versions [3.59,3.63) of GNU make to not export all variables. -# Otherwise a system limit (for SysV at least) may be exceeded. -.NOEXPORT: diff -Nru yaws-2.0.6+dfsg/applications/wiki/Makefile.in yaws-2.0.7+dfsg/applications/wiki/Makefile.in --- yaws-2.0.6+dfsg/applications/wiki/Makefile.in 2018-06-26 09:17:08.000000000 +0000 +++ yaws-2.0.7+dfsg/applications/wiki/Makefile.in 1970-01-01 00:00:00.000000000 +0000 @@ -1,704 +0,0 @@ -# Makefile.in generated by automake 1.15.1 from Makefile.am. -# @configure_input@ - -# Copyright (C) 1994-2017 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@ -am__is_gnu_make = { \ - if test -z '$(MAKELEVEL)'; then \ - false; \ - elif test -n '$(MAKE_HOST)'; then \ - true; \ - elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ - true; \ - else \ - false; \ - fi; \ -} -am__make_running_with_option = \ - case $${target_option-} in \ - ?) ;; \ - *) echo "am__make_running_with_option: internal error: invalid" \ - "target option '$${target_option-}' specified" >&2; \ - exit 1;; \ - esac; \ - has_opt=no; \ - sane_makeflags=$$MAKEFLAGS; \ - if $(am__is_gnu_make); then \ - sane_makeflags=$$MFLAGS; \ - else \ - case $$MAKEFLAGS in \ - *\\[\ \ ]*) \ - bs=\\; \ - sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ - | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ - esac; \ - fi; \ - skip_next=no; \ - strip_trailopt () \ - { \ - flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ - }; \ - for flg in $$sane_makeflags; do \ - test $$skip_next = yes && { skip_next=no; continue; }; \ - case $$flg in \ - *=*|--*) continue;; \ - -*I) strip_trailopt 'I'; skip_next=yes;; \ - -*I?*) strip_trailopt 'I';; \ - -*O) strip_trailopt 'O'; skip_next=yes;; \ - -*O?*) strip_trailopt 'O';; \ - -*l) strip_trailopt 'l'; skip_next=yes;; \ - -*l?*) strip_trailopt 'l';; \ - -[dEDm]) skip_next=yes;; \ - -[JT]) skip_next=yes;; \ - esac; \ - case $$flg in \ - *$$target_option*) has_opt=yes; break;; \ - esac; \ - done; \ - test $$has_opt = yes -am__make_dryrun = (target_option=n; $(am__make_running_with_option)) -am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) -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 = applications/wiki -ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/m4/ax_compare_version.m4 \ - $(top_srcdir)/m4/colored-echo.m4 $(top_srcdir)/m4/erlang.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)/configure.ac -am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ - $(ACLOCAL_M4) -DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON) -mkinstalldirs = $(install_sh) -d -CONFIG_CLEAN_FILES = -CONFIG_CLEAN_VPATH_FILES = -AM_V_P = $(am__v_P_@AM_V@) -am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) -am__v_P_0 = false -am__v_P_1 = : -AM_V_GEN = $(am__v_GEN_@AM_V@) -am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) -am__v_GEN_0 = @echo " GEN " $@; -am__v_GEN_1 = -AM_V_at = $(am__v_at_@AM_V@) -am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) -am__v_at_0 = @ -am__v_at_1 = -SOURCES = -DIST_SOURCES = -RECURSIVE_TARGETS = all-recursive check-recursive cscopelist-recursive \ - ctags-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 \ - tags-recursive uninstall-recursive -am__can_run_installinfo = \ - case $$AM_UPDATE_INFO_DIR in \ - n|no|NO) false;; \ - *) (install-info --version) >/dev/null 2>&1;; \ - esac -RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ - distclean-recursive maintainer-clean-recursive -am__recursive_targets = \ - $(RECURSIVE_TARGETS) \ - $(RECURSIVE_CLEAN_TARGETS) \ - $(am__extra_recursive_targets) -AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \ - distdir -am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) -# Read a list of newline-separated strings from the standard input, -# and print each of them once, without duplicates. Input order is -# *not* preserved. -am__uniquify_input = $(AWK) '\ - BEGIN { nonempty = 0; } \ - { items[$$0] = 1; nonempty = 1; } \ - END { if (nonempty) { for (i in items) print i; }; } \ -' -# Make sure the list of sources is unique. This is necessary because, -# e.g., the same source file might be shared among _SOURCES variables -# for different programs/libraries. -am__define_uniq_tagged_files = \ - list='$(am__tagged_files)'; \ - unique=`for i in $$list; do \ - if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ - done | $(am__uniquify_input)` -ETAGS = etags -CTAGS = ctags -DIST_SUBDIRS = $(SUBDIRS) -am__DIST_COMMON = $(srcdir)/Makefile.in README -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) -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" -ACLOCAL = @ACLOCAL@ -AMTAR = @AMTAR@ -AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ -APPDEPS = @APPDEPS@ -AR = @AR@ -AUTOCONF = @AUTOCONF@ -AUTOHEADER = @AUTOHEADER@ -AUTOMAKE = @AUTOMAKE@ -AWK = @AWK@ -CADAVER = @CADAVER@ -CC = @CC@ -CCDEPMODE = @CCDEPMODE@ -CFLAGS = @CFLAGS@ -CONFIG_STATUS_DEPENDENCIES = @CONFIG_STATUS_DEPENDENCIES@ -CPP = @CPP@ -CPPFLAGS = @CPPFLAGS@ -CT_RUN = @CT_RUN@ -CURL = @CURL@ -CYGPATH_W = @CYGPATH_W@ -DEFAULT_CHARSET = @DEFAULT_CHARSET@ -DEFS = @DEFS@ -DEPDIR = @DEPDIR@ -DIALYZER = @DIALYZER@ -DLLTOOL = @DLLTOOL@ -DSYMUTIL = @DSYMUTIL@ -DUMPBIN = @DUMPBIN@ -DVILATEX = @DVILATEX@ -DVIPS = @DVIPS@ -ECHO_C = @ECHO_C@ -ECHO_N = @ECHO_N@ -ECHO_T = @ECHO_T@ -EGREP = @EGREP@ -EPAM_CFLAGS = @EPAM_CFLAGS@ -EPSTOPDF = @EPSTOPDF@ -ERL = @ERL@ -ERLANG_ERTS_DIR = @ERLANG_ERTS_DIR@ -ERLANG_ERTS_VER = @ERLANG_ERTS_VER@ -ERLANG_INSTALL_LIB_DIR = @ERLANG_INSTALL_LIB_DIR@ -ERLANG_INSTALL_LIB_DIR_yapp = @ERLANG_INSTALL_LIB_DIR_yapp@ -ERLANG_INSTALL_LIB_DIR_yaws = @ERLANG_INSTALL_LIB_DIR_yaws@ -ERLANG_LIB_DIR = @ERLANG_LIB_DIR@ -ERLANG_LIB_DIR_common_test = @ERLANG_LIB_DIR_common_test@ -ERLANG_LIB_DIR_compiler = @ERLANG_LIB_DIR_compiler@ -ERLANG_LIB_DIR_crypto = @ERLANG_LIB_DIR_crypto@ -ERLANG_LIB_DIR_erlsom = @ERLANG_LIB_DIR_erlsom@ -ERLANG_LIB_DIR_erts = @ERLANG_LIB_DIR_erts@ -ERLANG_LIB_DIR_eunit = @ERLANG_LIB_DIR_eunit@ -ERLANG_LIB_DIR_inets = @ERLANG_LIB_DIR_inets@ -ERLANG_LIB_DIR_kernel = @ERLANG_LIB_DIR_kernel@ -ERLANG_LIB_DIR_mnesia = @ERLANG_LIB_DIR_mnesia@ -ERLANG_LIB_DIR_public_key = @ERLANG_LIB_DIR_public_key@ -ERLANG_LIB_DIR_sasl = @ERLANG_LIB_DIR_sasl@ -ERLANG_LIB_DIR_ssl = @ERLANG_LIB_DIR_ssl@ -ERLANG_LIB_DIR_stdlib = @ERLANG_LIB_DIR_stdlib@ -ERLANG_LIB_DIR_tools = @ERLANG_LIB_DIR_tools@ -ERLANG_LIB_DIR_xmerl = @ERLANG_LIB_DIR_xmerl@ -ERLANG_LIB_DIR_xmlrpc = @ERLANG_LIB_DIR_xmlrpc@ -ERLANG_LIB_VER_common_test = @ERLANG_LIB_VER_common_test@ -ERLANG_LIB_VER_compiler = @ERLANG_LIB_VER_compiler@ -ERLANG_LIB_VER_crypto = @ERLANG_LIB_VER_crypto@ -ERLANG_LIB_VER_erlsom = @ERLANG_LIB_VER_erlsom@ -ERLANG_LIB_VER_erts = @ERLANG_LIB_VER_erts@ -ERLANG_LIB_VER_eunit = @ERLANG_LIB_VER_eunit@ -ERLANG_LIB_VER_inets = @ERLANG_LIB_VER_inets@ -ERLANG_LIB_VER_kernel = @ERLANG_LIB_VER_kernel@ -ERLANG_LIB_VER_mnesia = @ERLANG_LIB_VER_mnesia@ -ERLANG_LIB_VER_public_key = @ERLANG_LIB_VER_public_key@ -ERLANG_LIB_VER_sasl = @ERLANG_LIB_VER_sasl@ -ERLANG_LIB_VER_ssl = @ERLANG_LIB_VER_ssl@ -ERLANG_LIB_VER_stdlib = @ERLANG_LIB_VER_stdlib@ -ERLANG_LIB_VER_tools = @ERLANG_LIB_VER_tools@ -ERLANG_LIB_VER_xmerl = @ERLANG_LIB_VER_xmerl@ -ERLANG_LIB_VER_xmlrpc = @ERLANG_LIB_VER_xmlrpc@ -ERLANG_RELEASE = @ERLANG_RELEASE@ -ERLANG_ROOT_DIR = @ERLANG_ROOT_DIR@ -ERLC = @ERLC@ -ERLCFLAGS = @ERLCFLAGS@ -ERL_LIBS = @ERL_LIBS@ -ESCRIPT = @ESCRIPT@ -EXEEXT = @EXEEXT@ -EXTRAINCLUDE = @EXTRAINCLUDE@ -FGREP = @FGREP@ -GREP = @GREP@ -HAVE_SENDFILE = @HAVE_SENDFILE@ -INSTALL = @INSTALL@ -INSTALL_BUILDER = @INSTALL_BUILDER@ -INSTALL_DATA = @INSTALL_DATA@ -INSTALL_PROGRAM = @INSTALL_PROGRAM@ -INSTALL_SCRIPT = @INSTALL_SCRIPT@ -INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ -LD = @LD@ -LDFLAGS = @LDFLAGS@ -LIBOBJS = @LIBOBJS@ -LIBS = @LIBS@ -LIBTOOL = @LIBTOOL@ -LIPO = @LIPO@ -LN_S = @LN_S@ -LTLIBOBJS = @LTLIBOBJS@ -LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@ -MAKEINFO = @MAKEINFO@ -MAN = @MAN@ -MANIFEST_TOOL = @MANIFEST_TOOL@ -MKDIR_P = @MKDIR_P@ -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_URL = @PACKAGE_URL@ -PACKAGE_VERSION = @PACKAGE_VERSION@ -PATH_SEPARATOR = @PATH_SEPARATOR@ -PDFLATEX = @PDFLATEX@ -PS2PDF = @PS2PDF@ -RANLIB = @RANLIB@ -SED = @SED@ -SET_MAKE = @SET_MAKE@ -SHELL = @SHELL@ -STRIP = @STRIP@ -TODOS = @TODOS@ -UNIX2DOS = @UNIX2DOS@ -VERSION = @VERSION@ -WERL = @WERL@ -YAPP_VSN = @YAPP_VSN@ -YAWS_VSN = @YAWS_VSN@ -abs_builddir = @abs_builddir@ -abs_srcdir = @abs_srcdir@ -abs_top_builddir = @abs_top_builddir@ -abs_top_srcdir = @abs_top_srcdir@ -ac_ct_AR = @ac_ct_AR@ -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@ -appsdir = @appsdir@ -bindir = @bindir@ -build = @build@ -build_alias = @build_alias@ -build_cpu = @build_cpu@ -build_os = @build_os@ -build_vendor = @build_vendor@ -builddir = @builddir@ -confdir = @confdir@ -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@ -logdir = @logdir@ -mandir = @mandir@ -mkdir_p = @mkdir_p@ -oldincludedir = @oldincludedir@ -pdfdir = @pdfdir@ -prefix = @prefix@ -program_transform_name = @program_transform_name@ -psdir = @psdir@ -runstatedir = @runstatedir@ -sbindir = @sbindir@ -sharedstatedir = @sharedstatedir@ -srcdir = @srcdir@ -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@ -wwwdir = @wwwdir@ -yappdir = @yappdir@ -yawsdir = @yawsdir@ -SUBDIRS = src ebin -EXTRA_DIST = wiki.conf start.sh README www -INSTDIR = $(DESTDIR)$(appsdir)/wiki -all: all-recursive - -.SUFFIXES: -$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) - @for dep in $?; do \ - case '$(am__configure_deps)' in \ - *$$dep*) \ - ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ - && { if test -f $@; then exit 0; else break; fi; }; \ - exit 1;; \ - esac; \ - done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign applications/wiki/Makefile'; \ - $(am__cd) $(top_srcdir) && \ - $(AUTOMAKE) --foreign applications/wiki/Makefile -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - @case '$?' in \ - *config.status*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ - *) \ - echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ - esac; - -$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh - -$(top_srcdir)/configure: $(am__configure_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(ACLOCAL_M4): $(am__aclocal_m4_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(am__aclocal_m4_deps): - -mostlyclean-libtool: - -rm -f *.lo - -clean-libtool: - -rm -rf .libs _libs - -# 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. -$(am__recursive_targets): - @fail=; \ - if $(am__make_keepgoing); then \ - failcom='fail=yes'; \ - else \ - failcom='exit 1'; \ - fi; \ - dot_seen=no; \ - target=`echo $@ | sed s/-recursive//`; \ - case "$@" in \ - distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ - *) list='$(SUBDIRS)' ;; \ - esac; \ - 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" - -ID: $(am__tagged_files) - $(am__define_uniq_tagged_files); mkid -fID $$unique -tags: tags-recursive -TAGS: tags - -tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) - 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; \ - $(am__define_uniq_tagged_files); \ - 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-recursive - -CTAGS: ctags -ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) - $(am__define_uniq_tagged_files); \ - 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" -cscopelist: cscopelist-recursive - -cscopelist-am: $(am__tagged_files) - list='$(am__tagged_files)'; \ - case "$(srcdir)" in \ - [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ - *) sdir=$(subdir)/$(srcdir) ;; \ - esac; \ - for i in $$list; do \ - if test -f "$$i"; then \ - echo "$(subdir)/$$i"; \ - else \ - echo "$$sdir/$$i"; \ - fi; \ - done >> $(top_builddir)/cscope.files - -distclean-tags: - -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags - -distdir: $(DISTFILES) - @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - list='$(DISTFILES)'; \ - 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 \ - $(am__make_dryrun) \ - || test -d "$(distdir)/$$subdir" \ - || $(MKDIR_P) "$(distdir)/$$subdir" \ - || exit 1; \ - 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 -check-am: all-am -check: check-recursive -all-am: Makefile -installdirs: installdirs-recursive -installdirs-am: -install: install-recursive -install-exec: install-exec-recursive -install-data: install-data-recursive -uninstall: uninstall-recursive - -install-am: all-am - @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am - -installcheck: installcheck-recursive -install-strip: - if test -z '$(STRIP)'; then \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - install; \ - else \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ - fi -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-recursive - -clean-am: clean-generic clean-libtool mostlyclean-am - -distclean: distclean-recursive - -rm -f Makefile -distclean-am: clean-am distclean-generic distclean-tags - -dvi: dvi-recursive - -dvi-am: - -html: html-recursive - -html-am: - -info: info-recursive - -info-am: - -install-data-am: install-data-local - -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-pdf: install-pdf-recursive - -install-pdf-am: - -install-ps: install-ps-recursive - -install-ps-am: - -installcheck-am: - -maintainer-clean: maintainer-clean-recursive - -rm -f Makefile -maintainer-clean-am: distclean-am maintainer-clean-generic - -mostlyclean: mostlyclean-recursive - -mostlyclean-am: mostlyclean-generic mostlyclean-libtool - -pdf: pdf-recursive - -pdf-am: - -ps: ps-recursive - -ps-am: - -uninstall-am: uninstall-local - -.MAKE: $(am__recursive_targets) install-am install-strip - -.PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am check \ - check-am clean clean-generic clean-libtool cscopelist-am ctags \ - ctags-am distclean distclean-generic distclean-libtool \ - distclean-tags distdir dvi dvi-am html html-am info info-am \ - install install-am install-data install-data-am \ - install-data-local install-dvi install-dvi-am install-exec \ - install-exec-am install-html install-html-am install-info \ - install-info-am install-man install-pdf install-pdf-am \ - install-ps install-ps-am install-strip installcheck \ - installcheck-am installdirs installdirs-am maintainer-clean \ - maintainer-clean-generic mostlyclean mostlyclean-generic \ - mostlyclean-libtool pdf pdf-am ps ps-am tags tags-am uninstall \ - uninstall-am uninstall-local - -.PRECIOUS: Makefile - -install-data-local: - $(AM_V_at)$(INSTALL) -d $(INSTDIR) - $(AM_V_at)(cd @srcdir@; tar cf - www ) | (cd $(INSTDIR); tar xf - ) - $(AM_V_at)chmod -R u+rw $(INSTDIR)/www - -uninstall-local: - $(AM_V_at)rm -fr $(INSTDIR)/www - -# Tell versions [3.59,3.63) of GNU make to not export all variables. -# Otherwise a system limit (for SysV at least) may be exceeded. -.NOEXPORT: diff -Nru yaws-2.0.6+dfsg/applications/wiki/src/Makefile.in yaws-2.0.7+dfsg/applications/wiki/src/Makefile.in --- yaws-2.0.6+dfsg/applications/wiki/src/Makefile.in 2018-06-26 09:17:08.000000000 +0000 +++ yaws-2.0.7+dfsg/applications/wiki/src/Makefile.in 1970-01-01 00:00:00.000000000 +0000 @@ -1,550 +0,0 @@ -# Makefile.in generated by automake 1.15.1 from Makefile.am. -# @configure_input@ - -# Copyright (C) 1994-2017 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@ -am__is_gnu_make = { \ - if test -z '$(MAKELEVEL)'; then \ - false; \ - elif test -n '$(MAKE_HOST)'; then \ - true; \ - elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ - true; \ - else \ - false; \ - fi; \ -} -am__make_running_with_option = \ - case $${target_option-} in \ - ?) ;; \ - *) echo "am__make_running_with_option: internal error: invalid" \ - "target option '$${target_option-}' specified" >&2; \ - exit 1;; \ - esac; \ - has_opt=no; \ - sane_makeflags=$$MAKEFLAGS; \ - if $(am__is_gnu_make); then \ - sane_makeflags=$$MFLAGS; \ - else \ - case $$MAKEFLAGS in \ - *\\[\ \ ]*) \ - bs=\\; \ - sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ - | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ - esac; \ - fi; \ - skip_next=no; \ - strip_trailopt () \ - { \ - flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ - }; \ - for flg in $$sane_makeflags; do \ - test $$skip_next = yes && { skip_next=no; continue; }; \ - case $$flg in \ - *=*|--*) continue;; \ - -*I) strip_trailopt 'I'; skip_next=yes;; \ - -*I?*) strip_trailopt 'I';; \ - -*O) strip_trailopt 'O'; skip_next=yes;; \ - -*O?*) strip_trailopt 'O';; \ - -*l) strip_trailopt 'l'; skip_next=yes;; \ - -*l?*) strip_trailopt 'l';; \ - -[dEDm]) skip_next=yes;; \ - -[JT]) skip_next=yes;; \ - esac; \ - case $$flg in \ - *$$target_option*) has_opt=yes; break;; \ - esac; \ - done; \ - test $$has_opt = yes -am__make_dryrun = (target_option=n; $(am__make_running_with_option)) -am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) -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 = applications/wiki/src -ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/m4/ax_compare_version.m4 \ - $(top_srcdir)/m4/colored-echo.m4 $(top_srcdir)/m4/erlang.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)/configure.ac -am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ - $(ACLOCAL_M4) -DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON) -mkinstalldirs = $(install_sh) -d -CONFIG_CLEAN_FILES = -CONFIG_CLEAN_VPATH_FILES = -AM_V_P = $(am__v_P_@AM_V@) -am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) -am__v_P_0 = false -am__v_P_1 = : -AM_V_GEN = $(am__v_GEN_@AM_V@) -am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) -am__v_GEN_0 = @echo " GEN " $@; -am__v_GEN_1 = -AM_V_at = $(am__v_at_@AM_V@) -am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) -am__v_at_0 = @ -am__v_at_1 = -SOURCES = -DIST_SOURCES = -am__can_run_installinfo = \ - case $$AM_UPDATE_INFO_DIR in \ - n|no|NO) false;; \ - *) (install-info --version) >/dev/null 2>&1;; \ - esac -am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) -am__DIST_COMMON = $(srcdir)/Makefile.in -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) -ACLOCAL = @ACLOCAL@ -AMTAR = @AMTAR@ -AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ -APPDEPS = @APPDEPS@ -AR = @AR@ -AUTOCONF = @AUTOCONF@ -AUTOHEADER = @AUTOHEADER@ -AUTOMAKE = @AUTOMAKE@ -AWK = @AWK@ -CADAVER = @CADAVER@ -CC = @CC@ -CCDEPMODE = @CCDEPMODE@ -CFLAGS = @CFLAGS@ -CONFIG_STATUS_DEPENDENCIES = @CONFIG_STATUS_DEPENDENCIES@ -CPP = @CPP@ -CPPFLAGS = @CPPFLAGS@ -CT_RUN = @CT_RUN@ -CURL = @CURL@ -CYGPATH_W = @CYGPATH_W@ -DEFAULT_CHARSET = @DEFAULT_CHARSET@ -DEFS = @DEFS@ -DEPDIR = @DEPDIR@ -DIALYZER = @DIALYZER@ -DLLTOOL = @DLLTOOL@ -DSYMUTIL = @DSYMUTIL@ -DUMPBIN = @DUMPBIN@ -DVILATEX = @DVILATEX@ -DVIPS = @DVIPS@ -ECHO_C = @ECHO_C@ -ECHO_N = @ECHO_N@ -ECHO_T = @ECHO_T@ -EGREP = @EGREP@ -EPAM_CFLAGS = @EPAM_CFLAGS@ -EPSTOPDF = @EPSTOPDF@ -ERL = @ERL@ -ERLANG_ERTS_DIR = @ERLANG_ERTS_DIR@ -ERLANG_ERTS_VER = @ERLANG_ERTS_VER@ -ERLANG_INSTALL_LIB_DIR = @ERLANG_INSTALL_LIB_DIR@ -ERLANG_INSTALL_LIB_DIR_yapp = @ERLANG_INSTALL_LIB_DIR_yapp@ -ERLANG_INSTALL_LIB_DIR_yaws = @ERLANG_INSTALL_LIB_DIR_yaws@ -ERLANG_LIB_DIR = @ERLANG_LIB_DIR@ -ERLANG_LIB_DIR_common_test = @ERLANG_LIB_DIR_common_test@ -ERLANG_LIB_DIR_compiler = @ERLANG_LIB_DIR_compiler@ -ERLANG_LIB_DIR_crypto = @ERLANG_LIB_DIR_crypto@ -ERLANG_LIB_DIR_erlsom = @ERLANG_LIB_DIR_erlsom@ -ERLANG_LIB_DIR_erts = @ERLANG_LIB_DIR_erts@ -ERLANG_LIB_DIR_eunit = @ERLANG_LIB_DIR_eunit@ -ERLANG_LIB_DIR_inets = @ERLANG_LIB_DIR_inets@ -ERLANG_LIB_DIR_kernel = @ERLANG_LIB_DIR_kernel@ -ERLANG_LIB_DIR_mnesia = @ERLANG_LIB_DIR_mnesia@ -ERLANG_LIB_DIR_public_key = @ERLANG_LIB_DIR_public_key@ -ERLANG_LIB_DIR_sasl = @ERLANG_LIB_DIR_sasl@ -ERLANG_LIB_DIR_ssl = @ERLANG_LIB_DIR_ssl@ -ERLANG_LIB_DIR_stdlib = @ERLANG_LIB_DIR_stdlib@ -ERLANG_LIB_DIR_tools = @ERLANG_LIB_DIR_tools@ -ERLANG_LIB_DIR_xmerl = @ERLANG_LIB_DIR_xmerl@ -ERLANG_LIB_DIR_xmlrpc = @ERLANG_LIB_DIR_xmlrpc@ -ERLANG_LIB_VER_common_test = @ERLANG_LIB_VER_common_test@ -ERLANG_LIB_VER_compiler = @ERLANG_LIB_VER_compiler@ -ERLANG_LIB_VER_crypto = @ERLANG_LIB_VER_crypto@ -ERLANG_LIB_VER_erlsom = @ERLANG_LIB_VER_erlsom@ -ERLANG_LIB_VER_erts = @ERLANG_LIB_VER_erts@ -ERLANG_LIB_VER_eunit = @ERLANG_LIB_VER_eunit@ -ERLANG_LIB_VER_inets = @ERLANG_LIB_VER_inets@ -ERLANG_LIB_VER_kernel = @ERLANG_LIB_VER_kernel@ -ERLANG_LIB_VER_mnesia = @ERLANG_LIB_VER_mnesia@ -ERLANG_LIB_VER_public_key = @ERLANG_LIB_VER_public_key@ -ERLANG_LIB_VER_sasl = @ERLANG_LIB_VER_sasl@ -ERLANG_LIB_VER_ssl = @ERLANG_LIB_VER_ssl@ -ERLANG_LIB_VER_stdlib = @ERLANG_LIB_VER_stdlib@ -ERLANG_LIB_VER_tools = @ERLANG_LIB_VER_tools@ -ERLANG_LIB_VER_xmerl = @ERLANG_LIB_VER_xmerl@ -ERLANG_LIB_VER_xmlrpc = @ERLANG_LIB_VER_xmlrpc@ -ERLANG_RELEASE = @ERLANG_RELEASE@ -ERLANG_ROOT_DIR = @ERLANG_ROOT_DIR@ -ERLC = @ERLC@ -ERLCFLAGS = @ERLCFLAGS@ -ERL_LIBS = @ERL_LIBS@ -ESCRIPT = @ESCRIPT@ -EXEEXT = @EXEEXT@ -EXTRAINCLUDE = @EXTRAINCLUDE@ -FGREP = @FGREP@ -GREP = @GREP@ -HAVE_SENDFILE = @HAVE_SENDFILE@ -INSTALL = @INSTALL@ -INSTALL_BUILDER = @INSTALL_BUILDER@ -INSTALL_DATA = @INSTALL_DATA@ -INSTALL_PROGRAM = @INSTALL_PROGRAM@ -INSTALL_SCRIPT = @INSTALL_SCRIPT@ -INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ -LD = @LD@ -LDFLAGS = @LDFLAGS@ -LIBOBJS = @LIBOBJS@ -LIBS = @LIBS@ -LIBTOOL = @LIBTOOL@ -LIPO = @LIPO@ -LN_S = @LN_S@ -LTLIBOBJS = @LTLIBOBJS@ -LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@ -MAKEINFO = @MAKEINFO@ -MAN = @MAN@ -MANIFEST_TOOL = @MANIFEST_TOOL@ -MKDIR_P = @MKDIR_P@ -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_URL = @PACKAGE_URL@ -PACKAGE_VERSION = @PACKAGE_VERSION@ -PATH_SEPARATOR = @PATH_SEPARATOR@ -PDFLATEX = @PDFLATEX@ -PS2PDF = @PS2PDF@ -RANLIB = @RANLIB@ -SED = @SED@ -SET_MAKE = @SET_MAKE@ -SHELL = @SHELL@ -STRIP = @STRIP@ -TODOS = @TODOS@ -UNIX2DOS = @UNIX2DOS@ -VERSION = @VERSION@ -WERL = @WERL@ -YAPP_VSN = @YAPP_VSN@ -YAWS_VSN = @YAWS_VSN@ -abs_builddir = @abs_builddir@ -abs_srcdir = @abs_srcdir@ -abs_top_builddir = @abs_top_builddir@ -abs_top_srcdir = @abs_top_srcdir@ -ac_ct_AR = @ac_ct_AR@ -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@ -appsdir = @appsdir@ -bindir = @bindir@ -build = @build@ -build_alias = @build_alias@ -build_cpu = @build_cpu@ -build_os = @build_os@ -build_vendor = @build_vendor@ -builddir = @builddir@ -confdir = @confdir@ -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@ -logdir = @logdir@ -mandir = @mandir@ -mkdir_p = @mkdir_p@ -oldincludedir = @oldincludedir@ -pdfdir = @pdfdir@ -prefix = @prefix@ -program_transform_name = @program_transform_name@ -psdir = @psdir@ -runstatedir = @runstatedir@ -sbindir = @sbindir@ -sharedstatedir = @sharedstatedir@ -srcdir = @srcdir@ -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@ -wwwdir = @wwwdir@ -yappdir = @yappdir@ -yawsdir = @yawsdir@ -MODULES = utils.erl \ - wiki_diff.erl \ - wiki.erl \ - wiki_format_txt.erl \ - wiki_plugin_backlinks.erl \ - wiki_plugin_dummy.erl \ - wiki_plugin_menu.erl \ - wiki_split.erl \ - wiki_templates.erl \ - wiki_to_html.erl \ - wiki_utils.erl \ - wiki_yaws.erl - -EXTRA_DIST = $(MODULES) -EBIN_DIR = @builddir@/../ebin -EBIN_FILES = $(MODULES:%.erl=$(EBIN_DIR)/%.beam) -ERLC_FLAGS = $(ERLC_GENERIC_FLAGS) -all: all-am - -.SUFFIXES: -$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) - @for dep in $?; do \ - case '$(am__configure_deps)' in \ - *$$dep*) \ - ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ - && { if test -f $@; then exit 0; else break; fi; }; \ - exit 1;; \ - esac; \ - done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign applications/wiki/src/Makefile'; \ - $(am__cd) $(top_srcdir) && \ - $(AUTOMAKE) --foreign applications/wiki/src/Makefile -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - @case '$?' in \ - *config.status*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ - *) \ - echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ - esac; - -$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh - -$(top_srcdir)/configure: $(am__configure_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(ACLOCAL_M4): $(am__aclocal_m4_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(am__aclocal_m4_deps): - -mostlyclean-libtool: - -rm -f *.lo - -clean-libtool: - -rm -rf .libs _libs -tags TAGS: - -ctags CTAGS: - -cscope cscopelist: - - -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 all-local -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: - if test -z '$(STRIP)'; then \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - install; \ - else \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ - fi -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 distclean-local - -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 all-local check check-am clean clean-generic \ - clean-libtool clean-local cscopelist-am ctags-am distclean \ - distclean-generic distclean-libtool distclean-local 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 tags-am uninstall \ - uninstall-am - -.PRECIOUS: Makefile - -include @top_srcdir@/include.mk - -include @top_srcdir@/erlang_deps.mk - -all-local: $(EBIN_FILES) - -clean-local: - $(AM_V_at)rm -f $(EBIN_FILES) - -$(EBIN_DIR)/%.beam: %.erl - $(AM_V_at)$(ERLC) $(ERLC_FLAGS) -M -MF $(@:$(EBIN_DIR)/%.beam=$(DEPDIR)/%.Pbeam) -MT $@ $< - $(AM_V_ERLC)$(ERLC) $(ERLC_FLAGS) -o $(EBIN_DIR) $< - -distclean-local: - $(AM_V_at)rm -fr $(DEPDIR) - -# Local Variables: -# tab-width: 8 -# End: - -# Tell versions [3.59,3.63) of GNU make to not export all variables. -# Otherwise a system limit (for SysV at least) may be exceeded. -.NOEXPORT: diff -Nru yaws-2.0.6+dfsg/applications/wiki/src/wiki_diff.erl yaws-2.0.7+dfsg/applications/wiki/src/wiki_diff.erl --- yaws-2.0.6+dfsg/applications/wiki/src/wiki_diff.erl 2016-07-03 10:01:00.000000000 +0000 +++ yaws-2.0.7+dfsg/applications/wiki/src/wiki_diff.erl 2019-07-14 13:01:11.000000000 +0000 @@ -13,8 +13,6 @@ -export([diff/2, diff_files/2, patch/2, patchL/2]). -export([test/0]). --import(lists, [foldl/3, reverse/1]). - test() -> diff_files("diff.erl", "diff.erl.old"). @@ -38,7 +36,7 @@ end. patchL(New, Patches) -> - foldl(fun(Patch, N) -> patch(N, Patch) end, New, Patches). + lists:foldl(fun(Patch, N) -> patch(N, Patch) end, New, Patches). patch(New, Patch) -> sneaky_flatten(patch1(binary_to_term(Patch), str2lines(New))). @@ -55,7 +53,7 @@ binary_to_list(list_to_binary(L)). diff([], _, Patch) -> - term_to_binary(reverse(Patch)); + term_to_binary(lists:reverse(Patch)); diff(Old = [{_,Str}|T], New, Patch) -> case match(Old, New) of {yes, Ln, Ln, Old1} -> @@ -82,11 +80,11 @@ str2lines([H|T], Line, C, L) -> case H of - $\n -> str2lines(T, Line+1,[],[{Line,reverse([$\n|C])}|L]); + $\n -> str2lines(T, Line+1,[],[{Line,lists:reverse([$\n|C])}|L]); _ -> str2lines(T, Line, [H|C], L) end; str2lines([], _Line, [], L) -> - reverse(L); + lists:reverse(L); str2lines([], Line, C, L) -> - reverse([{Line,reverse(C)}|L]). + lists:reverse([{Line,lists:reverse(C)}|L]). diff -Nru yaws-2.0.6+dfsg/applications/wiki/src/wiki.erl yaws-2.0.7+dfsg/applications/wiki/src/wiki.erl --- yaws-2.0.6+dfsg/applications/wiki/src/wiki.erl 2018-04-11 14:14:36.000000000 +0000 +++ yaws-2.0.7+dfsg/applications/wiki/src/wiki.erl 2019-07-14 13:01:11.000000000 +0000 @@ -48,10 +48,6 @@ str2fileencoded/1, fileencoded2str/1, mime_type/1, check_precon/2, getopt_options/2]). --import(lists, [reverse/1, map/2, sort/1]). - --import(wiki_templates, [template/5, template2/5]). - -include("../../../include/yaws_api.hrl"). -include_lib("kernel/include/file.hrl"). @@ -476,32 +472,33 @@ addFileInit(Params, Root, _Prefix) -> Page = getnode(Params), Password = getopt("password", Params), - template2(Root, "Add File", Page, - [form("POST", "addFile.yaws", - [ - input("hidden", "node", Page), - input("hidden", "password", Password), - "", - "", - "", - "" - "", - "", - "
Attach new file: ", - input("file","attached","30"),"
", - input("checkbox","unzip","on",""), - "Upload multiple files using zip archive
", - "Description: ","
", - textarea("text", 10, 72,""),"
", - input("submit", "add", "Add"), - input("button", "Cancel", - "parent.location='editFiles.yaws?node="++ - str2urlencoded(Page)++"&password="++ - str2urlencoded(Password)++"'")]), - "To upload multiple files at one time place them in a zip archive and upload " - "the zip file and check the 'unzip' checkbox above." - ], - false). + wiki_templates:template2( + Root, "Add File", Page, + [form("POST", "addFile.yaws", + [ + input("hidden", "node", Page), + input("hidden", "password", Password), + "", + "", + "", + "" + "", + "", + "
Attach new file: ", + input("file","attached","30"),"
", + input("checkbox","unzip","on",""), + "Upload multiple files using zip archive
", + "Description: ","
", + textarea("text", 10, 72,""),"
", + input("submit", "add", "Add"), + input("button", "Cancel", + "parent.location='editFiles.yaws?node="++ + str2urlencoded(Page)++"&password="++ + str2urlencoded(Password)++"'")]), + "To upload multiple files at one time place them in a zip archive and upload " + "the zip file and check the 'unzip' checkbox above." + ], + false). -record(addfile, { root, @@ -757,16 +754,17 @@ DelList = [input("hidden", "del_"++Name, Name) || {file, Name, _, _} <- DelFiles], - template2(Root, "Confirm", Page, - [List, - form("POST", "deleteFiles.yaws", - [DelList, - input("submit", "delete", "Delete"), - input("submit", "cancel", "Cancel"), - input("hidden", "node", Page), - input("hidden", "password", Password)]) - ], - false). + wiki_templates:template2( + Root, "Confirm", Page, + [List, + form("POST", "deleteFiles.yaws", + [DelList, + input("submit", "delete", "Delete"), + input("submit", "cancel", "Cancel"), + input("hidden", "node", Page), + input("hidden", "password", Password)]) + ], + false). deleteFiles(Params, Root, Prefix) -> Password = getopt("password", Params, ""), @@ -863,25 +861,26 @@ CpList = [input("hidden", "cp_"++Name, Name) || {file, Name, _, _} <- CpFiles], - PageFiles = sort(files(Root, "\\.wob$")), + PageFiles = lists:sort(files(Root, "\\.wob$")), Pages = [filename:basename(P,".wob") || P <- PageFiles, P /= File], if length(CheckedFiles) == 0 -> editFiles(Params, Root, Prefix); true -> - template2(Root, "Confirm", Page, - [List, - form("POST", "copyFiles.yaws", - [CpList, - "Destination: ", - input("select","destination",Pages), - input("submit", "copy", "Copy"), - input("submit", "cancel", "Cancel"), - input("hidden", "node", Page), - input("hidden", "password", Password)]) - ], - false) + wiki_templates:template2( + Root, "Confirm", Page, + [List, + form("POST", "copyFiles.yaws", + [CpList, + "Destination: ", + input("select","destination",Pages), + input("submit", "copy", "Copy"), + input("submit", "cancel", "Cancel"), + input("hidden", "node", Page), + input("hidden", "password", Password)]) + ], + false) end. @@ -970,8 +969,9 @@ {ok, Bin} -> {wik002,_Pwd,_Email,_Time,_Who,_OldTxt,_Files,Patches} = bin_to_wik002(Bin), - Links = reverse(mk_history_links(reverse(Patches), Page, 1)), - template2(Root, "History", Page, Links, false); + Links = lists:reverse(mk_history_links( + lists:reverse(Patches), Page, 1)), + wiki_templates:template2(Root, "History", Page, Links, false); _ -> show({no_such_page, Page}, Root) end. @@ -1014,23 +1014,25 @@ i2s(Hour),":",i2s(Min),":",i2s(Sec)]. allPages(_, Root, _Prefix) -> - Files = sort(files(Root, "\\.wob$")), - template2(Root, "All Pages", "All Pages", - [p("This is a list of all pages known to the system."), - lists:map(fun(I) -> - F = filename:basename(I, ".wob"), - [wiki_to_html:format_link(F, Root), - "
"] - end, - Files)], false). + Files = lists:sort(files(Root, "\\.wob$")), + wiki_templates:template2( + Root, "All Pages", "All Pages", + [p("This is a list of all pages known to the system."), + lists:map(fun(I) -> + F = filename:basename(I, ".wob"), + [wiki_to_html:format_link(F, Root), + "
"] + end, + Files)], false). lastEdited(_, Root, _Prefix) -> - Files = sort(files(Root, "\\.wob$")), + Files = lists:sort(files(Root, "\\.wob$")), _S = lists:flatten(lists:map(fun(I) -> "~" ++ filename:basename(I, ".wob") ++"\n\n" end, Files)), - V = reverse(sort( - lists:map(fun(I) -> {last_edited_time(I), I} end, Files))), + V = lists:reverse( + lists:sort( + lists:map(fun(I) -> {last_edited_time(I), I} end, Files))), Groups = group_by_day(V), S1 = lists:map(fun({{Year,Month,Day},Fx}) -> [p(),i2s(Year),"-",i2s(Month),"-",i2s(Day),"

", @@ -1041,8 +1043,9 @@ [J,"
"] end, Fx), ""] end, Groups), - template2(Root,"Last Edited", "These are the last edited files", - S1, false). + wiki_templates:template2( + Root,"Last Edited", "These are the last edited files", + S1, false). group_by_day([]) -> []; @@ -1054,7 +1057,7 @@ collect_this_day(Day, [{{Day,_Time},File}|T], L) -> collect_this_day(Day, T, [File|L]); collect_this_day(Day, T, L) -> - {{Day,reverse(L)}, T}. + {{Day,lists:reverse(L)}, T}. last_edited_time(File) -> case file:read_file(File) of @@ -1124,19 +1127,20 @@ {wik002, _Pwd,_Email,_Time,_Who,Content,_Files,_Patches} = bin_to_wik002(Bin), - template2(Root, "Delete", Page, - [p("Reconfirm deleting this page - hit the 'Delete' " - "button to permanently remove the page."), - form("POST", "finalDeletePage.yaws", - [input("submit", "finaldelete", "Delete"), - input("submit", "cancel", "Cancel"), - input("hidden", "node", Page), - input("hidden", "password", Password), - p(), - textarea("text", 25, 75, Content), - p(), - hr()])], - false); + wiki_templates:template2( + Root, "Delete", Page, + [p("Reconfirm deleting this page - hit the 'Delete' " + "button to permanently remove the page."), + form("POST", "finalDeletePage.yaws", + [input("submit", "finaldelete", "Delete"), + input("submit", "cancel", "Cancel"), + input("hidden", "node", Page), + input("hidden", "password", Password), + p(), + textarea("text", 25, 75, Content), + p(), + hr()])], + false); _ -> show({no_such_page,Page}, Root) end. @@ -1184,21 +1188,22 @@ lists:keydelete("password", 1, Values)], Hidden = [[input("hidden", Name, Value),"\n"] || {Name, Value, _} <- Vs], - template2(Root, "Password", Page, - [p("This page is password protected - provide a password " - "and hit the 'Continue' button."), - form("POST", "putPassword.yaws","f", - (Hidden ++ - [input("hidden", "target", atom_to_list(Target)), - "Password: ", - password_entry("password",8), - input("submit","continue","Continue"), - input("submit","cancel","Cancel"), - script("document.f.password.focus();") - ] - ) - ) - ], false). + wiki_templates:template2( + Root, "Password", Page, + [p("This page is password protected - provide a password " + "and hit the 'Continue' button."), + form("POST", "putPassword.yaws","f", + (Hidden ++ + [input("hidden", "target", atom_to_list(Target)), + "Password: ", + password_entry("password",8), + input("submit","continue","Continue"), + input("submit","cancel","Cancel"), + script("document.f.password.focus();") + ] + ) + ) + ], false). putPassword(Params, Root, Prefix) -> Target = getopt("target", Params, "error"), @@ -1409,21 +1414,22 @@ end. edit1(Page, Root, Password, Content, Sid) -> - template2(Root, "Edit", Page, - [p("Edit this page - when you have finished hit the 'Preview' " - "button to check your results."), - form("POST", "previewPage.yaws?sid="++str2urlencoded(Sid), - "f1", - [textarea("text", 25, 75, Content), - p(), - input("submit", "preview", "Preview"), - input("submit", "delete", "Delete"), - input("submit", "cancel", "Cancel"), - input("submit", "chpasswd", "Password"), - input("hidden", "node", Page), - input("hidden", "password", Password), - hr()]) - ], false). + wiki_templates:template2( + Root, "Edit", Page, + [p("Edit this page - when you have finished hit the 'Preview' " + "button to check your results."), + form("POST", "previewPage.yaws?sid="++str2urlencoded(Sid), + "f1", + [textarea("text", 25, 75, Content), + p(), + input("submit", "preview", "Preview"), + input("submit", "delete", "Delete"), + input("submit", "cancel", "Cancel"), + input("submit", "chpasswd", "Password"), + input("hidden", "node", Page), + input("hidden", "password", Password), + hr()]) + ], false). sendMeThePassword(Params, Root, _Prefix) -> Page = getnode(Params), @@ -1437,20 +1443,23 @@ %% io:format("Here Email=~p EMailOwner=~p~n",[Email,EmailOwner]), case Email of "" -> - template2(Root, "Error", "Failure", - [p("This page has no associated email address")], - false); + wiki_templates:template2( + Root, "Error", "Failure", + [p("This page has no associated email address")], + false); EmailOwner -> mail(Page, Email, Pwd), - template2(Root, "Ok", "Success", - [p("The password has been mailed to "), - Email, - p("Have a nice day")], - false); + wiki_templates:template2( + Root, "Ok", "Success", + [p("The password has been mailed to "), + Email, + p("Have a nice day")], + false); _Other -> - template2(Root, "Error", "Failure", - [p("Incorrect email address")], - false) + wiki_templates:template2( + Root, "Error", "Failure", + [p("Incorrect email address")], + false) end; _ -> show({no_such_file,Page}, Root) @@ -1844,19 +1853,20 @@ Txt = zap_cr(Txt0), Wik = wiki_split:str2wiki(Txt), session_set_text(Sid, Txt), - template2(Root, "Preview", Page, - [p("If this page is ok hit the \"Store\" button " - "otherwise return to the editing phase by clicking the edit " - "button."), - form("POST", "storePage.yaws?sid="++str2urlencoded(Sid), - [input("submit", "store", "Store"), - input("submit", "cancel", "Cancel"), - input("submit", "edit", "Edit"), - input("hidden", "node", Page), - input("hidden", "password", Password), - input("hidden", "txt", str2formencoded(Txt))]), - p(),hr(),h1(Page), - wiki_to_html:format_wiki(Page, Wik, Root, preview)], false). + wiki_templates:template2( + Root, "Preview", Page, + [p("If this page is ok hit the \"Store\" button " + "otherwise return to the editing phase by clicking the edit " + "button."), + form("POST", "storePage.yaws?sid="++str2urlencoded(Sid), + [input("submit", "store", "Store"), + input("submit", "cancel", "Cancel"), + input("submit", "edit", "Edit"), + input("hidden", "node", Page), + input("hidden", "password", Password), + input("hidden", "txt", str2formencoded(Txt))]), + p(),hr(),h1(Page), + wiki_to_html:format_wiki(Page, Wik, Root, preview)], false). %% Preview Tagged %% Tagged stuff is inside comment and append regions @@ -1914,17 +1924,18 @@ if P1 == P2 -> session_set_all(Sid,Txt,P1,Email), - template2(Root, "Preview", - p("If this page is ok hit the \"Store\" button " - "otherwise return to the editing phase by clicking " - "the back button in your browser."), - [form("POST", "storeNewPage.yaws", - [input("submit", "store", "Store"), - input("hidden", "node", Page), - input("hidden", "password", P1), - input("hidden", "email", str2formencoded(Email)), - input("hidden", "txt", str2formencoded(Txt))]), - wiki_to_html:format_wiki(Page, Wik, Root)], false); + wiki_templates:template2( + Root, "Preview", + p("If this page is ok hit the \"Store\" button " + "otherwise return to the editing phase by clicking " + "the back button in your browser."), + [form("POST", "storeNewPage.yaws", + [input("submit", "store", "Store"), + input("hidden", "node", Page), + input("hidden", "password", P1), + input("hidden", "email", str2formencoded(Email)), + input("hidden", "txt", str2formencoded(Txt))]), + wiki_to_html:format_wiki(Page, Wik, Root)], false); true -> show({passwords_differ,P1,P2}, Root) end. @@ -2135,26 +2146,28 @@ little_letter(_) -> false. show({bad_password, Page}, Root) -> - template2(Root, "Error", "Incorrect password", - [p("You have supplied an incorrect password"), - p("To find out the the password fill " - "in your email address and click on " - "\"Show password\". If you are " - "the registered owner of this page " - "then I will tell you the password."), - form("POST", "sendMeThePassword.yaws", - [input("hidden", "node", Page), - "email address:", - input("text", "email", ""), - input("submit", "send", - "Show password")]) - ], false); + wiki_templates:template2( + Root, "Error", "Incorrect password", + [p("You have supplied an incorrect password"), + p("To find out the the password fill " + "in your email address and click on " + "\"Show password\". If you are " + "the registered owner of this page " + "then I will tell you the password."), + form("POST", "sendMeThePassword.yaws", + [input("hidden", "node", Page), + "email address:", + input("text", "email", ""), + input("submit", "send", + "Show password")]) + ], false); show({illegal_filename, FileName, Reason}, Root) -> - template2(Root, "Error", "Illegal filename", - [p("You have supplied an illegal filename: " ++ FileName ++ "."), - p(Reason)], - false); + wiki_templates:template2( + Root, "Error", "Illegal filename", + [p("You have supplied an illegal filename: " ++ FileName ++ "."), + p(Reason)], + false); show(X, _Root) -> {html, [body("white"),"

",
@@ -2480,26 +2493,28 @@
             S0 = [forms("POST", "searchPage.yaws",
                         [input("submit", "searchstart", "Search"),
                          input("text", "search", "")])],
-            template2(Root,"Search", "Wiki page search",
-                      [S0, "
", - h1("Nothing to find")], - false); + wiki_templates:template2( + Root,"Search", "Wiki page search", + [S0, "
", + h1("Nothing to find")], + false); {error, Error} -> S0 = [forms("POST", "searchPage.yaws", [input("submit", "searchstart", "Search"), input("text", "search", "")])], - template2(Root,"Search", "Wiki page search", - [S0, "
", - h1(io_lib:format("Error in the regular " - "expression \"~p\"", - [Error]))], - false); + wiki_templates:template2( + Root,"Search", "Wiki page search", + [S0, "
", + h1(io_lib:format("Error in the regular " + "expression \"~p\"", + [Error]))], + false); Search -> - Files = sort(files(Root, "\\.wob$")), + Files = lists:sort(files(Root, "\\.wob$")), {Sres, _S} = lists:mapfoldl(fun(F, S) -> {searchPage(F, S), S} end, Search, Files), - Sres_sort = reverse(sort(Sres)), + Sres_sort = lists:reverse(lists:sort(Sres)), S1 = lists:map(fun({Matches, Fx}) -> [p(),i2s(Matches)," ", wiki_to_html:format_link( @@ -2509,10 +2524,11 @@ S0 = [forms("POST", "searchPage.yaws", [input("submit", "searchstart", "Search"), input("text", "search", Search)])], - template2(Root,"Search", "Wiki page search", - [S0, "
", - h1("Number of matches found per page"), S1], - false) + wiki_templates:template2( + Root,"Search", "Wiki page search", + [S0, "
", + h1("Number of matches found per page"), S1], + false) end. searchPage(File, Search) -> diff -Nru yaws-2.0.6+dfsg/applications/wiki/src/wiki_format_txt.erl yaws-2.0.7+dfsg/applications/wiki/src/wiki_format_txt.erl --- yaws-2.0.6+dfsg/applications/wiki/src/wiki_format_txt.erl 2018-04-11 14:14:36.000000000 +0000 +++ yaws-2.0.7+dfsg/applications/wiki/src/wiki_format_txt.erl 2019-07-14 13:01:11.000000000 +0000 @@ -48,8 +48,6 @@ -export([format/3, format_url/2, collect_wiki_link/1, emb/4, enc_month/1, enc_day/1]). --import(lists, [member/2, map/2, reverse/1, reverse/2]). - -record(env, {node, f, f1 = false, @@ -77,7 +75,7 @@ format_txt([$\n|T], Env, L, Doc) -> case blank_line(T) of {yes, T1} -> - {Env1, L1} = clear_line(Env, reverse("

\n", L)), + {Env1, L1} = clear_line(Env, lists:reverse("

\n", L)), format_txt(T1, Env1, L1, Doc); no -> after_nl(T, Env, [$\n|L], Doc) @@ -110,30 +108,30 @@ format_txt("~" ++ T, Env, L, Doc) -> {Word, T1} = collect_wiki_link(T), Link = format_wiki_word(Word, Env), - format_txt(T1, Env, reverse(Link, L), Doc); + format_txt(T1, Env, lists:reverse(Link, L), Doc); format_txt("http://" ++ T, Env, L, Doc) -> {Url, T1} = collect_url(T, []), Txt = format_external_url(Url), - format_txt(T1, Env, reverse(Txt, L), Doc); + format_txt(T1, Env, lists:reverse(Txt, L), Doc); format_txt("https://" ++ T, Env, L, Doc) -> {Url, T1} = collect_url(T, []), Txt = format_external_url(Url, "https://"), - format_txt(T1, Env, reverse(Txt, L), Doc); + format_txt(T1, Env, lists:reverse(Txt, L), Doc); format_txt("ftp://" ++ T, Env, L, Doc) -> {Url, T1} = collect_url(T, []), Txt = format_external_url(Url, "ftp://"), - format_txt(T1, Env, reverse(Txt, L), Doc); + format_txt(T1, Env, lists:reverse(Txt, L), Doc); format_txt("slideshow:" ++ T, Env, L, Doc) -> {X, T1} = collect_wiki_link(T), Txt = ""++yaws_api:htmlize(X)++ "", - format_txt(T1, Env, reverse(Txt, L), Doc); + format_txt(T1, Env, lists:reverse(Txt, L), Doc); format_txt("mailto:" ++ T, Env, L, Doc) -> {X, T1} = collect_mail(T, []), Txt = "" ++ "" ++ yaws_api:htmlize(X) ++ "", - format_txt(T1, Env, reverse(Txt, L), Doc); + format_txt(T1, Env, lists:reverse(Txt, L), Doc); format_txt("mailtoall:" ++ T, Env, L, Doc) -> {Name, T1} = collect_wiki_link(T), case get_mailto(Doc, []) of @@ -142,44 +140,44 @@ [F|Rs] -> Recipients = [F | [[$,|R] || R <- Rs]], Txt = "" ++ yaws_api:htmlize(Name) ++ "", - format_txt(T1, Env, reverse(Txt, L), Doc) + format_txt(T1, Env, lists:reverse(Txt, L), Doc) end; format_txt(" Page = Env#env.node, {Txt, T1} = plugin(T, Page), - format_txt(T1, Env, reverse(Txt, L), Doc); + format_txt(T1, Env, lists:reverse(Txt, L), Doc); format_txt([H|T], Env, L, Doc) -> - format_txt(T, Env, reverse(yaws_api:htmlize([H]))++L, Doc); + format_txt(T, Env, lists:reverse(yaws_api:htmlize([H]))++L, Doc); format_txt([], Env, L, _Doc) -> {_, L1} = clear_line(Env, L), - {Env, reverse(L1)}. + {Env, lists:reverse(L1)}. format_wiki_word(Str, Env) -> F = Env#env.f, F({wikiLink, Str}). -collect_url(S=[$ |_], L) -> {reverse(L), S}; -collect_url(S=[$,|_], L) -> {reverse(L), S}; -collect_url(S=[$)|_], L) -> {reverse(L), S}; -collect_url(S=[$.,$ |_], L) -> {reverse(L), S}; -collect_url(S=[$.,$\n|_], L) -> {reverse(L), S}; -collect_url(S=[$.,$\r|_], L) -> {reverse(L), S}; -collect_url(S=[$.,$\t|_], L) -> {reverse(L), S}; -collect_url(S=[$\n|_], L) -> {reverse(L), S}; +collect_url(S=[$ |_], L) -> {lists:reverse(L), S}; +collect_url(S=[$,|_], L) -> {lists:reverse(L), S}; +collect_url(S=[$)|_], L) -> {lists:reverse(L), S}; +collect_url(S=[$.,$ |_], L) -> {lists:reverse(L), S}; +collect_url(S=[$.,$\n|_], L) -> {lists:reverse(L), S}; +collect_url(S=[$.,$\r|_], L) -> {lists:reverse(L), S}; +collect_url(S=[$.,$\t|_], L) -> {lists:reverse(L), S}; +collect_url(S=[$\n|_], L) -> {lists:reverse(L), S}; collect_url([H|T], L) -> collect_url(T, [H|L]); -collect_url([], L) -> {reverse(L), []}. +collect_url([], L) -> {lists:reverse(L), []}. -collect_mail(S=[$ |_], L) -> {reverse(L), S}; -collect_mail(S=[$)|_], L) -> {reverse(L), S}; -collect_mail(S=[$<|_], L) -> {reverse(L), S}; -collect_mail(S=[$>|_], L) -> {reverse(L), S}; -collect_mail(S=[$.,$ |_], L) -> {reverse(L), S}; -collect_mail(S=[$.,$\n|_], L) -> {reverse(L), S}; -collect_mail(S=[$.,$\r|_], L) -> {reverse(L), S}; -collect_mail(S=[$.,$\t|_], L) -> {reverse(L), S}; -collect_mail(S=[$\n|_], L) -> {reverse(L), S}; +collect_mail(S=[$ |_], L) -> {lists:reverse(L), S}; +collect_mail(S=[$)|_], L) -> {lists:reverse(L), S}; +collect_mail(S=[$<|_], L) -> {lists:reverse(L), S}; +collect_mail(S=[$>|_], L) -> {lists:reverse(L), S}; +collect_mail(S=[$.,$ |_], L) -> {lists:reverse(L), S}; +collect_mail(S=[$.,$\n|_], L) -> {lists:reverse(L), S}; +collect_mail(S=[$.,$\r|_], L) -> {lists:reverse(L), S}; +collect_mail(S=[$.,$\t|_], L) -> {lists:reverse(L), S}; +collect_mail(S=[$\n|_], L) -> {lists:reverse(L), S}; collect_mail([H|T], L) -> collect_mail(T, [H|L]); -collect_mail([], L) -> {reverse(L), []}. +collect_mail([], L) -> {lists:reverse(L), []}. get_mailto([$\\,_C|T], L) -> get_mailto(T, L); @@ -207,7 +205,7 @@ end. is_graphic(F) -> - member(filename:extension(F), [".gif", ".GIF", ".jpg", ".JPG"]). + lists:member(filename:extension(F), [".gif", ".GIF", ".jpg", ".JPG"]). after_nl([${,$\n|T], Env, L, Doc) -> pre(T, Env, L, Doc); %after_nl([${,${|T], Env, L, Doc) -> emb(T, Env, L, Doc); @@ -220,25 +218,25 @@ hr(T, Env, L, Doc) -> {Env1, L1} = clear_line(Env, L), - L2 = reverse("


\n", L1), + L2 = lists:reverse("
\n", L1), format_txt(T, Env1, L2, Doc). pre(T, Env, L, Doc) -> {Env1, L1} = clear_line(Env, L), - L2 = reverse("
\n", L1),
+    L2 = lists:reverse("
\n", L1),
     pre1(T, Env1, L2, Doc).
 
 pre1([$\r,$}|T], Env, L, Doc) ->
-    L1 = reverse("\n
\n", L), + L1 = lists:reverse("\n
\n", L), format_txt(T, Env, L1, Doc); pre1([$\n,$}|T], Env, L, Doc) -> - L1 = reverse("\n
\n", L), + L1 = lists:reverse("\n\n", L), format_txt(T, Env, L1, Doc); pre1([$<|T], Env, L, Doc) -> - L1 = reverse("<", L), + L1 = lists:reverse("<", L), pre1(T, Env, L1, Doc); pre1([$>|T], Env, L, Doc) -> - L1 = reverse(">", L), + L1 = lists:reverse(">", L), pre1(T, Env, L1, Doc); pre1([H|T], Env, L, Doc) -> pre1(T, Env, [H|L], Doc); @@ -259,15 +257,15 @@ {Region, T2} = collect_region($], T1, []), case Expired of error -> - L1 = reverse("ERROR: bad expires date entry - "++DateStr++". " - "The date should be on the form \"3 Jan 2003 " - "00:00:00\".", L), + L1 = lists:reverse("ERROR: bad expires date entry - "++DateStr++". " + "The date should be on the form \"3 Jan 2003 " + "00:00:00\".", L), format_txt(T2, Env, L1, Doc); true -> format_txt(T2, Env, L, Doc); false -> {Env1, RTxt} = format_txt(Region, Env, [], Doc), - L1 = reverse(RTxt, L), + L1 = lists:reverse(RTxt, L), format_txt(T2, Env1, L1, Doc) end. @@ -417,11 +415,11 @@ note(T, Env, L, Doc) -> {Env1, L1} = clear_line(Env, L), - L2 = reverse(note_start(), L1), + L2 = lists:reverse(note_start(), L1), note1(T, Env1, L2, Doc). note1([$\n,$]|T], Env, L, Doc) -> - L1 = reverse(note_end(), L), + L1 = lists:reverse(note_end(), L), format_txt(T, Env, L1, Doc); note1([H|T], Env, L, Doc) -> note1(T, Env, [H|L], Doc); @@ -441,10 +439,10 @@ T2 = skip_blanks(T1), case T2 of [$*|T3] -> - format_txt(T3,Env1,reverse("
  • ", L1), Doc); + format_txt(T3,Env1,lists:reverse("
  • ", L1), Doc); [$[|T4] -> {Env2, L2} = open_dl(Env1, L1), - add_dl(T4, Env2, reverse("
    ", L2), Doc); + add_dl(T4, Env2, lists:reverse("
    ", L2), Doc); _ -> format_txt(T2,Env1,L1, Doc) end. @@ -455,17 +453,17 @@ skip_blanks(X) -> X. open_dl(Env, L) when Env#env.dl == false -> - {Env#env{dl=true}, reverse("
    ", L)}; + {Env#env{dl=true}, lists:reverse("
    ", L)}; open_dl(Env, L) -> {Env, L}. add_dl([$]|T], Env, L, Doc) -> - format_txt(T, Env, reverse("
    ", L), Doc); + format_txt(T, Env, lists:reverse("
    ", L), Doc); add_dl([$\n|T], Env, L, Doc) -> - format_txt(T, Env, reverse("
    ", L), Doc); + format_txt(T, Env, lists:reverse("
    ", L), Doc); add_dl([H|T], Env, L, Doc) -> add_dl(T, Env, [H|L], Doc); add_dl([], Env, L, Doc) -> - format_txt([], Env, reverse("", L), Doc). + format_txt([], Env, lists:reverse("", L), Doc). count_indent_levels([$-|T], N) -> count_indent_levels(T, N+1); count_indent_levels(T, N) -> {N, T}. @@ -473,18 +471,18 @@ adjust_indents(Env, K, L) when Env#env.n == K -> {Env, L}; adjust_indents(Env, K, L) when Env#env.n > K -> - adjust_indents(Env#env{n=Env#env.n-1}, K, reverse("", L)); + adjust_indents(Env#env{n=Env#env.n-1}, K, lists:reverse("", L)); adjust_indents(Env, K, L) when K > Env#env.n -> - adjust_indents(Env#env{n=Env#env.n+1}, K, reverse("
      ", L)). + adjust_indents(Env#env{n=Env#env.n+1}, K, lists:reverse("
        ", L)). clear_line(Env, L) when Env#env.f1==true -> - clear_line(Env#env{f1=false}, reverse("", L)); + clear_line(Env#env{f1=false}, lists:reverse("", L)); clear_line(Env, L) when Env#env.f2==true -> - clear_line(Env#env{f2=false}, reverse("", L)); + clear_line(Env#env{f2=false}, lists:reverse("", L)); clear_line(Env, L) when Env#env.f3==true -> - clear_line(Env#env{f3=false}, reverse("", L)); + clear_line(Env#env{f3=false}, lists:reverse("", L)); clear_line(Env, L) when Env#env.dl==true-> - clear_line(Env#env{dl=false}, reverse("", L)); + clear_line(Env#env{dl=false}, lists:reverse("", L)); clear_line(Env, L) when Env#env.n /= 0 -> {Env1, L1} = adjust_indents(Env,0,L), clear_line(Env1, L1); @@ -492,33 +490,33 @@ {Env, L}. char_style(u, Env, L) when Env#env.u == false -> - {Env#env{u=true},reverse("", L)}; + {Env#env{u=true},lists:reverse("", L)}; char_style(u, Env, L) when Env#env.u == true -> - {Env#env{u=false},reverse("", L)}; + {Env#env{u=false},lists:reverse("", L)}; char_style(b, Env, L) when Env#env.f1 == false -> - {Env#env{f1=true},reverse("", L)}; + {Env#env{f1=true},lists:reverse("", L)}; char_style(b, Env, L) when Env#env.f1 == true -> - {Env#env{f1=false},reverse("", L)}; + {Env#env{f1=false},lists:reverse("", L)}; char_style(i, Env, L) when Env#env.f2 == false -> - {Env#env{f2=true},reverse("", L)}; + {Env#env{f2=true},lists:reverse("", L)}; char_style(i, Env, L) when Env#env.f2 == true -> - {Env#env{f2=false},reverse("", L)}; + {Env#env{f2=false},lists:reverse("", L)}; char_style(tt, Env, L) when Env#env.f3==false -> - {Env#env{f3=true},reverse("", L)}; + {Env#env{f3=true},lists:reverse("", L)}; char_style(tt, Env, L) when Env#env.f3==true -> - {Env#env{f3=false},reverse("", L)}; + {Env#env{f3=false},lists:reverse("", L)}; char_style(h1, Env, L) when Env#env.h1==true -> - {Env#env{h1=false},reverse("", L)}; + {Env#env{h1=false},lists:reverse("", L)}; char_style(h2, Env, L) when Env#env.h2==true -> - {Env#env{h2=false},reverse("", L)}; + {Env#env{h2=false},lists:reverse("", L)}; char_style(h3, Env, L) when Env#env.h3==true -> - {Env#env{h3=false},reverse("", L)}; + {Env#env{h3=false},lists:reverse("", L)}; char_style(h1, Env, L) when Env#env.h1==false -> - {Env#env{h1=true},reverse("

        ", L)}; + {Env#env{h1=true},lists:reverse("

        ", L)}; char_style(h2, Env, L) when Env#env.h2==false -> - {Env#env{h2=true},reverse("

        ", L)}; + {Env#env{h2=true},lists:reverse("

        ", L)}; char_style(h3, Env, L) when Env#env.h3==false -> - {Env#env{h3=true},reverse("

        ", L)}. + {Env#env{h3=true},lists:reverse("

        ", L)}. collect_wiki_link([$"|X]) -> collect_wiki_link(X, [], true); @@ -526,7 +524,7 @@ collect_wiki_link(X, [], false). collect_wiki_link([$"|T], L, true) -> - {reverse(L), T}; + {lists:reverse(L), T}; collect_wiki_link([Any|T], L, true) -> collect_wiki_link(T, [Any|L], true); collect_wiki_link([H|T], L, Quoted) when $A =< H, H =< $Z -> @@ -536,14 +534,14 @@ collect_wiki_link([H|T], L, Quoted) when $0 =< H, H =< $9 -> collect_wiki_link(T, [H|L], Quoted); collect_wiki_link(S=[H|T], L, Quoted) -> - case member(H, "äÄöÖåÅ") of + case lists:member(H, "äÄöÖåÅ") of true -> collect_wiki_link(T, [H|L], Quoted); false -> - {reverse(L), S} + {lists:reverse(L), S} end; collect_wiki_link(T, L, _Quoted) -> - {reverse(L), T}. + {lists:reverse(L), T}. %% Plugin implementation. %% The plugin is a special syntaxe in Wiki pages: diff -Nru yaws-2.0.6+dfsg/applications/wiki/src/wiki_split.erl yaws-2.0.7+dfsg/applications/wiki/src/wiki_split.erl --- yaws-2.0.6+dfsg/applications/wiki/src/wiki_split.erl 2016-07-03 10:01:00.000000000 +0000 +++ yaws-2.0.7+dfsg/applications/wiki/src/wiki_split.erl 2019-07-14 13:01:11.000000000 +0000 @@ -29,8 +29,6 @@ -export([str2wiki/1, wiki2str/1, getRegion/2, putRegion/3, writeAppendRegion/3]). --import(lists, [reverse/1]). - str2wiki(Str) -> Blocks = str2wiki(Str, []), {wik, number_blocks(Blocks, 1)}. @@ -49,7 +47,7 @@ {In, Str3} = collect_open_region([$\n|T], []), str2wiki(Str3, [{open,In},{txt,Before}|L]); [] -> - reverse([{txt,Before}|L]) + lists:reverse([{txt,Before}|L]) end. %% collect_str(Str) -> {Str1, Str2} @@ -57,21 +55,21 @@ collect_str(Str) -> collect_after_nl(Str, []). -collect_after_nl(S = "<<\n" ++ _, L) -> {reverse(L), S}; -collect_after_nl(S = "<\n" ++ _, L) -> {reverse(L), S}; +collect_after_nl(S = "<<\n" ++ _, L) -> {lists:reverse(L), S}; +collect_after_nl(S = "<\n" ++ _, L) -> {lists:reverse(L), S}; collect_after_nl(X, L) -> collect_str(X, L). collect_str([$\n|T], L) -> collect_after_nl(T, [$\n|L]); collect_str([H|T], L) -> collect_str(T, [H|L]); -collect_str([], L) -> {reverse(L), []}. +collect_str([], L) -> {lists:reverse(L), []}. -collect_write_append("\n>>\n" ++ T, L) -> {reverse([$\n|L]), [$\n|T]}; +collect_write_append("\n>>\n" ++ T, L) -> {lists:reverse([$\n|L]), [$\n|T]}; collect_write_append([H|T], L) -> collect_write_append(T, [H|L]); -collect_write_append([], L) -> {reverse(L), []}. +collect_write_append([], L) -> {lists:reverse(L), []}. -collect_open_region("\n>\n" ++ T, L) -> {reverse([$\n|L]), [$\n|T]}; +collect_open_region("\n>\n" ++ T, L) -> {lists:reverse([$\n|L]), [$\n|T]}; collect_open_region([H|T], L) -> collect_open_region(T, [H|L]); -collect_open_region([], L) -> {reverse(L), []}. +collect_open_region([], L) -> {lists:reverse(L), []}. %% wiki2str. diff -Nru yaws-2.0.6+dfsg/applications/wiki/src/wiki_to_html.erl yaws-2.0.7+dfsg/applications/wiki/src/wiki_to_html.erl --- yaws-2.0.6+dfsg/applications/wiki/src/wiki_to_html.erl 2016-07-03 10:01:00.000000000 +0000 +++ yaws-2.0.7+dfsg/applications/wiki/src/wiki_to_html.erl 2019-07-14 13:01:11.000000000 +0000 @@ -13,8 +13,6 @@ -include_lib("kernel/include/file.hrl"). --import(lists, [member/2, map/2]). - format_wiki_files(_Page, _FileDir, [], _Root) -> []; format_wiki_files(Page, FileDir, Files, Root) -> format_wiki_files(Page, FileDir, Files, Root, "Attached files:"). @@ -98,7 +96,7 @@ integer_to_list(X). pp({wik,L}, F, Node, Root) -> - map(fun(I) -> pp(I, F, Node, Root) end, L); + lists:map(fun(I) -> pp(I, F, Node, Root) end, L); pp({txt,_,Str}, F, Node, _Root) -> wiki_format_txt:format(Str, F, Node); pp({open,Tag,Str}, F, Node, Root) -> diff -Nru yaws-2.0.6+dfsg/applications/wiki/src/wiki_utils.erl yaws-2.0.7+dfsg/applications/wiki/src/wiki_utils.erl --- yaws-2.0.6+dfsg/applications/wiki/src/wiki_utils.erl 2016-07-03 10:01:00.000000000 +0000 +++ yaws-2.0.7+dfsg/applications/wiki/src/wiki_utils.erl 2019-07-14 13:01:11.000000000 +0000 @@ -12,49 +12,47 @@ -export([getallrefs/2]). -export([getpages_by_prefix/2]). --import(lists, [filter/2, member/2, reverse/1, sort/1, map/2]). --import(wiki, [p/1, h1/1, show/1]). --import(wiki_templates, [template2/5]). - %% HTML structure of the backlink list findallrefsto(Page, Root) -> Pages = getallrefs(Page, Root), - template2(Root, "References", "References", - ["

        The following pages contain references to ", - wiki_to_html:format_link(Page, Root),".", - "

          ", - map(fun(F) -> - [wiki_to_html:format_link(F, Root),"
          "] end, - Pages), - "
        "], false). + wiki_templates:template2( + Root, "References", "References", + ["

        The following pages contain references to ", + wiki_to_html:format_link(Page, Root),".", + "

          ", + lists:map(fun(F) -> + [wiki_to_html:format_link(F, Root),"
          "] end, + Pages), + "
        "], false). %% Backlinks list getallrefs(Page, Root) -> All = wiki:ls(Root), - Pages = filter(fun(I) -> - case wiki:read_page(I, Root) of - {ok, Str} -> - Links = get_links(Str, []), - member(Page, Links); - error -> - false - end - end, All), - sort(Pages). + Pages = lists:filter(fun(I) -> + case wiki:read_page(I, Root) of + {ok, Str} -> + Links = get_links(Str, []), + lists:member(Page, Links); + error -> + false + end + end, All), + lists:sort(Pages). zombies(Root) -> All = wiki:ls(Root), {Reached, _Missing} = gc(["home"], [], [], Root), %% Missing = Pages refered to but do not exists at all %% This is not an error - NotReached = sort(All -- Reached), - template2(Root, "Zombies", "Zombies", - [p("These pages have no links to them."), - "
          ", - map(fun(F) -> - [wiki_to_html:format_link(F, Root),"
          "] end, - NotReached), - "
        "], false). + NotReached = lists:sort(All -- Reached), + wiki_templates:template2( + Root, "Zombies", "Zombies", + [wiki:p("These pages have no links to them."), + "
          ", + lists:map(fun(F) -> + [wiki_to_html:format_link(F, Root),"
          "] end, + NotReached), + "
        "], false). %% Return page name that match a specific prefix getpages_by_prefix(Prefix, Root) -> @@ -62,11 +60,11 @@ fun(F, AccIn)-> [F|AccIn] end, []), Pages = lists:map(fun(I) -> filename:basename(I, ".wob") end, Files), - sort(Pages). + lists:sort(Pages). gc([H|T], Visited, Missing, Root) -> - case member(H, Visited) or member(H, Missing) of + case lists:member(H, Visited) or lists:member(H, Missing) of true -> gc(T, Visited, Missing, Root); false -> diff -Nru yaws-2.0.6+dfsg/applications/yapp/ebin/Makefile.in yaws-2.0.7+dfsg/applications/yapp/ebin/Makefile.in --- yaws-2.0.6+dfsg/applications/yapp/ebin/Makefile.in 2018-06-26 09:17:08.000000000 +0000 +++ yaws-2.0.7+dfsg/applications/yapp/ebin/Makefile.in 1970-01-01 00:00:00.000000000 +0000 @@ -1,579 +0,0 @@ -# Makefile.in generated by automake 1.15.1 from Makefile.am. -# @configure_input@ - -# Copyright (C) 1994-2017 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@ -am__is_gnu_make = { \ - if test -z '$(MAKELEVEL)'; then \ - false; \ - elif test -n '$(MAKE_HOST)'; then \ - true; \ - elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ - true; \ - else \ - false; \ - fi; \ -} -am__make_running_with_option = \ - case $${target_option-} in \ - ?) ;; \ - *) echo "am__make_running_with_option: internal error: invalid" \ - "target option '$${target_option-}' specified" >&2; \ - exit 1;; \ - esac; \ - has_opt=no; \ - sane_makeflags=$$MAKEFLAGS; \ - if $(am__is_gnu_make); then \ - sane_makeflags=$$MFLAGS; \ - else \ - case $$MAKEFLAGS in \ - *\\[\ \ ]*) \ - bs=\\; \ - sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ - | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ - esac; \ - fi; \ - skip_next=no; \ - strip_trailopt () \ - { \ - flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ - }; \ - for flg in $$sane_makeflags; do \ - test $$skip_next = yes && { skip_next=no; continue; }; \ - case $$flg in \ - *=*|--*) continue;; \ - -*I) strip_trailopt 'I'; skip_next=yes;; \ - -*I?*) strip_trailopt 'I';; \ - -*O) strip_trailopt 'O'; skip_next=yes;; \ - -*O?*) strip_trailopt 'O';; \ - -*l) strip_trailopt 'l'; skip_next=yes;; \ - -*l?*) strip_trailopt 'l';; \ - -[dEDm]) skip_next=yes;; \ - -[JT]) skip_next=yes;; \ - esac; \ - case $$flg in \ - *$$target_option*) has_opt=yes; break;; \ - esac; \ - done; \ - test $$has_opt = yes -am__make_dryrun = (target_option=n; $(am__make_running_with_option)) -am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) -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 = applications/yapp/ebin -ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/m4/ax_compare_version.m4 \ - $(top_srcdir)/m4/colored-echo.m4 $(top_srcdir)/m4/erlang.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)/configure.ac -am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ - $(ACLOCAL_M4) -DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON) -mkinstalldirs = $(install_sh) -d -CONFIG_CLEAN_FILES = -CONFIG_CLEAN_VPATH_FILES = -AM_V_P = $(am__v_P_@AM_V@) -am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) -am__v_P_0 = false -am__v_P_1 = : -AM_V_GEN = $(am__v_GEN_@AM_V@) -am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) -am__v_GEN_0 = @echo " GEN " $@; -am__v_GEN_1 = -AM_V_at = $(am__v_at_@AM_V@) -am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) -am__v_at_0 = @ -am__v_at_1 = -SOURCES = -DIST_SOURCES = -am__can_run_installinfo = \ - case $$AM_UPDATE_INFO_DIR in \ - n|no|NO) false;; \ - *) (install-info --version) >/dev/null 2>&1;; \ - esac -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__uninstall_files_from_dir = { \ - test -z "$$files" \ - || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \ - || { echo " ( cd '$$dir' && rm -f" $$files ")"; \ - $(am__cd) "$$dir" && rm -f $$files; }; \ - } -am__installdirs = "$(DESTDIR)$(beamdir)" -DATA = $(beam_DATA) -am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) -am__DIST_COMMON = $(srcdir)/Makefile.in -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) -ACLOCAL = @ACLOCAL@ -AMTAR = @AMTAR@ -AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ -APPDEPS = @APPDEPS@ -AR = @AR@ -AUTOCONF = @AUTOCONF@ -AUTOHEADER = @AUTOHEADER@ -AUTOMAKE = @AUTOMAKE@ -AWK = @AWK@ -CADAVER = @CADAVER@ -CC = @CC@ -CCDEPMODE = @CCDEPMODE@ -CFLAGS = @CFLAGS@ -CONFIG_STATUS_DEPENDENCIES = @CONFIG_STATUS_DEPENDENCIES@ -CPP = @CPP@ -CPPFLAGS = @CPPFLAGS@ -CT_RUN = @CT_RUN@ -CURL = @CURL@ -CYGPATH_W = @CYGPATH_W@ -DEFAULT_CHARSET = @DEFAULT_CHARSET@ -DEFS = @DEFS@ -DEPDIR = @DEPDIR@ -DIALYZER = @DIALYZER@ -DLLTOOL = @DLLTOOL@ -DSYMUTIL = @DSYMUTIL@ -DUMPBIN = @DUMPBIN@ -DVILATEX = @DVILATEX@ -DVIPS = @DVIPS@ -ECHO_C = @ECHO_C@ -ECHO_N = @ECHO_N@ -ECHO_T = @ECHO_T@ -EGREP = @EGREP@ -EPAM_CFLAGS = @EPAM_CFLAGS@ -EPSTOPDF = @EPSTOPDF@ -ERL = @ERL@ -ERLANG_ERTS_DIR = @ERLANG_ERTS_DIR@ -ERLANG_ERTS_VER = @ERLANG_ERTS_VER@ -ERLANG_INSTALL_LIB_DIR = @ERLANG_INSTALL_LIB_DIR@ -ERLANG_INSTALL_LIB_DIR_yapp = @ERLANG_INSTALL_LIB_DIR_yapp@ -ERLANG_INSTALL_LIB_DIR_yaws = @ERLANG_INSTALL_LIB_DIR_yaws@ -ERLANG_LIB_DIR = @ERLANG_LIB_DIR@ -ERLANG_LIB_DIR_common_test = @ERLANG_LIB_DIR_common_test@ -ERLANG_LIB_DIR_compiler = @ERLANG_LIB_DIR_compiler@ -ERLANG_LIB_DIR_crypto = @ERLANG_LIB_DIR_crypto@ -ERLANG_LIB_DIR_erlsom = @ERLANG_LIB_DIR_erlsom@ -ERLANG_LIB_DIR_erts = @ERLANG_LIB_DIR_erts@ -ERLANG_LIB_DIR_eunit = @ERLANG_LIB_DIR_eunit@ -ERLANG_LIB_DIR_inets = @ERLANG_LIB_DIR_inets@ -ERLANG_LIB_DIR_kernel = @ERLANG_LIB_DIR_kernel@ -ERLANG_LIB_DIR_mnesia = @ERLANG_LIB_DIR_mnesia@ -ERLANG_LIB_DIR_public_key = @ERLANG_LIB_DIR_public_key@ -ERLANG_LIB_DIR_sasl = @ERLANG_LIB_DIR_sasl@ -ERLANG_LIB_DIR_ssl = @ERLANG_LIB_DIR_ssl@ -ERLANG_LIB_DIR_stdlib = @ERLANG_LIB_DIR_stdlib@ -ERLANG_LIB_DIR_tools = @ERLANG_LIB_DIR_tools@ -ERLANG_LIB_DIR_xmerl = @ERLANG_LIB_DIR_xmerl@ -ERLANG_LIB_DIR_xmlrpc = @ERLANG_LIB_DIR_xmlrpc@ -ERLANG_LIB_VER_common_test = @ERLANG_LIB_VER_common_test@ -ERLANG_LIB_VER_compiler = @ERLANG_LIB_VER_compiler@ -ERLANG_LIB_VER_crypto = @ERLANG_LIB_VER_crypto@ -ERLANG_LIB_VER_erlsom = @ERLANG_LIB_VER_erlsom@ -ERLANG_LIB_VER_erts = @ERLANG_LIB_VER_erts@ -ERLANG_LIB_VER_eunit = @ERLANG_LIB_VER_eunit@ -ERLANG_LIB_VER_inets = @ERLANG_LIB_VER_inets@ -ERLANG_LIB_VER_kernel = @ERLANG_LIB_VER_kernel@ -ERLANG_LIB_VER_mnesia = @ERLANG_LIB_VER_mnesia@ -ERLANG_LIB_VER_public_key = @ERLANG_LIB_VER_public_key@ -ERLANG_LIB_VER_sasl = @ERLANG_LIB_VER_sasl@ -ERLANG_LIB_VER_ssl = @ERLANG_LIB_VER_ssl@ -ERLANG_LIB_VER_stdlib = @ERLANG_LIB_VER_stdlib@ -ERLANG_LIB_VER_tools = @ERLANG_LIB_VER_tools@ -ERLANG_LIB_VER_xmerl = @ERLANG_LIB_VER_xmerl@ -ERLANG_LIB_VER_xmlrpc = @ERLANG_LIB_VER_xmlrpc@ -ERLANG_RELEASE = @ERLANG_RELEASE@ -ERLANG_ROOT_DIR = @ERLANG_ROOT_DIR@ -ERLC = @ERLC@ -ERLCFLAGS = @ERLCFLAGS@ -ERL_LIBS = @ERL_LIBS@ -ESCRIPT = @ESCRIPT@ -EXEEXT = @EXEEXT@ -EXTRAINCLUDE = @EXTRAINCLUDE@ -FGREP = @FGREP@ -GREP = @GREP@ -HAVE_SENDFILE = @HAVE_SENDFILE@ -INSTALL = @INSTALL@ -INSTALL_BUILDER = @INSTALL_BUILDER@ -INSTALL_DATA = @INSTALL_DATA@ -INSTALL_PROGRAM = @INSTALL_PROGRAM@ -INSTALL_SCRIPT = @INSTALL_SCRIPT@ -INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ -LD = @LD@ -LDFLAGS = @LDFLAGS@ -LIBOBJS = @LIBOBJS@ -LIBS = @LIBS@ -LIBTOOL = @LIBTOOL@ -LIPO = @LIPO@ -LN_S = @LN_S@ -LTLIBOBJS = @LTLIBOBJS@ -LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@ -MAKEINFO = @MAKEINFO@ -MAN = @MAN@ -MANIFEST_TOOL = @MANIFEST_TOOL@ -MKDIR_P = @MKDIR_P@ -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_URL = @PACKAGE_URL@ -PACKAGE_VERSION = @PACKAGE_VERSION@ -PATH_SEPARATOR = @PATH_SEPARATOR@ -PDFLATEX = @PDFLATEX@ -PS2PDF = @PS2PDF@ -RANLIB = @RANLIB@ -SED = @SED@ -SET_MAKE = @SET_MAKE@ -SHELL = @SHELL@ -STRIP = @STRIP@ -TODOS = @TODOS@ -UNIX2DOS = @UNIX2DOS@ -VERSION = @VERSION@ -WERL = @WERL@ -YAPP_VSN = @YAPP_VSN@ -YAWS_VSN = @YAWS_VSN@ -abs_builddir = @abs_builddir@ -abs_srcdir = @abs_srcdir@ -abs_top_builddir = @abs_top_builddir@ -abs_top_srcdir = @abs_top_srcdir@ -ac_ct_AR = @ac_ct_AR@ -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@ -appsdir = @appsdir@ -bindir = @bindir@ -build = @build@ -build_alias = @build_alias@ -build_cpu = @build_cpu@ -build_os = @build_os@ -build_vendor = @build_vendor@ -builddir = @builddir@ -confdir = @confdir@ -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@ -logdir = @logdir@ -mandir = @mandir@ -mkdir_p = @mkdir_p@ -oldincludedir = @oldincludedir@ -pdfdir = @pdfdir@ -prefix = @prefix@ -program_transform_name = @program_transform_name@ -psdir = @psdir@ -runstatedir = @runstatedir@ -sbindir = @sbindir@ -sharedstatedir = @sharedstatedir@ -srcdir = @srcdir@ -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@ -wwwdir = @wwwdir@ -yappdir = @yappdir@ -yawsdir = @yawsdir@ -beamdir = $(ERLANG_INSTALL_LIB_DIR_yapp)/ebin -APP_FILES = yapp.app yapp.appup -BEAM_FILES = *.beam -beam_DATA = $(APP_FILES) $(BEAM_FILES) -all: all-am - -.SUFFIXES: -$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) - @for dep in $?; do \ - case '$(am__configure_deps)' in \ - *$$dep*) \ - ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ - && { if test -f $@; then exit 0; else break; fi; }; \ - exit 1;; \ - esac; \ - done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign applications/yapp/ebin/Makefile'; \ - $(am__cd) $(top_srcdir) && \ - $(AUTOMAKE) --foreign applications/yapp/ebin/Makefile -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - @case '$?' in \ - *config.status*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ - *) \ - echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ - esac; - -$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh - -$(top_srcdir)/configure: $(am__configure_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(ACLOCAL_M4): $(am__aclocal_m4_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(am__aclocal_m4_deps): - -mostlyclean-libtool: - -rm -f *.lo - -clean-libtool: - -rm -rf .libs _libs -install-beamDATA: $(beam_DATA) - @$(NORMAL_INSTALL) - @list='$(beam_DATA)'; test -n "$(beamdir)" || list=; \ - if test -n "$$list"; then \ - echo " $(MKDIR_P) '$(DESTDIR)$(beamdir)'"; \ - $(MKDIR_P) "$(DESTDIR)$(beamdir)" || exit 1; \ - fi; \ - 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)$(beamdir)'"; \ - $(INSTALL_DATA) $$files "$(DESTDIR)$(beamdir)" || exit $$?; \ - done - -uninstall-beamDATA: - @$(NORMAL_UNINSTALL) - @list='$(beam_DATA)'; test -n "$(beamdir)" || list=; \ - files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ - dir='$(DESTDIR)$(beamdir)'; $(am__uninstall_files_from_dir) -tags TAGS: - -ctags CTAGS: - -cscope cscopelist: - - -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 $(DATA) -installdirs: - for dir in "$(DESTDIR)$(beamdir)"; do \ - test -z "$$dir" || $(MKDIR_P) "$$dir"; \ - done -install: install-am -install-exec: install-exec-am -install-data: install-data-am -uninstall: uninstall-am - -install-am: all-am - @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am - -installcheck: installcheck-am -install-strip: - if test -z '$(STRIP)'; then \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - install; \ - else \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ - fi -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-beamDATA - -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: uninstall-beamDATA - -.MAKE: install-am install-strip - -.PHONY: all all-am check check-am clean clean-generic clean-libtool \ - clean-local cscopelist-am ctags-am distclean distclean-generic \ - distclean-libtool distdir dvi dvi-am html html-am info info-am \ - install install-am install-beamDATA 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 tags-am uninstall \ - uninstall-am uninstall-beamDATA - -.PRECIOUS: Makefile - - -clean-local: - $(AM_V_at)rm -f $(APP_FILES) $(BEAM_FILES) - -# Local Variables: -# tab-width: 8 -# End: - -# Tell versions [3.59,3.63) of GNU make to not export all variables. -# Otherwise a system limit (for SysV at least) may be exceeded. -.NOEXPORT: diff -Nru yaws-2.0.6+dfsg/applications/yapp/Makefile.in yaws-2.0.7+dfsg/applications/yapp/Makefile.in --- yaws-2.0.6+dfsg/applications/yapp/Makefile.in 2018-06-26 09:17:08.000000000 +0000 +++ yaws-2.0.7+dfsg/applications/yapp/Makefile.in 1970-01-01 00:00:00.000000000 +0000 @@ -1,724 +0,0 @@ -# Makefile.in generated by automake 1.15.1 from Makefile.am. -# @configure_input@ - -# Copyright (C) 1994-2017 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@ -am__is_gnu_make = { \ - if test -z '$(MAKELEVEL)'; then \ - false; \ - elif test -n '$(MAKE_HOST)'; then \ - true; \ - elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ - true; \ - else \ - false; \ - fi; \ -} -am__make_running_with_option = \ - case $${target_option-} in \ - ?) ;; \ - *) echo "am__make_running_with_option: internal error: invalid" \ - "target option '$${target_option-}' specified" >&2; \ - exit 1;; \ - esac; \ - has_opt=no; \ - sane_makeflags=$$MAKEFLAGS; \ - if $(am__is_gnu_make); then \ - sane_makeflags=$$MFLAGS; \ - else \ - case $$MAKEFLAGS in \ - *\\[\ \ ]*) \ - bs=\\; \ - sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ - | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ - esac; \ - fi; \ - skip_next=no; \ - strip_trailopt () \ - { \ - flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ - }; \ - for flg in $$sane_makeflags; do \ - test $$skip_next = yes && { skip_next=no; continue; }; \ - case $$flg in \ - *=*|--*) continue;; \ - -*I) strip_trailopt 'I'; skip_next=yes;; \ - -*I?*) strip_trailopt 'I';; \ - -*O) strip_trailopt 'O'; skip_next=yes;; \ - -*O?*) strip_trailopt 'O';; \ - -*l) strip_trailopt 'l'; skip_next=yes;; \ - -*l?*) strip_trailopt 'l';; \ - -[dEDm]) skip_next=yes;; \ - -[JT]) skip_next=yes;; \ - esac; \ - case $$flg in \ - *$$target_option*) has_opt=yes; break;; \ - esac; \ - done; \ - test $$has_opt = yes -am__make_dryrun = (target_option=n; $(am__make_running_with_option)) -am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) -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 = applications/yapp -ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/m4/ax_compare_version.m4 \ - $(top_srcdir)/m4/colored-echo.m4 $(top_srcdir)/m4/erlang.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)/configure.ac -am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ - $(ACLOCAL_M4) -DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON) -mkinstalldirs = $(install_sh) -d -CONFIG_CLEAN_FILES = -CONFIG_CLEAN_VPATH_FILES = -AM_V_P = $(am__v_P_@AM_V@) -am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) -am__v_P_0 = false -am__v_P_1 = : -AM_V_GEN = $(am__v_GEN_@AM_V@) -am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) -am__v_GEN_0 = @echo " GEN " $@; -am__v_GEN_1 = -AM_V_at = $(am__v_at_@AM_V@) -am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) -am__v_at_0 = @ -am__v_at_1 = -SOURCES = -DIST_SOURCES = -RECURSIVE_TARGETS = all-recursive check-recursive cscopelist-recursive \ - ctags-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 \ - tags-recursive uninstall-recursive -am__can_run_installinfo = \ - case $$AM_UPDATE_INFO_DIR in \ - n|no|NO) false;; \ - *) (install-info --version) >/dev/null 2>&1;; \ - esac -RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ - distclean-recursive maintainer-clean-recursive -am__recursive_targets = \ - $(RECURSIVE_TARGETS) \ - $(RECURSIVE_CLEAN_TARGETS) \ - $(am__extra_recursive_targets) -AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \ - distdir -am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) -# Read a list of newline-separated strings from the standard input, -# and print each of them once, without duplicates. Input order is -# *not* preserved. -am__uniquify_input = $(AWK) '\ - BEGIN { nonempty = 0; } \ - { items[$$0] = 1; nonempty = 1; } \ - END { if (nonempty) { for (i in items) print i; }; } \ -' -# Make sure the list of sources is unique. This is necessary because, -# e.g., the same source file might be shared among _SOURCES variables -# for different programs/libraries. -am__define_uniq_tagged_files = \ - list='$(am__tagged_files)'; \ - unique=`for i in $$list; do \ - if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ - done | $(am__uniquify_input)` -ETAGS = etags -CTAGS = ctags -DIST_SUBDIRS = $(SUBDIRS) -am__DIST_COMMON = $(srcdir)/Makefile.in README -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) -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" -ACLOCAL = @ACLOCAL@ -AMTAR = @AMTAR@ -AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ -APPDEPS = @APPDEPS@ -AR = @AR@ -AUTOCONF = @AUTOCONF@ -AUTOHEADER = @AUTOHEADER@ -AUTOMAKE = @AUTOMAKE@ -AWK = @AWK@ -CADAVER = @CADAVER@ -CC = @CC@ -CCDEPMODE = @CCDEPMODE@ -CFLAGS = @CFLAGS@ -CONFIG_STATUS_DEPENDENCIES = @CONFIG_STATUS_DEPENDENCIES@ -CPP = @CPP@ -CPPFLAGS = @CPPFLAGS@ -CT_RUN = @CT_RUN@ -CURL = @CURL@ -CYGPATH_W = @CYGPATH_W@ -DEFAULT_CHARSET = @DEFAULT_CHARSET@ -DEFS = @DEFS@ -DEPDIR = @DEPDIR@ -DIALYZER = @DIALYZER@ -DLLTOOL = @DLLTOOL@ -DSYMUTIL = @DSYMUTIL@ -DUMPBIN = @DUMPBIN@ -DVILATEX = @DVILATEX@ -DVIPS = @DVIPS@ -ECHO_C = @ECHO_C@ -ECHO_N = @ECHO_N@ -ECHO_T = @ECHO_T@ -EGREP = @EGREP@ -EPAM_CFLAGS = @EPAM_CFLAGS@ -EPSTOPDF = @EPSTOPDF@ -ERL = @ERL@ -ERLANG_ERTS_DIR = @ERLANG_ERTS_DIR@ -ERLANG_ERTS_VER = @ERLANG_ERTS_VER@ -ERLANG_INSTALL_LIB_DIR = @ERLANG_INSTALL_LIB_DIR@ -ERLANG_INSTALL_LIB_DIR_yapp = @ERLANG_INSTALL_LIB_DIR_yapp@ -ERLANG_INSTALL_LIB_DIR_yaws = @ERLANG_INSTALL_LIB_DIR_yaws@ -ERLANG_LIB_DIR = @ERLANG_LIB_DIR@ -ERLANG_LIB_DIR_common_test = @ERLANG_LIB_DIR_common_test@ -ERLANG_LIB_DIR_compiler = @ERLANG_LIB_DIR_compiler@ -ERLANG_LIB_DIR_crypto = @ERLANG_LIB_DIR_crypto@ -ERLANG_LIB_DIR_erlsom = @ERLANG_LIB_DIR_erlsom@ -ERLANG_LIB_DIR_erts = @ERLANG_LIB_DIR_erts@ -ERLANG_LIB_DIR_eunit = @ERLANG_LIB_DIR_eunit@ -ERLANG_LIB_DIR_inets = @ERLANG_LIB_DIR_inets@ -ERLANG_LIB_DIR_kernel = @ERLANG_LIB_DIR_kernel@ -ERLANG_LIB_DIR_mnesia = @ERLANG_LIB_DIR_mnesia@ -ERLANG_LIB_DIR_public_key = @ERLANG_LIB_DIR_public_key@ -ERLANG_LIB_DIR_sasl = @ERLANG_LIB_DIR_sasl@ -ERLANG_LIB_DIR_ssl = @ERLANG_LIB_DIR_ssl@ -ERLANG_LIB_DIR_stdlib = @ERLANG_LIB_DIR_stdlib@ -ERLANG_LIB_DIR_tools = @ERLANG_LIB_DIR_tools@ -ERLANG_LIB_DIR_xmerl = @ERLANG_LIB_DIR_xmerl@ -ERLANG_LIB_DIR_xmlrpc = @ERLANG_LIB_DIR_xmlrpc@ -ERLANG_LIB_VER_common_test = @ERLANG_LIB_VER_common_test@ -ERLANG_LIB_VER_compiler = @ERLANG_LIB_VER_compiler@ -ERLANG_LIB_VER_crypto = @ERLANG_LIB_VER_crypto@ -ERLANG_LIB_VER_erlsom = @ERLANG_LIB_VER_erlsom@ -ERLANG_LIB_VER_erts = @ERLANG_LIB_VER_erts@ -ERLANG_LIB_VER_eunit = @ERLANG_LIB_VER_eunit@ -ERLANG_LIB_VER_inets = @ERLANG_LIB_VER_inets@ -ERLANG_LIB_VER_kernel = @ERLANG_LIB_VER_kernel@ -ERLANG_LIB_VER_mnesia = @ERLANG_LIB_VER_mnesia@ -ERLANG_LIB_VER_public_key = @ERLANG_LIB_VER_public_key@ -ERLANG_LIB_VER_sasl = @ERLANG_LIB_VER_sasl@ -ERLANG_LIB_VER_ssl = @ERLANG_LIB_VER_ssl@ -ERLANG_LIB_VER_stdlib = @ERLANG_LIB_VER_stdlib@ -ERLANG_LIB_VER_tools = @ERLANG_LIB_VER_tools@ -ERLANG_LIB_VER_xmerl = @ERLANG_LIB_VER_xmerl@ -ERLANG_LIB_VER_xmlrpc = @ERLANG_LIB_VER_xmlrpc@ -ERLANG_RELEASE = @ERLANG_RELEASE@ -ERLANG_ROOT_DIR = @ERLANG_ROOT_DIR@ -ERLC = @ERLC@ -ERLCFLAGS = @ERLCFLAGS@ -ERL_LIBS = @ERL_LIBS@ -ESCRIPT = @ESCRIPT@ -EXEEXT = @EXEEXT@ -EXTRAINCLUDE = @EXTRAINCLUDE@ -FGREP = @FGREP@ -GREP = @GREP@ -HAVE_SENDFILE = @HAVE_SENDFILE@ -INSTALL = @INSTALL@ -INSTALL_BUILDER = @INSTALL_BUILDER@ -INSTALL_DATA = @INSTALL_DATA@ -INSTALL_PROGRAM = @INSTALL_PROGRAM@ -INSTALL_SCRIPT = @INSTALL_SCRIPT@ -INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ -LD = @LD@ -LDFLAGS = @LDFLAGS@ -LIBOBJS = @LIBOBJS@ -LIBS = @LIBS@ -LIBTOOL = @LIBTOOL@ -LIPO = @LIPO@ -LN_S = @LN_S@ -LTLIBOBJS = @LTLIBOBJS@ -LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@ -MAKEINFO = @MAKEINFO@ -MAN = @MAN@ -MANIFEST_TOOL = @MANIFEST_TOOL@ -MKDIR_P = @MKDIR_P@ -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_URL = @PACKAGE_URL@ -PACKAGE_VERSION = @PACKAGE_VERSION@ -PATH_SEPARATOR = @PATH_SEPARATOR@ -PDFLATEX = @PDFLATEX@ -PS2PDF = @PS2PDF@ -RANLIB = @RANLIB@ -SED = @SED@ -SET_MAKE = @SET_MAKE@ -SHELL = @SHELL@ -STRIP = @STRIP@ -TODOS = @TODOS@ -UNIX2DOS = @UNIX2DOS@ -VERSION = @VERSION@ -WERL = @WERL@ -YAPP_VSN = @YAPP_VSN@ -YAWS_VSN = @YAWS_VSN@ -abs_builddir = @abs_builddir@ -abs_srcdir = @abs_srcdir@ -abs_top_builddir = @abs_top_builddir@ -abs_top_srcdir = @abs_top_srcdir@ -ac_ct_AR = @ac_ct_AR@ -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@ -appsdir = @appsdir@ -bindir = @bindir@ -build = @build@ -build_alias = @build_alias@ -build_cpu = @build_cpu@ -build_os = @build_os@ -build_vendor = @build_vendor@ -builddir = @builddir@ -confdir = @confdir@ -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@ -logdir = @logdir@ -mandir = @mandir@ -mkdir_p = @mkdir_p@ -oldincludedir = @oldincludedir@ -pdfdir = @pdfdir@ -prefix = @prefix@ -program_transform_name = @program_transform_name@ -psdir = @psdir@ -runstatedir = @runstatedir@ -sbindir = @sbindir@ -sharedstatedir = @sharedstatedir@ -srcdir = @srcdir@ -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@ -wwwdir = @wwwdir@ -yappdir = @yappdir@ -yawsdir = @yawsdir@ -SUBDIRS = src ebin -EDOC_OPTS = [{def,{vsn,"@YAPP_VSN@"}}, {source_path, ["@srcdir@"]}, {packages, false}] -EXTRA_DIST = vsn.mk README priv examples -all: all-recursive - -.SUFFIXES: -$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) - @for dep in $?; do \ - case '$(am__configure_deps)' in \ - *$$dep*) \ - ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ - && { if test -f $@; then exit 0; else break; fi; }; \ - exit 1;; \ - esac; \ - done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign applications/yapp/Makefile'; \ - $(am__cd) $(top_srcdir) && \ - $(AUTOMAKE) --foreign applications/yapp/Makefile -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - @case '$?' in \ - *config.status*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ - *) \ - echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ - esac; - -$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh - -$(top_srcdir)/configure: $(am__configure_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(ACLOCAL_M4): $(am__aclocal_m4_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(am__aclocal_m4_deps): - -mostlyclean-libtool: - -rm -f *.lo - -clean-libtool: - -rm -rf .libs _libs - -# 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. -$(am__recursive_targets): - @fail=; \ - if $(am__make_keepgoing); then \ - failcom='fail=yes'; \ - else \ - failcom='exit 1'; \ - fi; \ - dot_seen=no; \ - target=`echo $@ | sed s/-recursive//`; \ - case "$@" in \ - distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ - *) list='$(SUBDIRS)' ;; \ - esac; \ - 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" - -ID: $(am__tagged_files) - $(am__define_uniq_tagged_files); mkid -fID $$unique -tags: tags-recursive -TAGS: tags - -tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) - 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; \ - $(am__define_uniq_tagged_files); \ - 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-recursive - -CTAGS: ctags -ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) - $(am__define_uniq_tagged_files); \ - 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" -cscopelist: cscopelist-recursive - -cscopelist-am: $(am__tagged_files) - list='$(am__tagged_files)'; \ - case "$(srcdir)" in \ - [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ - *) sdir=$(subdir)/$(srcdir) ;; \ - esac; \ - for i in $$list; do \ - if test -f "$$i"; then \ - echo "$(subdir)/$$i"; \ - else \ - echo "$$sdir/$$i"; \ - fi; \ - done >> $(top_builddir)/cscope.files - -distclean-tags: - -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags - -distdir: $(DISTFILES) - @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - list='$(DISTFILES)'; \ - 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 \ - $(am__make_dryrun) \ - || test -d "$(distdir)/$$subdir" \ - || $(MKDIR_P) "$(distdir)/$$subdir" \ - || exit 1; \ - 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 -check-am: all-am -check: check-recursive -all-am: Makefile -installdirs: installdirs-recursive -installdirs-am: -install: install-recursive -install-exec: install-exec-recursive -install-data: install-data-recursive -uninstall: uninstall-recursive - -install-am: all-am - @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am - -installcheck: installcheck-recursive -install-strip: - if test -z '$(STRIP)'; then \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - install; \ - else \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ - fi -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-recursive - -clean-am: clean-generic clean-libtool clean-local mostlyclean-am - -distclean: distclean-recursive - -rm -f Makefile -distclean-am: clean-am distclean-generic distclean-tags - -dvi: dvi-recursive - -dvi-am: - -html: html-recursive - -html-am: - -info: info-recursive - -info-am: - -install-data-am: install-data-local - -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-pdf: install-pdf-recursive - -install-pdf-am: - -install-ps: install-ps-recursive - -install-ps-am: - -installcheck-am: - -maintainer-clean: maintainer-clean-recursive - -rm -f Makefile -maintainer-clean-am: distclean-am maintainer-clean-generic - -mostlyclean: mostlyclean-recursive - -mostlyclean-am: mostlyclean-generic mostlyclean-libtool - -pdf: pdf-recursive - -pdf-am: - -ps: ps-recursive - -ps-am: - -uninstall-am: uninstall-local - -.MAKE: $(am__recursive_targets) install-am install-strip - -.PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am check \ - check-am clean clean-generic clean-libtool clean-local \ - cscopelist-am ctags ctags-am distclean distclean-generic \ - distclean-libtool distclean-tags distdir dvi dvi-am html \ - html-am info info-am install install-am install-data \ - install-data-am install-data-local install-dvi install-dvi-am \ - install-exec install-exec-am install-html install-html-am \ - install-info install-info-am install-man install-pdf \ - install-pdf-am install-ps install-ps-am install-strip \ - installcheck installcheck-am installdirs installdirs-am \ - maintainer-clean maintainer-clean-generic mostlyclean \ - mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ - tags tags-am uninstall uninstall-am uninstall-local - -.PRECIOUS: Makefile - - -install-data-local: docs - $(AM_V_at)$(INSTALL) -d $(DESTDIR)$(ERLANG_INSTALL_LIB_DIR_yapp) - $(AM_V_at)(cd @srcdir@; tar cf - priv examples ) | (cd $(DESTDIR)$(ERLANG_INSTALL_LIB_DIR_yapp); tar xf - ) - $(AM_V_at)(cd @builddir@; tar cf - doc ) | (cd $(DESTDIR)$(ERLANG_INSTALL_LIB_DIR_yapp); tar xf - ) - $(AM_V_at)if test $(yappdir) != $(ERLANG_INSTALL_LIB_DIR_yapp); then \ - $(INSTALL) -d $(DESTDIR)$(libdir); \ - rm -f $(DESTDIR)$(libdir)/yapp; \ - $(LN_S) -f $(ERLANG_INSTALL_LIB_DIR_yapp) $(DESTDIR)$(libdir)/yapp; \ - fi - -uninstall-local: - $(AM_V_at)rm -fr $(DESTDIR)$(ERLANG_INSTALL_LIB_DIR_yapp)/doc - $(AM_V_at)rm -fr $(DESTDIR)$(ERLANG_INSTALL_LIB_DIR_yapp)/priv - $(AM_V_at)rm -fr $(DESTDIR)$(ERLANG_INSTALL_LIB_DIR_yapp)/examples - $(AM_V_at)[ ! -h $(yappdir) ] || rm -f $(DESTDIR)$(libdir)/yapp - -docs: - $(AM_V_at)$(MKDIR_P) doc - $(AM_V_at)$(ERL) -noshell -run edoc_run application "'yapp'" '"."' '$(EDOC_OPTS)' -s init stop - -clean-local: - $(AM_V_at)rm -rf doc - -# Local Variables: -# tab-width: 8 -# End: - -# Tell versions [3.59,3.63) of GNU make to not export all variables. -# Otherwise a system limit (for SysV at least) may be exceeded. -.NOEXPORT: diff -Nru yaws-2.0.6+dfsg/applications/yapp/src/Makefile.in yaws-2.0.7+dfsg/applications/yapp/src/Makefile.in --- yaws-2.0.6+dfsg/applications/yapp/src/Makefile.in 2018-06-26 09:17:08.000000000 +0000 +++ yaws-2.0.7+dfsg/applications/yapp/src/Makefile.in 1970-01-01 00:00:00.000000000 +0000 @@ -1,582 +0,0 @@ -# Makefile.in generated by automake 1.15.1 from Makefile.am. -# @configure_input@ - -# Copyright (C) 1994-2017 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@ -am__is_gnu_make = { \ - if test -z '$(MAKELEVEL)'; then \ - false; \ - elif test -n '$(MAKE_HOST)'; then \ - true; \ - elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ - true; \ - else \ - false; \ - fi; \ -} -am__make_running_with_option = \ - case $${target_option-} in \ - ?) ;; \ - *) echo "am__make_running_with_option: internal error: invalid" \ - "target option '$${target_option-}' specified" >&2; \ - exit 1;; \ - esac; \ - has_opt=no; \ - sane_makeflags=$$MAKEFLAGS; \ - if $(am__is_gnu_make); then \ - sane_makeflags=$$MFLAGS; \ - else \ - case $$MAKEFLAGS in \ - *\\[\ \ ]*) \ - bs=\\; \ - sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ - | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ - esac; \ - fi; \ - skip_next=no; \ - strip_trailopt () \ - { \ - flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ - }; \ - for flg in $$sane_makeflags; do \ - test $$skip_next = yes && { skip_next=no; continue; }; \ - case $$flg in \ - *=*|--*) continue;; \ - -*I) strip_trailopt 'I'; skip_next=yes;; \ - -*I?*) strip_trailopt 'I';; \ - -*O) strip_trailopt 'O'; skip_next=yes;; \ - -*O?*) strip_trailopt 'O';; \ - -*l) strip_trailopt 'l'; skip_next=yes;; \ - -*l?*) strip_trailopt 'l';; \ - -[dEDm]) skip_next=yes;; \ - -[JT]) skip_next=yes;; \ - esac; \ - case $$flg in \ - *$$target_option*) has_opt=yes; break;; \ - esac; \ - done; \ - test $$has_opt = yes -am__make_dryrun = (target_option=n; $(am__make_running_with_option)) -am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) -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 = applications/yapp/src -ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/m4/ax_compare_version.m4 \ - $(top_srcdir)/m4/colored-echo.m4 $(top_srcdir)/m4/erlang.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)/configure.ac -am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ - $(ACLOCAL_M4) -DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON) -mkinstalldirs = $(install_sh) -d -CONFIG_CLEAN_FILES = -CONFIG_CLEAN_VPATH_FILES = -AM_V_P = $(am__v_P_@AM_V@) -am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) -am__v_P_0 = false -am__v_P_1 = : -AM_V_GEN = $(am__v_GEN_@AM_V@) -am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) -am__v_GEN_0 = @echo " GEN " $@; -am__v_GEN_1 = -AM_V_at = $(am__v_at_@AM_V@) -am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) -am__v_at_0 = @ -am__v_at_1 = -SOURCES = -DIST_SOURCES = -am__can_run_installinfo = \ - case $$AM_UPDATE_INFO_DIR in \ - n|no|NO) false;; \ - *) (install-info --version) >/dev/null 2>&1;; \ - esac -am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) -am__DIST_COMMON = $(srcdir)/Makefile.in -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) -ACLOCAL = @ACLOCAL@ -AMTAR = @AMTAR@ -AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ -APPDEPS = @APPDEPS@ -AR = @AR@ -AUTOCONF = @AUTOCONF@ -AUTOHEADER = @AUTOHEADER@ -AUTOMAKE = @AUTOMAKE@ -AWK = @AWK@ -CADAVER = @CADAVER@ -CC = @CC@ -CCDEPMODE = @CCDEPMODE@ -CFLAGS = @CFLAGS@ -CONFIG_STATUS_DEPENDENCIES = @CONFIG_STATUS_DEPENDENCIES@ -CPP = @CPP@ -CPPFLAGS = @CPPFLAGS@ -CT_RUN = @CT_RUN@ -CURL = @CURL@ -CYGPATH_W = @CYGPATH_W@ -DEFAULT_CHARSET = @DEFAULT_CHARSET@ -DEFS = @DEFS@ -DEPDIR = @DEPDIR@ -DIALYZER = @DIALYZER@ -DLLTOOL = @DLLTOOL@ -DSYMUTIL = @DSYMUTIL@ -DUMPBIN = @DUMPBIN@ -DVILATEX = @DVILATEX@ -DVIPS = @DVIPS@ -ECHO_C = @ECHO_C@ -ECHO_N = @ECHO_N@ -ECHO_T = @ECHO_T@ -EGREP = @EGREP@ -EPAM_CFLAGS = @EPAM_CFLAGS@ -EPSTOPDF = @EPSTOPDF@ -ERL = @ERL@ -ERLANG_ERTS_DIR = @ERLANG_ERTS_DIR@ -ERLANG_ERTS_VER = @ERLANG_ERTS_VER@ -ERLANG_INSTALL_LIB_DIR = @ERLANG_INSTALL_LIB_DIR@ -ERLANG_INSTALL_LIB_DIR_yapp = @ERLANG_INSTALL_LIB_DIR_yapp@ -ERLANG_INSTALL_LIB_DIR_yaws = @ERLANG_INSTALL_LIB_DIR_yaws@ -ERLANG_LIB_DIR = @ERLANG_LIB_DIR@ -ERLANG_LIB_DIR_common_test = @ERLANG_LIB_DIR_common_test@ -ERLANG_LIB_DIR_compiler = @ERLANG_LIB_DIR_compiler@ -ERLANG_LIB_DIR_crypto = @ERLANG_LIB_DIR_crypto@ -ERLANG_LIB_DIR_erlsom = @ERLANG_LIB_DIR_erlsom@ -ERLANG_LIB_DIR_erts = @ERLANG_LIB_DIR_erts@ -ERLANG_LIB_DIR_eunit = @ERLANG_LIB_DIR_eunit@ -ERLANG_LIB_DIR_inets = @ERLANG_LIB_DIR_inets@ -ERLANG_LIB_DIR_kernel = @ERLANG_LIB_DIR_kernel@ -ERLANG_LIB_DIR_mnesia = @ERLANG_LIB_DIR_mnesia@ -ERLANG_LIB_DIR_public_key = @ERLANG_LIB_DIR_public_key@ -ERLANG_LIB_DIR_sasl = @ERLANG_LIB_DIR_sasl@ -ERLANG_LIB_DIR_ssl = @ERLANG_LIB_DIR_ssl@ -ERLANG_LIB_DIR_stdlib = @ERLANG_LIB_DIR_stdlib@ -ERLANG_LIB_DIR_tools = @ERLANG_LIB_DIR_tools@ -ERLANG_LIB_DIR_xmerl = @ERLANG_LIB_DIR_xmerl@ -ERLANG_LIB_DIR_xmlrpc = @ERLANG_LIB_DIR_xmlrpc@ -ERLANG_LIB_VER_common_test = @ERLANG_LIB_VER_common_test@ -ERLANG_LIB_VER_compiler = @ERLANG_LIB_VER_compiler@ -ERLANG_LIB_VER_crypto = @ERLANG_LIB_VER_crypto@ -ERLANG_LIB_VER_erlsom = @ERLANG_LIB_VER_erlsom@ -ERLANG_LIB_VER_erts = @ERLANG_LIB_VER_erts@ -ERLANG_LIB_VER_eunit = @ERLANG_LIB_VER_eunit@ -ERLANG_LIB_VER_inets = @ERLANG_LIB_VER_inets@ -ERLANG_LIB_VER_kernel = @ERLANG_LIB_VER_kernel@ -ERLANG_LIB_VER_mnesia = @ERLANG_LIB_VER_mnesia@ -ERLANG_LIB_VER_public_key = @ERLANG_LIB_VER_public_key@ -ERLANG_LIB_VER_sasl = @ERLANG_LIB_VER_sasl@ -ERLANG_LIB_VER_ssl = @ERLANG_LIB_VER_ssl@ -ERLANG_LIB_VER_stdlib = @ERLANG_LIB_VER_stdlib@ -ERLANG_LIB_VER_tools = @ERLANG_LIB_VER_tools@ -ERLANG_LIB_VER_xmerl = @ERLANG_LIB_VER_xmerl@ -ERLANG_LIB_VER_xmlrpc = @ERLANG_LIB_VER_xmlrpc@ -ERLANG_RELEASE = @ERLANG_RELEASE@ -ERLANG_ROOT_DIR = @ERLANG_ROOT_DIR@ -ERLC = @ERLC@ -ERLCFLAGS = @ERLCFLAGS@ -ERL_LIBS = @ERL_LIBS@ -ESCRIPT = @ESCRIPT@ -EXEEXT = @EXEEXT@ -EXTRAINCLUDE = @EXTRAINCLUDE@ -FGREP = @FGREP@ -GREP = @GREP@ -HAVE_SENDFILE = @HAVE_SENDFILE@ -INSTALL = @INSTALL@ -INSTALL_BUILDER = @INSTALL_BUILDER@ -INSTALL_DATA = @INSTALL_DATA@ -INSTALL_PROGRAM = @INSTALL_PROGRAM@ -INSTALL_SCRIPT = @INSTALL_SCRIPT@ -INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ -LD = @LD@ -LDFLAGS = @LDFLAGS@ -LIBOBJS = @LIBOBJS@ -LIBS = @LIBS@ -LIBTOOL = @LIBTOOL@ -LIPO = @LIPO@ -LN_S = @LN_S@ -LTLIBOBJS = @LTLIBOBJS@ -LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@ -MAKEINFO = @MAKEINFO@ -MAN = @MAN@ -MANIFEST_TOOL = @MANIFEST_TOOL@ -MKDIR_P = @MKDIR_P@ -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_URL = @PACKAGE_URL@ -PACKAGE_VERSION = @PACKAGE_VERSION@ -PATH_SEPARATOR = @PATH_SEPARATOR@ -PDFLATEX = @PDFLATEX@ -PS2PDF = @PS2PDF@ -RANLIB = @RANLIB@ -SED = @SED@ -SET_MAKE = @SET_MAKE@ -SHELL = @SHELL@ -STRIP = @STRIP@ -TODOS = @TODOS@ -UNIX2DOS = @UNIX2DOS@ -VERSION = @VERSION@ -WERL = @WERL@ -YAPP_VSN = @YAPP_VSN@ -YAWS_VSN = @YAWS_VSN@ -abs_builddir = @abs_builddir@ -abs_srcdir = @abs_srcdir@ -abs_top_builddir = @abs_top_builddir@ -abs_top_srcdir = @abs_top_srcdir@ -ac_ct_AR = @ac_ct_AR@ -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@ -appsdir = @appsdir@ -bindir = @bindir@ -build = @build@ -build_alias = @build_alias@ -build_cpu = @build_cpu@ -build_os = @build_os@ -build_vendor = @build_vendor@ -builddir = @builddir@ -confdir = @confdir@ -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@ -logdir = @logdir@ -mandir = @mandir@ -mkdir_p = @mkdir_p@ -oldincludedir = @oldincludedir@ -pdfdir = @pdfdir@ -prefix = @prefix@ -program_transform_name = @program_transform_name@ -psdir = @psdir@ -runstatedir = @runstatedir@ -sbindir = @sbindir@ -sharedstatedir = @sharedstatedir@ -srcdir = @srcdir@ -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@ -wwwdir = @wwwdir@ -yappdir = @yappdir@ -yawsdir = @yawsdir@ -MODULES = yapp_app.erl \ - yapp.erl \ - yapp_ets_server.erl \ - yapp_event_handler.erl\ - yapp_handler.erl \ - yapp_mnesia_server.erl\ - yapp_registry.erl \ - yapp_server.erl \ - yapp_sup.erl - -EXTRA_DIST = $(MODULES) yapp.app.src yapp.appup.src -EBIN_DIR = @builddir@/../ebin -EBIN_FILES = $(MODULES:%.erl=$(EBIN_DIR)/%.beam) -ERLC_FLAGS = $(ERLC_GENERIC_FLAGS) -all: all-am - -.SUFFIXES: -$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) - @for dep in $?; do \ - case '$(am__configure_deps)' in \ - *$$dep*) \ - ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ - && { if test -f $@; then exit 0; else break; fi; }; \ - exit 1;; \ - esac; \ - done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign applications/yapp/src/Makefile'; \ - $(am__cd) $(top_srcdir) && \ - $(AUTOMAKE) --foreign applications/yapp/src/Makefile -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - @case '$?' in \ - *config.status*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ - *) \ - echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ - esac; - -$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh - -$(top_srcdir)/configure: $(am__configure_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(ACLOCAL_M4): $(am__aclocal_m4_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(am__aclocal_m4_deps): - -mostlyclean-libtool: - -rm -f *.lo - -clean-libtool: - -rm -rf .libs _libs -tags TAGS: - -ctags CTAGS: - -cscope cscopelist: - - -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 all-local -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: - if test -z '$(STRIP)'; then \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - install; \ - else \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ - fi -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 distclean-local - -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 all-local check check-am clean clean-generic \ - clean-libtool clean-local cscopelist-am ctags-am distclean \ - distclean-generic distclean-libtool distclean-local 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 tags-am uninstall \ - uninstall-am - -.PRECIOUS: Makefile - -include @top_srcdir@/include.mk - -include @top_srcdir@/erlang_deps.mk - -all-local: $(EBIN_DIR)/yapp.app $(EBIN_DIR)/yapp.appup $(EBIN_FILES) - -clean-local: - $(AM_V_at)rm -f $(EBIN_DIR)/yapp.app $(EBIN_DIR)/yapp.appup $(EBIN_FILES) - -$(EBIN_DIR)/yapp.app: @srcdir@/yapp.app.src - $(AM_V_GEN)$(AWK) -v src="$(MODULES)" \ - "/{vsn, *{cmd,/ { \ - line = \$$0; \ - sub(/{vsn.*/, \"{vsn, \\\"@YAPP_VSN@\\\"},\", line); \ - print line; \ - next; \ - } \ - /{modules,/ { \ - line = \$$0; \ - indent = index(line, \"[\"); \ - line = substr(line, 1, indent); \ - print line; \ - split(src, mods); \ - mods_count = 0; \ - for (mod in mods) { \ - mods_count++; \ - } \ - prefix = sprintf(\"%*s\", indent, \" \"); \ - for (i = 1; i <= mods_count; i++) { \ - mod = mods[i]; \ - sub(/\.erl/, \"\", mod); \ - if (i != mods_count) \ - print prefix mod \",\"; \ - else \ - print prefix mod; \ - } \ - print prefix \"]},\"; \ - next; \ - } \ - { print; }" $< > $@ - -$(EBIN_DIR)/yapp.appup: @srcdir@/yapp.appup.src - $(AM_V_GEN)sed -e "s/%VSN%/@YAPP_VSN@/g" < $< > $@ - -$(EBIN_DIR)/%.beam: %.erl - $(AM_V_at)$(ERLC) $(ERLC_FLAGS) -M -MF $(@:$(EBIN_DIR)/%.beam=$(DEPDIR)/%.Pbeam) -MT $@ $< - $(AM_V_ERLC)$(ERLC) $(ERLC_FLAGS) -o $(EBIN_DIR) $< - -distclean-local: - $(AM_V_at)rm -fr $(DEPDIR) - -# Local Variables: -# tab-width: 8 -# End: - -# Tell versions [3.59,3.63) of GNU make to not export all variables. -# Otherwise a system limit (for SysV at least) may be exceeded. -.NOEXPORT: diff -Nru yaws-2.0.6+dfsg/_build.cfg yaws-2.0.7+dfsg/_build.cfg --- yaws-2.0.6+dfsg/_build.cfg 1970-01-01 00:00:00.000000000 +0000 +++ yaws-2.0.7+dfsg/_build.cfg 2019-07-14 13:01:11.000000000 +0000 @@ -0,0 +1,7 @@ +project : { + name : yaws + vsn : "1.76" +}, + +repositories : ["http://repo.erlware.org/pub"], + diff -Nru yaws-2.0.6+dfsg/configure yaws-2.0.7+dfsg/configure --- yaws-2.0.6+dfsg/configure 2018-06-26 09:17:07.000000000 +0000 +++ yaws-2.0.7+dfsg/configure 1970-01-01 00:00:00.000000000 +0000 @@ -1,19230 +0,0 @@ -#! /bin/sh -# Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.69 for yaws 2.0.6. -# -# -# Copyright (C) 1992-1996, 1998-2012 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 - - -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 -# Prefer a ksh shell builtin over an external printf program on Solaris, -# but without wasting forks for bash or zsh. -if test -z "$BASH_VERSION$ZSH_VERSION" \ - && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then - as_echo='print -r --' - as_echo_n='print -rn --' -elif (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 - - -# 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. -as_myself= -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 -fi - -# Unset variables that we do not need and which cause bugs (e.g. in -# pre-3.0 UWIN ksh). But do not cause bugs in bash 2.01; the "|| exit 1" -# suppresses any "Segmentation fault" message there. '((' could -# trigger a bug in pdksh 5.2.14. -for as_var in BASH_ENV ENV MAIL MAILPATH -do eval test x\${$as_var+set} = xset \ - && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : -done -PS1='$ ' -PS2='> ' -PS4='+ ' - -# NLS nuisances. -LC_ALL=C -export LC_ALL -LANGUAGE=C -export LANGUAGE - -# CDPATH. -(unset CDPATH) >/dev/null 2>&1 && unset CDPATH - -# Use a proper internal environment variable to ensure we don't fall - # into an infinite loop, continuously re-executing ourselves. - if test x"${_as_can_reexec}" != xno && test "x$CONFIG_SHELL" != x; then - _as_can_reexec=no; export _as_can_reexec; - # We cannot yet assume a decent shell, so we have to provide a -# neutralization value for shells without unset; and this also -# works around shells that cannot unset nonexistent variables. -# Preserve -v and -x to the replacement shell. -BASH_ENV=/dev/null -ENV=/dev/null -(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV -case $- in # (((( - *v*x* | *x*v* ) as_opts=-vx ;; - *v* ) as_opts=-v ;; - *x* ) as_opts=-x ;; - * ) as_opts= ;; -esac -exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"} -# Admittedly, this is quite paranoid, since all the known shells bail -# out after a failed `exec'. -$as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2 -as_fn_exit 255 - fi - # We don't want this to propagate to other subprocesses. - { _as_can_reexec=; unset _as_can_reexec;} -if test "x$CONFIG_SHELL" = x; then - as_bourne_compatible="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_required="as_fn_return () { (exit \$1); } -as_fn_success () { as_fn_return 0; } -as_fn_failure () { as_fn_return 1; } -as_fn_ret_success () { return 0; } -as_fn_ret_failure () { return 1; } - -exitcode=0 -as_fn_success || { exitcode=1; echo as_fn_success failed.; } -as_fn_failure && { exitcode=1; echo as_fn_failure succeeded.; } -as_fn_ret_success || { exitcode=1; echo as_fn_ret_success failed.; } -as_fn_ret_failure && { exitcode=1; echo as_fn_ret_failure succeeded.; } -if ( set x; as_fn_ret_success y && test x = \"\$1\" ); then : - -else - exitcode=1; echo positional parameters were not saved. -fi -test x\$exitcode = x0 || exit 1 -test -x / || exit 1" - as_suggested=" as_lineno_1=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_1a=\$LINENO - as_lineno_2=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_2a=\$LINENO - eval 'test \"x\$as_lineno_1'\$as_run'\" != \"x\$as_lineno_2'\$as_run'\" && - test \"x\`expr \$as_lineno_1'\$as_run' + 1\`\" = \"x\$as_lineno_2'\$as_run'\"' || exit 1 -test \$(( 1 + 1 )) = 2 || exit 1 - - test -n \"\${ZSH_VERSION+set}\${BASH_VERSION+set}\" || ( - ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' - ECHO=\$ECHO\$ECHO\$ECHO\$ECHO\$ECHO - ECHO=\$ECHO\$ECHO\$ECHO\$ECHO\$ECHO\$ECHO - PATH=/empty FPATH=/empty; export PATH FPATH - test \"X\`printf %s \$ECHO\`\" = \"X\$ECHO\" \\ - || test \"X\`print -r -- \$ECHO\`\" = \"X\$ECHO\" ) || exit 1" - if (eval "$as_required") 2>/dev/null; then : - as_have_required=yes -else - as_have_required=no -fi - if test x$as_have_required = xyes && (eval "$as_suggested") 2>/dev/null; then : - -else - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -as_found=false -for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - as_found=: - case $as_dir in #( - /*) - for as_base in sh bash ksh sh5; do - # Try only shells that exist, to save several forks. - as_shell=$as_dir/$as_base - if { test -f "$as_shell" || test -f "$as_shell.exe"; } && - { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$as_shell"; } 2>/dev/null; then : - CONFIG_SHELL=$as_shell as_have_required=yes - if { $as_echo "$as_bourne_compatible""$as_suggested" | as_run=a "$as_shell"; } 2>/dev/null; then : - break 2 -fi -fi - done;; - esac - as_found=false -done -$as_found || { if { test -f "$SHELL" || test -f "$SHELL.exe"; } && - { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$SHELL"; } 2>/dev/null; then : - CONFIG_SHELL=$SHELL as_have_required=yes -fi; } -IFS=$as_save_IFS - - - if test "x$CONFIG_SHELL" != x; then : - export CONFIG_SHELL - # We cannot yet assume a decent shell, so we have to provide a -# neutralization value for shells without unset; and this also -# works around shells that cannot unset nonexistent variables. -# Preserve -v and -x to the replacement shell. -BASH_ENV=/dev/null -ENV=/dev/null -(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV -case $- in # (((( - *v*x* | *x*v* ) as_opts=-vx ;; - *v* ) as_opts=-v ;; - *x* ) as_opts=-x ;; - * ) as_opts= ;; -esac -exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"} -# Admittedly, this is quite paranoid, since all the known shells bail -# out after a failed `exec'. -$as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2 -exit 255 -fi - - if test x$as_have_required = xno; then : - $as_echo "$0: This script requires a shell more modern than all" - $as_echo "$0: the shells that I found on your system." - if test x${ZSH_VERSION+set} = xset ; then - $as_echo "$0: In particular, zsh $ZSH_VERSION has bugs and should" - $as_echo "$0: be upgraded to zsh 4.3.4 or later." - else - $as_echo "$0: Please tell bug-autoconf@gnu.org about your system, -$0: including any error possibly output before this -$0: message. Then install a modern shell, or manually run -$0: the script under such a shell if you do have one." - fi - exit 1 -fi -fi -fi -SHELL=${CONFIG_SHELL-/bin/sh} -export SHELL -# Unset more variables known to interfere with behavior of common tools. -CLICOLOR_FORCE= GREP_OPTIONS= -unset CLICOLOR_FORCE GREP_OPTIONS - -## --------------------- ## -## M4sh Shell Functions. ## -## --------------------- ## -# as_fn_unset VAR -# --------------- -# Portably unset VAR. -as_fn_unset () -{ - { eval $1=; unset $1;} -} -as_unset=as_fn_unset - -# as_fn_set_status STATUS -# ----------------------- -# Set $? to STATUS, without forking. -as_fn_set_status () -{ - return $1 -} # as_fn_set_status - -# as_fn_exit STATUS -# ----------------- -# Exit the shell with STATUS, even in a "trap 0" or "set -e" context. -as_fn_exit () -{ - set +e - as_fn_set_status $1 - exit $1 -} # as_fn_exit - -# as_fn_mkdir_p -# ------------- -# Create "$as_dir" as a directory, including parents if necessary. -as_fn_mkdir_p () -{ - - case $as_dir in #( - -*) as_dir=./$as_dir;; - esac - test -d "$as_dir" || eval $as_mkdir_p || { - 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_fn_error $? "cannot create directory $as_dir" - - -} # as_fn_mkdir_p - -# as_fn_executable_p FILE -# ----------------------- -# Test if FILE is an executable regular file. -as_fn_executable_p () -{ - test -f "$1" && test -x "$1" -} # as_fn_executable_p -# as_fn_append VAR VALUE -# ---------------------- -# Append the text in VALUE to the end of the definition contained in VAR. Take -# advantage of any shell optimizations that allow amortized linear growth over -# repeated appends, instead of the typical quadratic growth present in naive -# implementations. -if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then : - eval 'as_fn_append () - { - eval $1+=\$2 - }' -else - as_fn_append () - { - eval $1=\$$1\$2 - } -fi # as_fn_append - -# as_fn_arith ARG... -# ------------------ -# Perform arithmetic evaluation on the ARGs, and store the result in the -# global $as_val. Take advantage of shells that can avoid forks. The arguments -# must be portable across $(()) and expr. -if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then : - eval 'as_fn_arith () - { - as_val=$(( $* )) - }' -else - as_fn_arith () - { - as_val=`expr "$@" || test $? -eq 1` - } -fi # as_fn_arith - - -# as_fn_error STATUS ERROR [LINENO LOG_FD] -# ---------------------------------------- -# Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are -# provided, also output the error to LOG_FD, referencing LINENO. Then exit the -# script with STATUS, using 1 if that was 0. -as_fn_error () -{ - as_status=$1; test $as_status -eq 0 && as_status=1 - if test "$4"; then - as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 - fi - $as_echo "$as_me: error: $2" >&2 - as_fn_exit $as_status -} # as_fn_error - -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 - -if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then - as_dirname=dirname -else - as_dirname=false -fi - -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'` - -# 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_lineno_1=$LINENO as_lineno_1a=$LINENO - as_lineno_2=$LINENO as_lineno_2a=$LINENO - eval 'test "x$as_lineno_1'$as_run'" != "x$as_lineno_2'$as_run'" && - test "x`expr $as_lineno_1'$as_run' + 1`" = "x$as_lineno_2'$as_run'"' || { - # 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; as_fn_exit 1; } - - # If we had to re-execute with $CONFIG_SHELL, we're ensured to have - # already done that, so ensure we don't try to do so again and fall - # in an infinite loop. This has already happened in practice. - _as_can_reexec=no; export _as_can_reexec - # 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 -} - -ECHO_C= ECHO_N= ECHO_T= -case `echo -n x` in #((((( --n*) - case `echo 'xy\c'` in - *c*) ECHO_T=' ';; # ECHO_T is single tab character. - xy) ECHO_C='\c';; - *) echo `echo ksh88 bug on AIX 6.1` > /dev/null - ECHO_T=' ';; - esac;; -*) - ECHO_N='-n';; -esac - -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 -pR'. - ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || - as_ln_s='cp -pR' - elif ln conf$$.file conf$$ 2>/dev/null; then - as_ln_s=ln - else - as_ln_s='cp -pR' - fi -else - as_ln_s='cp -pR' -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='mkdir -p "$as_dir"' -else - test -d ./-p && rmdir ./-p - as_mkdir_p=false -fi - -as_test_x='test -x' -as_executable_p=as_fn_executable_p - -# 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'" - -SHELL=${CONFIG_SHELL-/bin/sh} - - -test -n "$DJDIR" || exec 7<&0 &1 - -# Name of the host. -# hostname on some systems (SVR3.2, old GNU/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= - -# Identity of this package. -PACKAGE_NAME='yaws' -PACKAGE_TARNAME='yaws' -PACKAGE_VERSION='2.0.6' -PACKAGE_STRING='yaws 2.0.6' -PACKAGE_BUGREPORT='' -PACKAGE_URL='' - -ac_unique_file="src/yaws_app.erl" -# 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" - -ac_subst_vars='am__EXEEXT_FALSE -am__EXEEXT_TRUE -LTLIBOBJS -LIBOBJS -CONFIG_STATUS_DEPENDENCIES -yappdir -yawsdir -logdir -appsdir -wwwdir -confdir -HAVE_TS_TOOLS_FALSE -HAVE_TS_TOOLS_TRUE -INSTALL_BUILDER -TODOS -UNIX2DOS -CURL -CADAVER -CAN_BUILD_DOC_FALSE -CAN_BUILD_DOC_TRUE -PS2PDF -MAN -EPSTOPDF -PDFLATEX -DVIPS -DVILATEX -HAVE_SENDFILE -HAVE_SENDFILE_FALSE -HAVE_SENDFILE_TRUE -WINDOWS_FALSE -WINDOWS_TRUE -MINGW_FALSE -MINGW_TRUE -CYGWIN_FALSE -CYGWIN_TRUE -EPAM_CFLAGS -WERL -ERLANG_LIB_VER_common_test -ERLANG_LIB_DIR_common_test -ERLANG_LIB_VER_tools -ERLANG_LIB_DIR_tools -ERLANG_LIB_VER_inets -ERLANG_LIB_DIR_inets -ERLANG_LIB_VER_xmlrpc -ERLANG_LIB_DIR_xmlrpc -ERLANG_LIB_VER_erlsom -ERLANG_LIB_DIR_erlsom -ERLANG_LIB_VER_eunit -ERLANG_LIB_DIR_eunit -ERLANG_LIB_VER_mnesia -ERLANG_LIB_DIR_mnesia -ERLANG_LIB_VER_ssl -ERLANG_LIB_DIR_ssl -ERLANG_LIB_VER_public_key -ERLANG_LIB_DIR_public_key -ERLANG_LIB_VER_xmerl -ERLANG_LIB_DIR_xmerl -ERLANG_LIB_VER_crypto -ERLANG_LIB_DIR_crypto -ERLANG_LIB_VER_compiler -ERLANG_LIB_DIR_compiler -ERLANG_LIB_VER_erts -ERLANG_LIB_DIR_erts -ERLANG_LIB_VER_sasl -ERLANG_LIB_DIR_sasl -ERLANG_LIB_VER_stdlib -ERLANG_LIB_DIR_stdlib -ERLANG_LIB_VER_kernel -ERLANG_LIB_DIR_kernel -ERLANG_INSTALL_LIB_DIR_yapp -YAPP_VSN -ERLANG_INSTALL_LIB_DIR_yaws -YAWS_VSN -ERLANG_INSTALL_LIB_DIR -ERLANG_RELEASE -ERLANG_ERTS_VER -ERLANG_ERTS_DIR -ERLANG_LIB_DIR -ERLANG_ROOT_DIR -ERL_LIBS -CT_RUN -DIALYZER -ESCRIPT -ERLCFLAGS -ERLC -ERL -APPDEPS -WITH_EPAM_FALSE -WITH_EPAM_TRUE -EXTRAINCLUDE -DEFAULT_CHARSET -LT_SYS_LIBRARY_PATH -OTOOL64 -OTOOL -LIPO -NMEDIT -DSYMUTIL -MANIFEST_TOOL -RANLIB -DLLTOOL -OBJDUMP -LN_S -NM -ac_ct_DUMPBIN -DUMPBIN -LIBTOOL -LD -FGREP -SED -EGREP -GREP -CPP -am__fastdepCC_FALSE -am__fastdepCC_TRUE -CCDEPMODE -am__nodep -AMDEPBACKSLASH -AMDEP_FALSE -AMDEP_TRUE -am__quote -am__include -DEPDIR -OBJEXT -EXEEXT -ac_ct_CC -CPPFLAGS -LDFLAGS -CFLAGS -CC -ac_ct_AR -AR -AM_BACKSLASH -AM_DEFAULT_VERBOSITY -AM_DEFAULT_V -AM_V -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 -runstatedir -localstatedir -sharedstatedir -sysconfdir -datadir -datarootdir -libexecdir -sbindir -bindir -program_transform_name -prefix -exec_prefix -PACKAGE_URL -PACKAGE_BUGREPORT -PACKAGE_STRING -PACKAGE_VERSION -PACKAGE_TARNAME -PACKAGE_NAME -PATH_SEPARATOR -SHELL' -ac_subst_files='' -ac_user_opts=' -enable_option_checking -enable_silent_rules -enable_dependency_tracking -with_gnu_ld -enable_static -enable_shared -with_pic -enable_fast_install -with_aix_soname -with_sysroot -enable_libtool_lock -with_defaultcharset -with_extrainclude -enable_pam -enable_crypto -enable_compiler -with_erlang -' - ac_precious_vars='build_alias -host_alias -target_alias -CC -CFLAGS -LDFLAGS -LIBS -CPPFLAGS -CPP -LT_SYS_LIBRARY_PATH -ERL -ERLC -ERLCFLAGS -ESCRIPT -DIALYZER -CT_RUN -ERL_LIBS -ERLANG_INSTALL_LIB_DIR -ERLANG_INSTALL_LIB_DIR_yaws -ERLANG_INSTALL_LIB_DIR_yapp -DVILATEX -DVIPS -PDFLATEX -EPSTOPDF -MAN -PS2PDF -CADAVER -CURL -UNIX2DOS -TODOS -INSTALL_BUILDER -confdir -wwwdir -appsdir -logdir -yawsdir -yappdir' - - -# 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' -runstatedir='${localstatedir}/run' -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= ;; - *) 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_fn_error $? "invalid feature name: $ac_useropt" - 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_fn_error $? "invalid feature name: $ac_useropt" - 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 ;; - - -runstatedir | --runstatedir | --runstatedi | --runstated \ - | --runstate | --runstat | --runsta | --runst | --runs \ - | --run | --ru | --r) - ac_prev=runstatedir ;; - -runstatedir=* | --runstatedir=* | --runstatedi=* | --runstated=* \ - | --runstate=* | --runstat=* | --runsta=* | --runst=* | --runs=* \ - | --run=* | --ru=* | --r=*) - runstatedir=$ac_optarg ;; - - -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb) - ac_prev=sbindir ;; - -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \ - | --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_fn_error $? "invalid package name: $ac_useropt" - 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_fn_error $? "invalid package name: $ac_useropt" - 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_fn_error $? "unrecognized option: \`$ac_option' -Try \`$0 --help' for more information" - ;; - - *=*) - ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='` - # Reject names that are not valid shell variable names. - case $ac_envvar in #( - '' | [0-9]* | *[!_$as_cr_alnum]* ) - as_fn_error $? "invalid variable name: \`$ac_envvar'" ;; - esac - 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_fn_error $? "missing argument to $ac_option" -fi - -if test -n "$ac_unrecognized_opts"; then - case $enable_option_checking in - no) ;; - fatal) as_fn_error $? "unrecognized options: $ac_unrecognized_opts" ;; - *) $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 runstatedir -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_fn_error $? "expected an absolute directory name for --$ac_var: $ac_val" -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 - 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_fn_error $? "working directory cannot be determined" -test "X$ac_ls_di" = "X$ac_pwd_ls_di" || - as_fn_error $? "pwd does not report name of working directory" - - -# 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_fn_error $? "cannot find sources ($ac_unique_file) in $srcdir" -fi -ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work" -ac_abs_confdir=`( - cd "$srcdir" && test -r "./$ac_unique_file" || as_fn_error $? "$ac_msg" - 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 yaws 2.0.6 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] - --runstatedir=DIR modifiable per-process data [LOCALSTATEDIR/run] - --libdir=DIR object code libraries [EPREFIX/lib] - --includedir=DIR C header files [PREFIX/include] - --oldincludedir=DIR C header files for non-gcc [/usr/include] - --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/yaws] - --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 yaws 2.0.6:";; - 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-silent-rules less verbose build output (undo: "make V=1") - --disable-silent-rules verbose build output (undo: "make V=0") - --enable-dependency-tracking - do not reject slow dependency extractors - --disable-dependency-tracking - speeds up one-time build - --enable-static[=PKGS] build static libraries [default=no] - --enable-shared[=PKGS] build shared libraries [default=yes] - --enable-fast-install[=PKGS] - optimize for fast installation [default=yes] - --disable-libtool-lock avoid locking (might break parallel builds) - --disable-pam disable pam auth - --enable-crypto adds crypto application to yaws.app file - --enable-compiler adds compiler application to yaws.app file - -Optional Packages: - --with-PACKAGE[=ARG] use PACKAGE [ARG=yes] - --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no) - --with-gnu-ld assume the C compiler uses GNU ld [default=no] - --with-pic[=PKGS] try to use only PIC/non-PIC objects [default=use - both] - --with-aix-soname=aix|svr4|both - shared library versioning (aka "SONAME") variant to - provide on AIX, [default=aix]. - --with-sysroot[=DIR] Search for dependent libraries within DIR (or the - compiler's sysroot if not specified). - --with-defaultcharset=CHARSET - specify default charset, i.e UTF-8 - --with-extrainclude=DIR dir to include if e.g. pam is installed in some odd - place - --with-erlang=PREFIX prefix where Erlang is installed (optional) - -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 (Objective) C/C++ preprocessor flags, e.g. -I if - you have headers in a nonstandard directory - CPP C preprocessor - LT_SYS_LIBRARY_PATH - User-defined run-time library search path. - ERL Erlang/OTP interpreter command [autodetected] - ERLC Erlang/OTP compiler command [autodetected] - ERLCFLAGS Erlang/OTP compiler flags [none] - ESCRIPT Erlang/OTP interpreter command [autodetected] - DIALYZER Erlang/OTP discrepancy analyzer [autodetected] - CT_RUN Erlang/OTP Program used for starting Common Test [autodetected] - ERL_LIBS Erlang/OTP applications search path [none] - ERLANG_INSTALL_LIB_DIR - Erlang/OTP library installation base directory - [LIBDIR/erlang/lib] - ERLANG_INSTALL_LIB_DIR_yaws - Erlang/OTP 'yaws' library installation subdirectory - [ERLANG_INSTALL_LIB_DIR/yaws-${YAWS_VSN}] - ERLANG_INSTALL_LIB_DIR_yapp - Erlang/OTP 'yapp' library installation subdirectory - [ERLANG_INSTALL_LIB_DIR/yapp-${YAPP_VSN}] - DVILATEX (pdf)latex command creating DVI file - DVIPS dvips command - PDFLATEX (pdf)latex command creating PDF file - EPSTOPDF epstopdf command - MAN man command creating manpages - PS2PDF ps2pdf command creating PDF file - CADAVER command-line WebDAV client for Unix - CURL command-line tool for transferring data with URL syntax - UNIX2DOS converts DOS <-> Unix text files - TODOS converts DOS <-> Unix text files - INSTALL_BUILDER - BitRock InstallBuilder directory - ['${HOME}/installbuilder-5.4.14'] - confdir Default Yaws configuration directory ['$(sysconfdir)/yaws'] - wwwdir Default Yaws docroot ['$(localstatedir)/yaws/www'] - appsdir Default Yaws applications directory ['$(localstatedir)/yaws'] - logdir Default Yaws log directory ['$(localstatedir)/log/yaws'] - yawsdir Default Yaws installation directory ['$(libdir)/yaws']. If not - specified, it is a link on '$(ERLANG_INSTALL_LIB_DIR_yaws)' - yappdir Default Yapp installation directory ['$(libdir)/yapp']. If not - specified, it is a link on '$(ERLANG_INSTALL_LIB_DIR_yapp)' - -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 the package provider. -_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 -yaws configure 2.0.6 -generated by GNU Autoconf 2.69 - -Copyright (C) 2012 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 - -## ------------------------ ## -## Autoconf initialization. ## -## ------------------------ ## - -# ac_fn_c_try_compile LINENO -# -------------------------- -# Try to compile conftest.$ac_ext, and return whether this succeeded. -ac_fn_c_try_compile () -{ - as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - 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:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_compile") 2>conftest.err - ac_status=$? - if test -s conftest.err; then - grep -v '^ *+' conftest.err >conftest.er1 - cat conftest.er1 >&5 - mv -f conftest.er1 conftest.err - fi - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then : - ac_retval=0 -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_retval=1 -fi - eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno - as_fn_set_status $ac_retval - -} # ac_fn_c_try_compile - -# ac_fn_c_try_cpp LINENO -# ---------------------- -# Try to preprocess conftest.$ac_ext, and return whether this succeeded. -ac_fn_c_try_cpp () -{ - as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - 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:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_cpp conftest.$ac_ext") 2>conftest.err - ac_status=$? - if test -s conftest.err; then - grep -v '^ *+' conftest.err >conftest.er1 - cat conftest.er1 >&5 - mv -f conftest.er1 conftest.err - fi - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } > conftest.i && { - test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || - test ! -s conftest.err - }; then : - ac_retval=0 -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_retval=1 -fi - eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno - as_fn_set_status $ac_retval - -} # ac_fn_c_try_cpp - -# ac_fn_c_try_link LINENO -# ----------------------- -# Try to link conftest.$ac_ext, and return whether this succeeded. -ac_fn_c_try_link () -{ - as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - 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:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_link") 2>conftest.err - ac_status=$? - if test -s conftest.err; then - grep -v '^ *+' conftest.err >conftest.er1 - cat conftest.er1 >&5 - mv -f conftest.er1 conftest.err - fi - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - test -x conftest$ac_exeext - }; then : - ac_retval=0 -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_retval=1 -fi - # Delete the IPA/IPO (Inter Procedural Analysis/Optimization) information - # created by the PGI compiler (conftest_ipa8_conftest.oo), as it would - # interfere with the next link command; also delete a directory that is - # left behind by Apple's compiler. We do this before executing the actions. - rm -rf conftest.dSYM conftest_ipa8_conftest.oo - eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno - as_fn_set_status $ac_retval - -} # ac_fn_c_try_link - -# ac_fn_c_check_header_compile LINENO HEADER VAR INCLUDES -# ------------------------------------------------------- -# Tests whether HEADER exists and can be compiled using the include files in -# INCLUDES, setting the cache variable VAR accordingly. -ac_fn_c_check_header_compile () -{ - as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 -$as_echo_n "checking for $2... " >&6; } -if eval \${$3+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -$4 -#include <$2> -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - eval "$3=yes" -else - eval "$3=no" -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -eval ac_res=\$$3 - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } - eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno - -} # ac_fn_c_check_header_compile - -# ac_fn_c_try_run LINENO -# ---------------------- -# Try to link conftest.$ac_ext, and return whether this succeeded. Assumes -# that executables *can* be run. -ac_fn_c_try_run () -{ - as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - 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:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_link") 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } && { 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:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; }; then : - ac_retval=0 -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 - - ac_retval=$ac_status -fi - rm -rf conftest.dSYM conftest_ipa8_conftest.oo - eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno - as_fn_set_status $ac_retval - -} # ac_fn_c_try_run - -# ac_fn_c_check_func LINENO FUNC VAR -# ---------------------------------- -# Tests whether FUNC exists, setting the cache variable VAR accordingly -ac_fn_c_check_func () -{ - as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 -$as_echo_n "checking for $2... " >&6; } -if eval \${$3+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -/* Define $2 to an innocuous variant, in case declares $2. - For example, HP-UX 11i declares gettimeofday. */ -#define $2 innocuous_$2 - -/* System header to define __stub macros and hopefully few prototypes, - which can conflict with char $2 (); below. - Prefer to if __STDC__ is defined, since - exists even on freestanding compilers. */ - -#ifdef __STDC__ -# include -#else -# include -#endif - -#undef $2 - -/* 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 $2 (); -/* 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_$2 || defined __stub___$2 -choke me -#endif - -int -main () -{ -return $2 (); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - eval "$3=yes" -else - eval "$3=no" -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -fi -eval ac_res=\$$3 - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } - eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno - -} # ac_fn_c_check_func - -# ac_fn_erl_try_run LINENO -# ------------------------ -# Try to link conftest.$ac_ext, and return whether this succeeded. Assumes -# that executables *can* be run. -ac_fn_erl_try_run () -{ - as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - 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:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_link") 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } && { 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:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; }; then : - ac_retval=0 -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 - - ac_retval=$ac_status -fi - rm -rf conftest.dSYM conftest_ipa8_conftest.oo - eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno - as_fn_set_status $ac_retval - -} # ac_fn_erl_try_run - -# ac_fn_c_check_header_mongrel LINENO HEADER VAR INCLUDES -# ------------------------------------------------------- -# Tests whether HEADER exists, giving a warning if it cannot be compiled using -# the include files in INCLUDES and setting the cache variable VAR -# accordingly. -ac_fn_c_check_header_mongrel () -{ - as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - if eval \${$3+:} false; then : - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 -$as_echo_n "checking for $2... " >&6; } -if eval \${$3+:} false; then : - $as_echo_n "(cached) " >&6 -fi -eval ac_res=\$$3 - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } -else - # Is the header compilable? -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 usability" >&5 -$as_echo_n "checking $2 usability... " >&6; } -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -$4 -#include <$2> -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ac_header_compiler=yes -else - ac_header_compiler=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_compiler" >&5 -$as_echo "$ac_header_compiler" >&6; } - -# Is the header present? -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 presence" >&5 -$as_echo_n "checking $2 presence... " >&6; } -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include <$2> -_ACEOF -if ac_fn_c_try_cpp "$LINENO"; then : - ac_header_preproc=yes -else - ac_header_preproc=no -fi -rm -f conftest.err conftest.i conftest.$ac_ext -{ $as_echo "$as_me:${as_lineno-$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:${as_lineno-$LINENO}: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&5 -$as_echo "$as_me: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&2;} - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5 -$as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;} - ;; - no:yes:* ) - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: present but cannot be compiled" >&5 -$as_echo "$as_me: WARNING: $2: present but cannot be compiled" >&2;} - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: check for missing prerequisite headers?" >&5 -$as_echo "$as_me: WARNING: $2: check for missing prerequisite headers?" >&2;} - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: see the Autoconf documentation" >&5 -$as_echo "$as_me: WARNING: $2: see the Autoconf documentation" >&2;} - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: section \"Present But Cannot Be Compiled\"" >&5 -$as_echo "$as_me: WARNING: $2: section \"Present But Cannot Be Compiled\"" >&2;} - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5 -$as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;} - ;; -esac - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 -$as_echo_n "checking for $2... " >&6; } -if eval \${$3+:} false; then : - $as_echo_n "(cached) " >&6 -else - eval "$3=\$ac_header_compiler" -fi -eval ac_res=\$$3 - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } -fi - eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno - -} # ac_fn_c_check_header_mongrel -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 yaws $as_me 2.0.6, which was -generated by GNU Autoconf 2.69. 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) as_fn_append ac_configure_args0 " '$ac_arg'" ;; - 2) - as_fn_append 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 - as_fn_append ac_configure_args " '$ac_arg'" - ;; - esac - done -done -{ ac_configure_args0=; unset ac_configure_args0;} -{ ac_configure_args1=; unset 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 - - $as_echo "## ---------------- ## -## Cache variables. ## -## ---------------- ##" - 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:${as_lineno-$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= ;; #( - *) { eval $ac_var=; 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 - - $as_echo "## ----------------- ## -## Output variables. ## -## ----------------- ##" - 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 - $as_echo "## ------------------- ## -## File substitutions. ## -## ------------------- ##" - 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 - $as_echo "## ----------- ## -## confdefs.h. ## -## ----------- ##" - 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'; as_fn_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 - -$as_echo "/* confdefs.h */" > 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 - -cat >>confdefs.h <<_ACEOF -#define PACKAGE_URL "$PACKAGE_URL" -_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 - # We do not want a PATH search for config.site. - case $CONFIG_SITE in #(( - -*) ac_site_file1=./$CONFIG_SITE;; - */*) ac_site_file1=$CONFIG_SITE;; - *) ac_site_file1=./$CONFIG_SITE;; - esac -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 /dev/null != "$ac_site_file" && test -r "$ac_site_file"; then - { $as_echo "$as_me:${as_lineno-$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" \ - || { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error $? "failed to load site script $ac_site_file -See \`config.log' for more details" "$LINENO" 5; } - 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. DJGPP emulates it as a regular file. - if test /dev/null != "$cache_file" && test -f "$cache_file"; then - { $as_echo "$as_me:${as_lineno-$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:${as_lineno-$LINENO}: creating cache $cache_file" >&5 -$as_echo "$as_me: creating cache $cache_file" >&6;} - >$cache_file -fi - -# 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:${as_lineno-$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:${as_lineno-$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:${as_lineno-$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:${as_lineno-$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:${as_lineno-$LINENO}: former value: \`$ac_old_val'" >&5 -$as_echo "$as_me: former value: \`$ac_old_val'" >&2;} - { $as_echo "$as_me:${as_lineno-$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. - *) as_fn_append ac_configure_args " '$ac_arg'" ;; - esac - fi -done -if $ac_cache_corrupted; then - { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} - { $as_echo "$as_me:${as_lineno-$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_fn_error $? "run \`make distclean' and/or \`rm $cache_file' and start over" "$LINENO" 5 -fi -## -------------------- ## -## Main body of script. ## -## -------------------- ## - -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_aux_dir= -for ac_dir in ac-aux "$srcdir"/ac-aux; 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_fn_error $? "cannot find install-sh, install.sh, or shtool in ac-aux \"$srcdir\"/ac-aux" "$LINENO" 5 -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_fn_error $? "cannot run $SHELL $ac_aux_dir/config.sub" "$LINENO" 5 - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking build system type" >&5 -$as_echo_n "checking build system type... " >&6; } -if ${ac_cv_build+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_build_alias=$build_alias -test "x$ac_build_alias" = x && - ac_build_alias=`$SHELL "$ac_aux_dir/config.guess"` -test "x$ac_build_alias" = x && - as_fn_error $? "cannot guess build type; you must specify one" "$LINENO" 5 -ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` || - as_fn_error $? "$SHELL $ac_aux_dir/config.sub $ac_build_alias failed" "$LINENO" 5 - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_build" >&5 -$as_echo "$ac_cv_build" >&6; } -case $ac_cv_build in -*-*-*) ;; -*) as_fn_error $? "invalid value of canonical build" "$LINENO" 5;; -esac -build=$ac_cv_build -ac_save_IFS=$IFS; IFS='-' -set x $ac_cv_build -shift -build_cpu=$1 -build_vendor=$2 -shift; shift -# Remember, the first character of IFS is used to create $*, -# except with old shells: -build_os=$* -IFS=$ac_save_IFS -case $build_os in *\ *) build_os=`echo "$build_os" | sed 's/ /-/g'`;; esac - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking host system type" >&5 -$as_echo_n "checking host system type... " >&6; } -if ${ac_cv_host+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test "x$host_alias" = x; then - ac_cv_host=$ac_cv_build -else - ac_cv_host=`$SHELL "$ac_aux_dir/config.sub" $host_alias` || - as_fn_error $? "$SHELL $ac_aux_dir/config.sub $host_alias failed" "$LINENO" 5 -fi - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_host" >&5 -$as_echo "$ac_cv_host" >&6; } -case $ac_cv_host in -*-*-*) ;; -*) as_fn_error $? "invalid value of canonical host" "$LINENO" 5;; -esac -host=$ac_cv_host -ac_save_IFS=$IFS; IFS='-' -set x $ac_cv_host -shift -host_cpu=$1 -host_vendor=$2 -shift; shift -# Remember, the first character of IFS is used to create $*, -# except with old shells: -host_os=$* -IFS=$ac_save_IFS -case $host_os in *\ *) host_os=`echo "$host_os" | sed 's/ /-/g'`;; esac - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking target system type" >&5 -$as_echo_n "checking target system type... " >&6; } -if ${ac_cv_target+:} false; 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_fn_error $? "$SHELL $ac_aux_dir/config.sub $target_alias failed" "$LINENO" 5 -fi - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_target" >&5 -$as_echo "$ac_cv_target" >&6; } -case $ac_cv_target in -*-*-*) ;; -*) as_fn_error $? "invalid value of canonical target" "$LINENO" 5;; -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}- - -cat >>confdefs.h <<_ACEOF -#define CPU_VENDOR_OS "$host" -_ACEOF - - - -am__api_version='1.15' - -# 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:${as_lineno-$LINENO}: checking for a BSD-compatible install" >&5 -$as_echo_n "checking for a BSD-compatible install... " >&6; } -if test -z "$INSTALL"; then -if ${ac_cv_path_install+:} false; 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 as_fn_executable_p "$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:${as_lineno-$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:${as_lineno-$LINENO}: checking whether build environment is sane" >&5 -$as_echo_n "checking whether build environment is sane... " >&6; } -# 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_fn_error $? "unsafe absolute working directory name" "$LINENO" 5;; -esac -case $srcdir in - *[\\\"\#\$\&\'\`$am_lf\ \ ]*) - as_fn_error $? "unsafe srcdir value: '$srcdir'" "$LINENO" 5;; -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 ( - am_has_slept=no - for am_try in 1 2; do - echo "timestamp, slept: $am_has_slept" > conftest.file - 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 - 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_fn_error $? "ls -t appears to fail. Make sure there is not a broken - alias in your environment" "$LINENO" 5 - fi - if test "$2" = conftest.file || test $am_try -eq 2; then - break - fi - # Just in case. - sleep 1 - am_has_slept=yes - done - test "$2" = conftest.file - ) -then - # Ok. - : -else - as_fn_error $? "newly created file is older than distributed files! -Check your system clock" "$LINENO" 5 -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } -# If we didn't sleep, we still need to ensure time stamps of config.status and -# generated files are strictly newer. -am_sleep_pid= -if grep 'slept: no' conftest.file >/dev/null 2>&1; then - ( sleep 1 ) & - am_sleep_pid=$! -fi - -rm -f conftest.file - -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 --is-lightweight"; then - am_missing_run="$MISSING " -else - am_missing_run= - { $as_echo "$as_me:${as_lineno-$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+set}" != 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:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_STRIP+:} false; 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 as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_STRIP="${ac_tool_prefix}strip" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -STRIP=$ac_cv_prog_STRIP -if test -n "$STRIP"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $STRIP" >&5 -$as_echo "$STRIP" >&6; } -else - { $as_echo "$as_me:${as_lineno-$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:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_STRIP+:} false; 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 as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_STRIP="strip" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP -if test -n "$ac_ct_STRIP"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_STRIP" >&5 -$as_echo "$ac_ct_STRIP" >&6; } -else - { $as_echo "$as_me:${as_lineno-$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:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - STRIP=$ac_ct_STRIP - fi -else - STRIP="$ac_cv_prog_STRIP" -fi - -fi -INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s" - -{ $as_echo "$as_me:${as_lineno-$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 ${ac_cv_path_mkdir+:} false; 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 - as_fn_executable_p "$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 - - test -d ./--version && rmdir ./--version - 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. - MKDIR_P="$ac_install_sh -d" - fi -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $MKDIR_P" >&5 -$as_echo "$MKDIR_P" >&6; } - -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:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_AWK+:} false; 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 as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_AWK="$ac_prog" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -AWK=$ac_cv_prog_AWK -if test -n "$AWK"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AWK" >&5 -$as_echo "$AWK" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - - test -n "$AWK" && break -done - -{ $as_echo "$as_me:${as_lineno-$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 eval \${ac_cv_prog_make_${ac_make}_set+:} false; 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:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } - SET_MAKE= -else - { $as_echo "$as_me:${as_lineno-$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 - -# Check whether --enable-silent-rules was given. -if test "${enable_silent_rules+set}" = set; then : - enableval=$enable_silent_rules; -fi - -case $enable_silent_rules in # ((( - yes) AM_DEFAULT_VERBOSITY=0;; - no) AM_DEFAULT_VERBOSITY=1;; - *) AM_DEFAULT_VERBOSITY=1;; -esac -am_make=${MAKE-make} -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $am_make supports nested variables" >&5 -$as_echo_n "checking whether $am_make supports nested variables... " >&6; } -if ${am_cv_make_support_nested_variables+:} false; then : - $as_echo_n "(cached) " >&6 -else - if $as_echo 'TRUE=$(BAR$(V)) -BAR0=false -BAR1=true -V=1 -am__doit: - @$(TRUE) -.PHONY: am__doit' | $am_make -f - >/dev/null 2>&1; then - am_cv_make_support_nested_variables=yes -else - am_cv_make_support_nested_variables=no -fi -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_make_support_nested_variables" >&5 -$as_echo "$am_cv_make_support_nested_variables" >&6; } -if test $am_cv_make_support_nested_variables = yes; then - AM_V='$(V)' - AM_DEFAULT_V='$(AM_DEFAULT_VERBOSITY)' -else - AM_V=$AM_DEFAULT_VERBOSITY - AM_DEFAULT_V=$AM_DEFAULT_VERBOSITY -fi -AM_BACKSLASH='\' - -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_fn_error $? "source directory already configured; run \"make distclean\" there first" "$LINENO" 5 - 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='yaws' - VERSION='2.0.6' - - -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"} - -# For better backward compatibility. To be removed once Automake 1.9.x -# dies out for good. For more background, see: -# -# -mkdir_p='$(MKDIR_P)' - -# We need awk for the "check" target (and possibly the TAP driver). The -# system "awk" is bad on some platforms. -# Always define AMTAR for backward compatibility. Yes, it's still used -# in the wild :-( We should find a proper way to deprecate it ... -AMTAR='$${TAR-tar}' - - -# We'll loop over all known methods to create a tar archive until one works. -_am_tools='gnutar pax cpio none' - -am__tar='$${TAR-tar} chof - "$$tardir"' am__untar='$${TAR-tar} xf -' - - - - - - -# POSIX will say in a future version that running "rm -f" with no argument -# is OK; and we want to be able to make that assumption in our Makefile -# recipes. So use an aggressive probe to check that the usage we want is -# actually supported "in the wild" to an acceptable degree. -# See automake bug#10828. -# To make any issue more visible, cause the running configure to be aborted -# by default if the 'rm' program in use doesn't match our expectations; the -# user can still override this though. -if rm -f && rm -fr && rm -rf; then : OK; else - cat >&2 <<'END' -Oops! - -Your 'rm' program seems unable to run without file operands specified -on the command line, even when the '-f' option is present. This is contrary -to the behaviour of most rm programs out there, and not conforming with -the upcoming POSIX standard: - -Please tell bug-automake@gnu.org about your system, including the value -of your $PATH and any error possibly output before this message. This -can help us improve future automake versions. - -END - if test x"$ACCEPT_INFERIOR_RM_PROGRAM" = x"yes"; then - echo 'Configuration will proceed anyway, since you have set the' >&2 - echo 'ACCEPT_INFERIOR_RM_PROGRAM variable to "yes"' >&2 - echo >&2 - else - cat >&2 <<'END' -Aborting the configuration process, to ensure you take notice of the issue. - -You can download and install GNU coreutils to get an 'rm' implementation -that behaves properly: . - -If you want to complete the configuration process using your problematic -'rm' anyway, export the environment variable ACCEPT_INFERIOR_RM_PROGRAM -to "yes", and re-run configure. - -END - as_fn_error $? "Your 'rm' program is bad, sorry." "$LINENO" 5 - fi -fi - - - - -ECHO=echo - - colored_echo_bold='' - colored_echo_norm='' - - 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:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_AWK+:} false; 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 as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_AWK="$ac_prog" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -AWK=$ac_cv_prog_AWK -if test -n "$AWK"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AWK" >&5 -$as_echo "$AWK" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - - test -n "$AWK" && break -done - - if test x"$AWK" = x"not found"; then - return - fi - - case $TERM in - xterm|xterm*|vt220|vt220*) - colored_echo_bold=`$AWK 'BEGIN { printf("%c%c%c%c", 27, 91, 49, 109); }' /dev/null` - colored_echo_norm=`$AWK 'BEGIN { printf("%c%c%c", 27, 91, 109); }' /dev/null` - ;; - - vt100|vt100*|cygwin) - colored_echo_bold=`$AWK 'BEGIN { printf("%c%c%c%c%c%c", 27, 91, 49, 109, 0, 0); }' /dev/null` - colored_echo_norm=`$AWK 'BEGIN { printf("%c%c%c%c%c", 27, 91, 109, 0, 0); }' /dev/null` - ;; - - *) - paths=`$ECHO $PATH | sed -e 's/:/ /g'` - for tool in tput tcout; do - for dir in $paths; do - if test -r "$dir/$tool" ; then - for seq in bold md smso; do - bold="`$dir/$tool $seq 2>/dev/null`" - if test ".$bold" != . ; then - colored_echo_bold="$bold" - break - fi - done - if test ".$colored_echo_bold" != . ; then - for seq in sgr0 me rmso init reset; do - norm="`$dir/$tool $seq 2>/dev/null`" - if test ".$norm" != . ; then - colored_echo_norm="$norm" - break - fi - done - fi - break - fi - done - if test x"$colored_echo_bold" != "x" -a x"$colored_echo_norm" != "x"; then - break; - fi - done - ;; - esac - - - -old_cflags="$CFLAGS" -# Check whether --enable-silent-rules was given. -if test "${enable_silent_rules+set}" = set; then : - enableval=$enable_silent_rules; -fi - -case $enable_silent_rules in # ((( - yes) AM_DEFAULT_VERBOSITY=0;; - no) AM_DEFAULT_VERBOSITY=1;; - *) AM_DEFAULT_VERBOSITY=0;; -esac -am_make=${MAKE-make} -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $am_make supports nested variables" >&5 -$as_echo_n "checking whether $am_make supports nested variables... " >&6; } -if ${am_cv_make_support_nested_variables+:} false; then : - $as_echo_n "(cached) " >&6 -else - if $as_echo 'TRUE=$(BAR$(V)) -BAR0=false -BAR1=true -V=1 -am__doit: - @$(TRUE) -.PHONY: am__doit' | $am_make -f - >/dev/null 2>&1; then - am_cv_make_support_nested_variables=yes -else - am_cv_make_support_nested_variables=no -fi -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_make_support_nested_variables" >&5 -$as_echo "$am_cv_make_support_nested_variables" >&6; } -if test $am_cv_make_support_nested_variables = yes; then - AM_V='$(V)' - AM_DEFAULT_V='$(AM_DEFAULT_VERBOSITY)' -else - AM_V=$AM_DEFAULT_VERBOSITY - AM_DEFAULT_V=$AM_DEFAULT_VERBOSITY -fi -AM_BACKSLASH='\' - -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:${as_lineno-$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:${as_lineno-$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='\' - am__nodep='_no' -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:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_CC+:} false; 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 as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_CC="${ac_tool_prefix}gcc" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -CC=$ac_cv_prog_CC -if test -n "$CC"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 -$as_echo "$CC" >&6; } -else - { $as_echo "$as_me:${as_lineno-$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:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_CC+:} false; 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 as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_CC="gcc" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -ac_ct_CC=$ac_cv_prog_ac_ct_CC -if test -n "$ac_ct_CC"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 -$as_echo "$ac_ct_CC" >&6; } -else - { $as_echo "$as_me:${as_lineno-$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:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - 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:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_CC+:} false; 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 as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_CC="${ac_tool_prefix}cc" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -CC=$ac_cv_prog_CC -if test -n "$CC"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 -$as_echo "$CC" >&6; } -else - { $as_echo "$as_me:${as_lineno-$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:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_CC+:} false; 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 as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then - ac_prog_rejected=yes - continue - fi - ac_cv_prog_CC="cc" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -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:${as_lineno-$LINENO}: result: $CC" >&5 -$as_echo "$CC" >&6; } -else - { $as_echo "$as_me:${as_lineno-$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:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_CC+:} false; 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 as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_CC="$ac_tool_prefix$ac_prog" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -CC=$ac_cv_prog_CC -if test -n "$CC"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 -$as_echo "$CC" >&6; } -else - { $as_echo "$as_me:${as_lineno-$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:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_CC+:} false; 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 as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_CC="$ac_prog" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -ac_ct_CC=$ac_cv_prog_ac_ct_CC -if test -n "$ac_ct_CC"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 -$as_echo "$ac_ct_CC" >&6; } -else - { $as_echo "$as_me:${as_lineno-$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:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - CC=$ac_ct_CC - fi -fi - -fi - - -test -z "$CC" && { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error $? "no acceptable C compiler found in \$PATH -See \`config.log' for more details" "$LINENO" 5; } - -# Provide some information about the compiler. -$as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5 -set X $ac_compile -ac_compiler=$2 -for ac_option in --version -v -V -qversion; do - { { ac_try="$ac_compiler $ac_option >&5" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_compiler $ac_option >&5") 2>conftest.err - ac_status=$? - if test -s conftest.err; then - sed '10a\ -... rest of stderr output deleted ... - 10q' conftest.err >conftest.er1 - cat conftest.er1 >&5 - fi - rm -f conftest.er1 conftest.err - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } -done - -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* 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:${as_lineno-$LINENO}: checking whether the C compiler works" >&5 -$as_echo_n "checking whether the C compiler works... " >&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:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_link_default") 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; 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 -if test -z "$ac_file"; then : - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -$as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error 77 "C compiler cannot create executables -See \`config.log' for more details" "$LINENO" 5; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler default output file name" >&5 -$as_echo_n "checking for C compiler default output file name... " >&6; } -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5 -$as_echo "$ac_file" >&6; } -ac_exeext=$ac_cv_exeext - -rm -f -r a.out a.out.dSYM a.exe conftest$ac_cv_exeext b.out -ac_clean_files=$ac_clean_files_save -{ $as_echo "$as_me:${as_lineno-$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:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_link") 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; 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:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error $? "cannot compute suffix of executables: cannot compile and link -See \`config.log' for more details" "$LINENO" 5; } -fi -rm -f conftest conftest$ac_cv_exeext -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5 -$as_echo "$ac_cv_exeext" >&6; } - -rm -f conftest.$ac_ext -EXEEXT=$ac_cv_exeext -ac_exeext=$EXEEXT -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -int -main () -{ -FILE *f = fopen ("conftest.out", "w"); - return ferror (f) || fclose (f) != 0; - - ; - return 0; -} -_ACEOF -ac_clean_files="$ac_clean_files conftest.out" -# Check that the compiler produces executables we can run. If not, either -# the compiler is broken, or we cross compile. -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5 -$as_echo_n "checking whether we are cross compiling... " >&6; } -if test "$cross_compiling" != yes; then - { { 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:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_link") 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } - if { ac_try='./conftest$ac_cv_exeext' - { { case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; }; then - cross_compiling=no - else - if test "$cross_compiling" = maybe; then - cross_compiling=yes - else - { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error $? "cannot run C compiled programs. -If you meant to cross compile, use \`--host'. -See \`config.log' for more details" "$LINENO" 5; } - fi - fi -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5 -$as_echo "$cross_compiling" >&6; } - -rm -f conftest.$ac_ext conftest$ac_cv_exeext conftest.out -ac_clean_files=$ac_clean_files_save -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of object files" >&5 -$as_echo_n "checking for suffix of object files... " >&6; } -if ${ac_cv_objext+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* 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:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_compile") 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; 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:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error $? "cannot compute suffix of object files: cannot compile -See \`config.log' for more details" "$LINENO" 5; } -fi -rm -f conftest.$ac_cv_objext conftest.$ac_ext -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_objext" >&5 -$as_echo "$ac_cv_objext" >&6; } -OBJEXT=$ac_cv_objext -ac_objext=$OBJEXT -{ $as_echo "$as_me:${as_lineno-$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 ${ac_cv_c_compiler_gnu+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ -#ifndef __GNUC__ - choke me -#endif - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ac_compiler_gnu=yes -else - 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:${as_lineno-$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:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5 -$as_echo_n "checking whether $CC accepts -g... " >&6; } -if ${ac_cv_prog_cc_g+:} false; 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 confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ac_cv_prog_cc_g=yes -else - CFLAGS="" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - -else - ac_c_werror_flag=$ac_save_c_werror_flag - CFLAGS="-g" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ac_cv_prog_cc_g=yes -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:${as_lineno-$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:${as_lineno-$LINENO}: checking for $CC option to accept ISO C89" >&5 -$as_echo_n "checking for $CC option to accept ISO C89... " >&6; } -if ${ac_cv_prog_cc_c89+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_cv_prog_cc_c89=no -ac_save_CC=$CC -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -#include -struct stat; -/* 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" - if ac_fn_c_try_compile "$LINENO"; then : - ac_cv_prog_cc_c89=$ac_arg -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:${as_lineno-$LINENO}: result: none needed" >&5 -$as_echo "none needed" >&6; } ;; - xno) - { $as_echo "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 -$as_echo "unsupported" >&6; } ;; - *) - CC="$CC $ac_cv_prog_cc_c89" - { $as_echo "$as_me:${as_lineno-$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 : - -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_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:${as_lineno-$LINENO}: checking whether $CC understands -c and -o together" >&5 -$as_echo_n "checking whether $CC understands -c and -o together... " >&6; } -if ${am_cv_prog_cc_c_o+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF - # Make sure it works both with $CC and with simple cc. - # Following AC_PROG_CC_C_O, we do the test twice because some - # compilers refuse to overwrite an existing .o file with -o, - # though they will create one. - am_cv_prog_cc_c_o=yes - for am_i in 1 2; do - if { echo "$as_me:$LINENO: $CC -c conftest.$ac_ext -o conftest2.$ac_objext" >&5 - ($CC -c conftest.$ac_ext -o conftest2.$ac_objext) >&5 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } \ - && test -f conftest2.$ac_objext; then - : OK - else - am_cv_prog_cc_c_o=no - break - fi - done - rm -f core conftest* - unset am_i -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_prog_cc_c_o" >&5 -$as_echo "$am_cv_prog_cc_c_o" >&6; } -if test "$am_cv_prog_cc_c_o" != yes; then - # Losing compiler, so override with the script. - # FIXME: It is wrong to rewrite CC. - # But if we don't then we get into trouble of one sort or another. - # A longer-term fix would be to have automake use am__CC in this case, - # and then we could set am__CC="\$(top_srcdir)/compile \$(CC)" - CC="$am_aux_dir/compile $CC" -fi -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu - - -depcc="$CC" am_compiler_list= - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5 -$as_echo_n "checking dependency style of $depcc... " >&6; } -if ${am_cv_CC_dependencies_compiler_type+:} false; 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". - rm -rf conftest.dir - 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 10 /bin/sh. - echo '/* dummy */' > 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 - ;; - msvc7 | msvc7msys | 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:${as_lineno-$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 - - - -if test -n "$ac_tool_prefix"; then - for ac_prog in ar lib "link -lib" - do - # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. -set dummy $ac_tool_prefix$ac_prog; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_AR+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$AR"; then - ac_cv_prog_AR="$AR" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_AR="$ac_tool_prefix$ac_prog" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -AR=$ac_cv_prog_AR -if test -n "$AR"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AR" >&5 -$as_echo "$AR" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - - test -n "$AR" && break - done -fi -if test -z "$AR"; then - ac_ct_AR=$AR - for ac_prog in ar lib "link -lib" -do - # Extract the first word of "$ac_prog", so it can be a program name with args. -set dummy $ac_prog; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_AR+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_AR"; then - ac_cv_prog_ac_ct_AR="$ac_ct_AR" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_AR="$ac_prog" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -ac_ct_AR=$ac_cv_prog_ac_ct_AR -if test -n "$ac_ct_AR"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_AR" >&5 -$as_echo "$ac_ct_AR" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - - test -n "$ac_ct_AR" && break -done - - if test "x$ac_ct_AR" = x; then - AR="false" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - AR=$ac_ct_AR - fi -fi - -: ${AR=ar} - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking the archiver ($AR) interface" >&5 -$as_echo_n "checking the archiver ($AR) interface... " >&6; } -if ${am_cv_ar_interface+:} false; then : - $as_echo_n "(cached) " >&6 -else - 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 - - am_cv_ar_interface=ar - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -int some_variable = 0; -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - am_ar_try='$AR cru libconftest.a conftest.$ac_objext >&5' - { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$am_ar_try\""; } >&5 - (eval $am_ar_try) 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } - if test "$ac_status" -eq 0; then - am_cv_ar_interface=ar - else - am_ar_try='$AR -NOLOGO -OUT:conftest.lib conftest.$ac_objext >&5' - { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$am_ar_try\""; } >&5 - (eval $am_ar_try) 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } - if test "$ac_status" -eq 0; then - am_cv_ar_interface=lib - else - am_cv_ar_interface=unknown - fi - fi - rm -f conftest.lib libconftest.a - -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - 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:${as_lineno-$LINENO}: result: $am_cv_ar_interface" >&5 -$as_echo "$am_cv_ar_interface" >&6; } - -case $am_cv_ar_interface in -ar) - ;; -lib) - # Microsoft lib, so override with the ar-lib wrapper script. - # FIXME: It is wrong to rewrite AR. - # But if we don't then we get into trouble of one sort or another. - # A longer-term fix would be to have automake use am__AR in this case, - # and then we could set am__AR="$am_aux_dir/ar-lib \$(AR)" or something - # similar. - AR="$am_aux_dir/ar-lib $AR" - ;; -unknown) - as_fn_error $? "could not determine $AR interface" "$LINENO" 5 - ;; -esac - - -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:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_CC+:} false; 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 as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_CC="${ac_tool_prefix}gcc" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -CC=$ac_cv_prog_CC -if test -n "$CC"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 -$as_echo "$CC" >&6; } -else - { $as_echo "$as_me:${as_lineno-$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:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_CC+:} false; 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 as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_CC="gcc" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -ac_ct_CC=$ac_cv_prog_ac_ct_CC -if test -n "$ac_ct_CC"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 -$as_echo "$ac_ct_CC" >&6; } -else - { $as_echo "$as_me:${as_lineno-$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:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - 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:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_CC+:} false; 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 as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_CC="${ac_tool_prefix}cc" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -CC=$ac_cv_prog_CC -if test -n "$CC"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 -$as_echo "$CC" >&6; } -else - { $as_echo "$as_me:${as_lineno-$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:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_CC+:} false; 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 as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then - ac_prog_rejected=yes - continue - fi - ac_cv_prog_CC="cc" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -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:${as_lineno-$LINENO}: result: $CC" >&5 -$as_echo "$CC" >&6; } -else - { $as_echo "$as_me:${as_lineno-$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:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_CC+:} false; 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 as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_CC="$ac_tool_prefix$ac_prog" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -CC=$ac_cv_prog_CC -if test -n "$CC"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 -$as_echo "$CC" >&6; } -else - { $as_echo "$as_me:${as_lineno-$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:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_CC+:} false; 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 as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_CC="$ac_prog" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -ac_ct_CC=$ac_cv_prog_ac_ct_CC -if test -n "$ac_ct_CC"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 -$as_echo "$ac_ct_CC" >&6; } -else - { $as_echo "$as_me:${as_lineno-$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:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - CC=$ac_ct_CC - fi -fi - -fi - - -test -z "$CC" && { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error $? "no acceptable C compiler found in \$PATH -See \`config.log' for more details" "$LINENO" 5; } - -# Provide some information about the compiler. -$as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5 -set X $ac_compile -ac_compiler=$2 -for ac_option in --version -v -V -qversion; do - { { ac_try="$ac_compiler $ac_option >&5" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_compiler $ac_option >&5") 2>conftest.err - ac_status=$? - if test -s conftest.err; then - sed '10a\ -... rest of stderr output deleted ... - 10q' conftest.err >conftest.er1 - cat conftest.er1 >&5 - fi - rm -f conftest.er1 conftest.err - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } -done - -{ $as_echo "$as_me:${as_lineno-$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 ${ac_cv_c_compiler_gnu+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ -#ifndef __GNUC__ - choke me -#endif - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ac_compiler_gnu=yes -else - 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:${as_lineno-$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:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5 -$as_echo_n "checking whether $CC accepts -g... " >&6; } -if ${ac_cv_prog_cc_g+:} false; 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 confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ac_cv_prog_cc_g=yes -else - CFLAGS="" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - -else - ac_c_werror_flag=$ac_save_c_werror_flag - CFLAGS="-g" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ac_cv_prog_cc_g=yes -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:${as_lineno-$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:${as_lineno-$LINENO}: checking for $CC option to accept ISO C89" >&5 -$as_echo_n "checking for $CC option to accept ISO C89... " >&6; } -if ${ac_cv_prog_cc_c89+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_cv_prog_cc_c89=no -ac_save_CC=$CC -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -#include -struct stat; -/* 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" - if ac_fn_c_try_compile "$LINENO"; then : - ac_cv_prog_cc_c89=$ac_arg -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:${as_lineno-$LINENO}: result: none needed" >&5 -$as_echo "none needed" >&6; } ;; - xno) - { $as_echo "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 -$as_echo "unsupported" >&6; } ;; - *) - CC="$CC $ac_cv_prog_cc_c89" - { $as_echo "$as_me:${as_lineno-$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 : - -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_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:${as_lineno-$LINENO}: checking whether $CC understands -c and -o together" >&5 -$as_echo_n "checking whether $CC understands -c and -o together... " >&6; } -if ${am_cv_prog_cc_c_o+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF - # Make sure it works both with $CC and with simple cc. - # Following AC_PROG_CC_C_O, we do the test twice because some - # compilers refuse to overwrite an existing .o file with -o, - # though they will create one. - am_cv_prog_cc_c_o=yes - for am_i in 1 2; do - if { echo "$as_me:$LINENO: $CC -c conftest.$ac_ext -o conftest2.$ac_objext" >&5 - ($CC -c conftest.$ac_ext -o conftest2.$ac_objext) >&5 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } \ - && test -f conftest2.$ac_objext; then - : OK - else - am_cv_prog_cc_c_o=no - break - fi - done - rm -f core conftest* - unset am_i -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_prog_cc_c_o" >&5 -$as_echo "$am_cv_prog_cc_c_o" >&6; } -if test "$am_cv_prog_cc_c_o" != yes; then - # Losing compiler, so override with the script. - # FIXME: It is wrong to rewrite CC. - # But if we don't then we get into trouble of one sort or another. - # A longer-term fix would be to have automake use am__CC in this case, - # and then we could set am__CC="\$(top_srcdir)/compile \$(CC)" - CC="$am_aux_dir/compile $CC" -fi -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu - - -depcc="$CC" am_compiler_list= - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5 -$as_echo_n "checking dependency style of $depcc... " >&6; } -if ${am_cv_CC_dependencies_compiler_type+:} false; 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". - rm -rf conftest.dir - 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 10 /bin/sh. - echo '/* dummy */' > 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 - ;; - msvc7 | msvc7msys | 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:${as_lineno-$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 - - -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:${as_lineno-$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 ${ac_cv_prog_CPP+:} false; 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 confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#ifdef __STDC__ -# include -#else -# include -#endif - Syntax error -_ACEOF -if ac_fn_c_try_cpp "$LINENO"; then : - -else - # Broken: fails on valid input. -continue -fi -rm -f conftest.err conftest.i conftest.$ac_ext - - # OK, works on sane cases. Now check whether nonexistent headers - # can be detected and how. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -_ACEOF -if ac_fn_c_try_cpp "$LINENO"; then : - # Broken: success on invalid input. -continue -else - # Passes both tests. -ac_preproc_ok=: -break -fi -rm -f conftest.err conftest.i conftest.$ac_ext - -done -# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. -rm -f conftest.i 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:${as_lineno-$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 confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#ifdef __STDC__ -# include -#else -# include -#endif - Syntax error -_ACEOF -if ac_fn_c_try_cpp "$LINENO"; then : - -else - # Broken: fails on valid input. -continue -fi -rm -f conftest.err conftest.i conftest.$ac_ext - - # OK, works on sane cases. Now check whether nonexistent headers - # can be detected and how. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -_ACEOF -if ac_fn_c_try_cpp "$LINENO"; then : - # Broken: success on invalid input. -continue -else - # Passes both tests. -ac_preproc_ok=: -break -fi -rm -f conftest.err conftest.i conftest.$ac_ext - -done -# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. -rm -f conftest.i conftest.err conftest.$ac_ext -if $ac_preproc_ok; then : - -else - { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error $? "C preprocessor \"$CPP\" fails sanity check -See \`config.log' for more details" "$LINENO" 5; } -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:${as_lineno-$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 ${ac_cv_path_GREP+:} false; 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" - as_fn_executable_p "$ac_path_GREP" || continue -# Check for GNU ac_path_GREP and select it if it is found. - # Check for GNU $ac_path_GREP -case `"$ac_path_GREP" --version 2>&1` in -*GNU*) - ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_found=:;; -*) - ac_count=0 - $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 - as_fn_arith $ac_count + 1 && ac_count=$as_val - 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_fn_error $? "no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 - fi -else - ac_cv_path_GREP=$GREP -fi - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_GREP" >&5 -$as_echo "$ac_cv_path_GREP" >&6; } - GREP="$ac_cv_path_GREP" - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5 -$as_echo_n "checking for egrep... " >&6; } -if ${ac_cv_path_EGREP+:} false; 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" - as_fn_executable_p "$ac_path_EGREP" || continue -# Check for GNU ac_path_EGREP and select it if it is found. - # Check for GNU $ac_path_EGREP -case `"$ac_path_EGREP" --version 2>&1` in -*GNU*) - ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_found=:;; -*) - ac_count=0 - $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 - as_fn_arith $ac_count + 1 && ac_count=$as_val - 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_fn_error $? "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 - fi -else - ac_cv_path_EGREP=$EGREP -fi - - fi -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_EGREP" >&5 -$as_echo "$ac_cv_path_EGREP" >&6; } - EGREP="$ac_cv_path_EGREP" - - -if test $ac_cv_c_compiler_gnu = yes; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC needs -traditional" >&5 -$as_echo_n "checking whether $CC needs -traditional... " >&6; } -if ${ac_cv_prog_gcc_traditional+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_pattern="Autoconf.*'x'" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* 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 confdefs.h - <<_ACEOF >conftest.$ac_ext -/* 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:${as_lineno-$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 - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a sed that does not truncate output" >&5 -$as_echo_n "checking for a sed that does not truncate output... " >&6; } -if ${ac_cv_path_SED+:} false; then : - $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 - { ac_script=; unset 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" - as_fn_executable_p "$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 - as_fn_arith $ac_count + 1 && ac_count=$as_val - 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_fn_error $? "no acceptable sed could be found in \$PATH" "$LINENO" 5 - fi -else - ac_cv_path_SED=$SED -fi - -fi -{ $as_echo "$as_me:${as_lineno-$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:${as_lineno-$LINENO}: checking for fgrep" >&5 -$as_echo_n "checking for fgrep... " >&6; } -if ${ac_cv_path_FGREP+:} false; 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" - as_fn_executable_p "$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 - as_fn_arith $ac_count + 1 && ac_count=$as_val - 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_fn_error $? "no acceptable fgrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 - fi -else - ac_cv_path_FGREP=$FGREP -fi - - fi -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_FGREP" >&5 -$as_echo "$ac_cv_path_FGREP" >&6; } - FGREP="$ac_cv_path_FGREP" - - -test -z "$GREP" && GREP=grep - - - - - - - - - - - - - - - - - -ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' -ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO -ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO$ECHO - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to print strings" >&5 -$as_echo_n "checking how to print strings... " >&6; } -# Test print first, because it will be a builtin if present. -if test "X`( print -r -- -n ) 2>/dev/null`" = X-n && \ - test "X`print -r -- $ECHO 2>/dev/null`" = "X$ECHO"; then - ECHO='print -r --' -elif test "X`printf %s $ECHO 2>/dev/null`" = "X$ECHO"; then - ECHO='printf %s\n' -else - # Use this function as a fallback that always works. - func_fallback_echo () - { - eval 'cat <<_LTECHO_EOF -$1 -_LTECHO_EOF' - } - ECHO='func_fallback_echo' -fi - -# func_echo_all arg... -# Invoke $ECHO with all args, space-separated. -func_echo_all () -{ - $ECHO "" -} - -case $ECHO in - printf*) { $as_echo "$as_me:${as_lineno-$LINENO}: result: printf" >&5 -$as_echo "printf" >&6; } ;; - print*) { $as_echo "$as_me:${as_lineno-$LINENO}: result: print -r" >&5 -$as_echo "print -r" >&6; } ;; - *) { $as_echo "$as_me:${as_lineno-$LINENO}: result: cat" >&5 -$as_echo "cat" >&6; } ;; -esac - - - - - - - - - - - - - - - - -# Check whether --with-gnu-ld was given. -if test "${with_gnu_ld+set}" = set; then : - withval=$with_gnu_ld; test no = "$withval" || with_gnu_ld=yes -else - with_gnu_ld=no -fi - -ac_prog=ld -if test yes = "$GCC"; then - # Check if gcc -print-prog-name=ld gives a path. - { $as_echo "$as_me:${as_lineno-$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 yes = "$with_gnu_ld"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU ld" >&5 -$as_echo_n "checking for GNU ld... " >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for non-GNU ld" >&5 -$as_echo_n "checking for non-GNU ld... " >&6; } -fi -if ${lt_cv_path_LD+:} false; 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:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi -test -z "$LD" && as_fn_error $? "no acceptable ld found in \$PATH" "$LINENO" 5 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if the linker ($LD) is GNU ld" >&5 -$as_echo_n "checking if the linker ($LD) is GNU ld... " >&6; } -if ${lt_cv_prog_gnu_ld+:} false; 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:${as_lineno-$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 eval \${ac_cv_prog_make_${ac_make}_set+:} false; 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:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } - SET_MAKE= -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } - SET_MAKE="MAKE=${MAKE-make}" -fi - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a sed that does not truncate output" >&5 -$as_echo_n "checking for a sed that does not truncate output... " >&6; } -if ${ac_cv_path_SED+:} false; then : - $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 - { ac_script=; unset 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" - as_fn_executable_p "$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 - as_fn_arith $ac_count + 1 && ac_count=$as_val - 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_fn_error $? "no acceptable sed could be found in \$PATH" "$LINENO" 5 - fi -else - ac_cv_path_SED=$SED -fi - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_SED" >&5 -$as_echo "$ac_cv_path_SED" >&6; } - SED="$ac_cv_path_SED" - rm -f conftest.sed - - - -# 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=no -fi - - - - - - - - - -# 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 - - - - - - - - - -case `pwd` in - *\ * | *\ *) - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Libtool does not cope well with whitespace in \`pwd\`" >&5 -$as_echo "$as_me: WARNING: Libtool does not cope well with whitespace in \`pwd\`" >&2;} ;; -esac - - - -macro_version='2.4.6' -macro_revision='2.4.6' - - - - - - - - - - - - - -ltmain=$ac_aux_dir/ltmain.sh - -# Backslashify metacharacters that are still active within -# double-quoted strings. -sed_quote_subst='s/\(["`$\\]\)/\\\1/g' - -# Same as above, but do not quote variable references. -double_quote_subst='s/\(["`\\]\)/\\\1/g' - -# Sed substitution to delay expansion of an escaped shell variable in a -# double_quote_subst'ed string. -delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g' - -# Sed substitution to delay expansion of an escaped single quote. -delay_single_quote_subst='s/'\''/'\'\\\\\\\'\''/g' - -# Sed substitution to avoid accidental globbing in evaled expressions -no_glob_subst='s/\*/\\\*/g' - -{ $as_echo "$as_me:${as_lineno-$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 ${lt_cv_path_NM+:} false; 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 - # MSYS converts /dev/null to NUL, MinGW nm treats NUL as empty - case $build_os in - mingw*) lt_bad_file=conftest.nm/nofile ;; - *) lt_bad_file=/dev/null ;; - esac - case `"$tmp_nm" -B $lt_bad_file 2>&1 | sed '1q'` in - *$lt_bad_file* | *'Invalid file or object type'*) - lt_cv_path_NM="$tmp_nm -B" - break 2 - ;; - *) - case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in - */dev/null*) - lt_cv_path_NM="$tmp_nm -p" - break 2 - ;; - *) - 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:${as_lineno-$LINENO}: result: $lt_cv_path_NM" >&5 -$as_echo "$lt_cv_path_NM" >&6; } -if test no != "$lt_cv_path_NM"; then - NM=$lt_cv_path_NM -else - # Didn't find any BSD compatible name lister, look for dumpbin. - if test -n "$DUMPBIN"; then : - # Let the user override the test. - else - if test -n "$ac_tool_prefix"; then - for ac_prog in dumpbin "link -dump" - do - # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. -set dummy $ac_tool_prefix$ac_prog; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_DUMPBIN+:} false; 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 as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_DUMPBIN="$ac_tool_prefix$ac_prog" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -DUMPBIN=$ac_cv_prog_DUMPBIN -if test -n "$DUMPBIN"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DUMPBIN" >&5 -$as_echo "$DUMPBIN" >&6; } -else - { $as_echo "$as_me:${as_lineno-$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 "link -dump" -do - # Extract the first word of "$ac_prog", so it can be a program name with args. -set dummy $ac_prog; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_DUMPBIN+:} false; 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 as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_DUMPBIN="$ac_prog" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -ac_ct_DUMPBIN=$ac_cv_prog_ac_ct_DUMPBIN -if test -n "$ac_ct_DUMPBIN"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DUMPBIN" >&5 -$as_echo "$ac_ct_DUMPBIN" >&6; } -else - { $as_echo "$as_me:${as_lineno-$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:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - DUMPBIN=$ac_ct_DUMPBIN - fi -fi - - case `$DUMPBIN -symbols -headers /dev/null 2>&1 | sed '1q'` in - *COFF*) - DUMPBIN="$DUMPBIN -symbols -headers" - ;; - *) - DUMPBIN=: - ;; - esac - fi - - if test : != "$DUMPBIN"; then - NM=$DUMPBIN - fi -fi -test -z "$NM" && NM=nm - - - - - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking the name lister ($NM) interface" >&5 -$as_echo_n "checking the name lister ($NM) interface... " >&6; } -if ${lt_cv_nm_interface+:} false; 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:$LINENO: $ac_compile\"" >&5) - (eval "$ac_compile" 2>conftest.err) - cat conftest.err >&5 - (eval echo "\"\$as_me:$LINENO: $NM \\\"conftest.$ac_objext\\\"\"" >&5) - (eval "$NM \"conftest.$ac_objext\"" 2>conftest.err > conftest.out) - cat conftest.err >&5 - (eval echo "\"\$as_me:$LINENO: 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:${as_lineno-$LINENO}: result: $lt_cv_nm_interface" >&5 -$as_echo "$lt_cv_nm_interface" >&6; } - -{ $as_echo "$as_me:${as_lineno-$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:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } -else - { $as_echo "$as_me:${as_lineno-$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:${as_lineno-$LINENO}: checking the maximum length of command line arguments" >&5 -$as_echo_n "checking the maximum length of command line arguments... " >&6; } -if ${lt_cv_sys_max_cmd_len+:} false; 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; - ;; - - mint*) - # On MiNT this can take a long time and run out of memory. - 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; - ;; - - bitrig* | darwin* | dragonfly* | freebsd* | netbsd* | openbsd*) - # 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 - ;; - - os2*) - # The test takes a long time on OS/2. - lt_cv_sys_max_cmd_len=8192 - ;; - - 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" && \ - test undefined != "$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`env echo "$teststring$teststring" 2>/dev/null` \ - = "X$teststring$teststring"; } >/dev/null 2>&1 && - test 17 != "$i" # 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:${as_lineno-$LINENO}: result: $lt_cv_sys_max_cmd_len" >&5 -$as_echo "$lt_cv_sys_max_cmd_len" >&6; } -else - { $as_echo "$as_me:${as_lineno-$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"} - -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:${as_lineno-$LINENO}: checking how to convert $build file names to $host format" >&5 -$as_echo_n "checking how to convert $build file names to $host format... " >&6; } -if ${lt_cv_to_host_file_cmd+:} false; then : - $as_echo_n "(cached) " >&6 -else - case $host in - *-*-mingw* ) - case $build in - *-*-mingw* ) # actually msys - lt_cv_to_host_file_cmd=func_convert_file_msys_to_w32 - ;; - *-*-cygwin* ) - lt_cv_to_host_file_cmd=func_convert_file_cygwin_to_w32 - ;; - * ) # otherwise, assume *nix - lt_cv_to_host_file_cmd=func_convert_file_nix_to_w32 - ;; - esac - ;; - *-*-cygwin* ) - case $build in - *-*-mingw* ) # actually msys - lt_cv_to_host_file_cmd=func_convert_file_msys_to_cygwin - ;; - *-*-cygwin* ) - lt_cv_to_host_file_cmd=func_convert_file_noop - ;; - * ) # otherwise, assume *nix - lt_cv_to_host_file_cmd=func_convert_file_nix_to_cygwin - ;; - esac - ;; - * ) # unhandled hosts (and "normal" native builds) - lt_cv_to_host_file_cmd=func_convert_file_noop - ;; -esac - -fi - -to_host_file_cmd=$lt_cv_to_host_file_cmd -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_to_host_file_cmd" >&5 -$as_echo "$lt_cv_to_host_file_cmd" >&6; } - - - - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to convert $build file names to toolchain format" >&5 -$as_echo_n "checking how to convert $build file names to toolchain format... " >&6; } -if ${lt_cv_to_tool_file_cmd+:} false; then : - $as_echo_n "(cached) " >&6 -else - #assume ordinary cross tools, or native build. -lt_cv_to_tool_file_cmd=func_convert_file_noop -case $host in - *-*-mingw* ) - case $build in - *-*-mingw* ) # actually msys - lt_cv_to_tool_file_cmd=func_convert_file_msys_to_w32 - ;; - esac - ;; -esac - -fi - -to_tool_file_cmd=$lt_cv_to_tool_file_cmd -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_to_tool_file_cmd" >&5 -$as_echo "$lt_cv_to_tool_file_cmd" >&6; } - - - - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $LD option to reload object files" >&5 -$as_echo_n "checking for $LD option to reload object files... " >&6; } -if ${lt_cv_ld_reload_flag+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_ld_reload_flag='-r' -fi -{ $as_echo "$as_me:${as_lineno-$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 - cygwin* | mingw* | pw32* | cegcc*) - if test yes != "$GCC"; then - reload_cmds=false - fi - ;; - darwin*) - if test yes = "$GCC"; 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:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_OBJDUMP+:} false; 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 as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_OBJDUMP="${ac_tool_prefix}objdump" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -OBJDUMP=$ac_cv_prog_OBJDUMP -if test -n "$OBJDUMP"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OBJDUMP" >&5 -$as_echo "$OBJDUMP" >&6; } -else - { $as_echo "$as_me:${as_lineno-$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:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_OBJDUMP+:} false; 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 as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_OBJDUMP="objdump" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -ac_ct_OBJDUMP=$ac_cv_prog_ac_ct_OBJDUMP -if test -n "$ac_ct_OBJDUMP"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OBJDUMP" >&5 -$as_echo "$ac_ct_OBJDUMP" >&6; } -else - { $as_echo "$as_me:${as_lineno-$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:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - OBJDUMP=$ac_ct_OBJDUMP - fi -else - OBJDUMP="$ac_cv_prog_OBJDUMP" -fi - -test -z "$OBJDUMP" && OBJDUMP=objdump - - - - - - - - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to recognize dependent libraries" >&5 -$as_echo_n "checking how to recognize dependent libraries... " >&6; } -if ${lt_cv_deplibs_check_method+:} false; 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 -# that 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 - # Keep this pattern in sync with the one in func_win32_libid. - lt_cv_deplibs_check_method='file_magic file format (pei*-i386(.*architecture: i386)?|pe-arm-wince|pe-x86-64)' - 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 - ;; - -haiku*) - 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])(-bit)?( [LM]SB)? 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 glibc/ELF. -linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) - lt_cv_deplibs_check_method=pass_all - ;; - -netbsd* | netbsdelf*-gnu) - if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then - lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$' - else - 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* | bitrig*) - if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; 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 - ;; -os2*) - lt_cv_deplibs_check_method=pass_all - ;; -esac - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_deplibs_check_method" >&5 -$as_echo "$lt_cv_deplibs_check_method" >&6; } - -file_magic_glob= -want_nocaseglob=no -if test "$build" = "$host"; then - case $host_os in - mingw* | pw32*) - if ( shopt | grep nocaseglob ) >/dev/null 2>&1; then - want_nocaseglob=yes - else - file_magic_glob=`echo aAbBcCdDeEfFgGhHiIjJkKlLmMnNoOpPqQrRsStTuUvVwWxXyYzZ | $SED -e "s/\(..\)/s\/[\1]\/[\1]\/g;/g"` - fi - ;; - esac -fi - -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}dlltool", so it can be a program name with args. -set dummy ${ac_tool_prefix}dlltool; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_DLLTOOL+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$DLLTOOL"; then - ac_cv_prog_DLLTOOL="$DLLTOOL" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_DLLTOOL="${ac_tool_prefix}dlltool" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -DLLTOOL=$ac_cv_prog_DLLTOOL -if test -n "$DLLTOOL"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DLLTOOL" >&5 -$as_echo "$DLLTOOL" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - -fi -if test -z "$ac_cv_prog_DLLTOOL"; then - ac_ct_DLLTOOL=$DLLTOOL - # Extract the first word of "dlltool", so it can be a program name with args. -set dummy dlltool; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_DLLTOOL+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_DLLTOOL"; then - ac_cv_prog_ac_ct_DLLTOOL="$ac_ct_DLLTOOL" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_DLLTOOL="dlltool" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -ac_ct_DLLTOOL=$ac_cv_prog_ac_ct_DLLTOOL -if test -n "$ac_ct_DLLTOOL"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DLLTOOL" >&5 -$as_echo "$ac_ct_DLLTOOL" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - if test "x$ac_ct_DLLTOOL" = x; then - DLLTOOL="false" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - DLLTOOL=$ac_ct_DLLTOOL - fi -else - DLLTOOL="$ac_cv_prog_DLLTOOL" -fi - -test -z "$DLLTOOL" && DLLTOOL=dlltool - - - - - - - - - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to associate runtime and link libraries" >&5 -$as_echo_n "checking how to associate runtime and link libraries... " >&6; } -if ${lt_cv_sharedlib_from_linklib_cmd+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_sharedlib_from_linklib_cmd='unknown' - -case $host_os in -cygwin* | mingw* | pw32* | cegcc*) - # two different shell functions defined in ltmain.sh; - # decide which one to use based on capabilities of $DLLTOOL - case `$DLLTOOL --help 2>&1` in - *--identify-strict*) - lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib - ;; - *) - lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib_fallback - ;; - esac - ;; -*) - # fallback: assume linklib IS sharedlib - lt_cv_sharedlib_from_linklib_cmd=$ECHO - ;; -esac - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_sharedlib_from_linklib_cmd" >&5 -$as_echo "$lt_cv_sharedlib_from_linklib_cmd" >&6; } -sharedlib_from_linklib_cmd=$lt_cv_sharedlib_from_linklib_cmd -test -z "$sharedlib_from_linklib_cmd" && sharedlib_from_linklib_cmd=$ECHO - - - - - - - -if test -n "$ac_tool_prefix"; then - for ac_prog in ar - do - # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. -set dummy $ac_tool_prefix$ac_prog; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_AR+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$AR"; then - ac_cv_prog_AR="$AR" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_AR="$ac_tool_prefix$ac_prog" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -AR=$ac_cv_prog_AR -if test -n "$AR"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AR" >&5 -$as_echo "$AR" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - - test -n "$AR" && break - done -fi -if test -z "$AR"; then - ac_ct_AR=$AR - for ac_prog in ar -do - # Extract the first word of "$ac_prog", so it can be a program name with args. -set dummy $ac_prog; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_AR+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_AR"; then - ac_cv_prog_ac_ct_AR="$ac_ct_AR" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_AR="$ac_prog" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -ac_ct_AR=$ac_cv_prog_ac_ct_AR -if test -n "$ac_ct_AR"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_AR" >&5 -$as_echo "$ac_ct_AR" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - - test -n "$ac_ct_AR" && break -done - - if test "x$ac_ct_AR" = x; then - AR="false" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - AR=$ac_ct_AR - fi -fi - -: ${AR=ar} -: ${AR_FLAGS=cru} - - - - - - - - - - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for archiver @FILE support" >&5 -$as_echo_n "checking for archiver @FILE support... " >&6; } -if ${lt_cv_ar_at_file+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_ar_at_file=no - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - echo conftest.$ac_objext > conftest.lst - lt_ar_try='$AR $AR_FLAGS libconftest.a @conftest.lst >&5' - { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$lt_ar_try\""; } >&5 - (eval $lt_ar_try) 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } - if test 0 -eq "$ac_status"; then - # Ensure the archiver fails upon bogus file names. - rm -f conftest.$ac_objext libconftest.a - { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$lt_ar_try\""; } >&5 - (eval $lt_ar_try) 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } - if test 0 -ne "$ac_status"; then - lt_cv_ar_at_file=@ - fi - fi - rm -f conftest.* libconftest.a - -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ar_at_file" >&5 -$as_echo "$lt_cv_ar_at_file" >&6; } - -if test no = "$lt_cv_ar_at_file"; then - archiver_list_spec= -else - archiver_list_spec=$lt_cv_ar_at_file -fi - - - - - - - -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:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_STRIP+:} false; 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 as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_STRIP="${ac_tool_prefix}strip" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -STRIP=$ac_cv_prog_STRIP -if test -n "$STRIP"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $STRIP" >&5 -$as_echo "$STRIP" >&6; } -else - { $as_echo "$as_me:${as_lineno-$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:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_STRIP+:} false; 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 as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_STRIP="strip" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP -if test -n "$ac_ct_STRIP"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_STRIP" >&5 -$as_echo "$ac_ct_STRIP" >&6; } -else - { $as_echo "$as_me:${as_lineno-$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:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - 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:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_RANLIB+:} false; 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 as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -RANLIB=$ac_cv_prog_RANLIB -if test -n "$RANLIB"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $RANLIB" >&5 -$as_echo "$RANLIB" >&6; } -else - { $as_echo "$as_me:${as_lineno-$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:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_RANLIB+:} false; 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 as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_RANLIB="ranlib" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB -if test -n "$ac_ct_RANLIB"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_RANLIB" >&5 -$as_echo "$ac_ct_RANLIB" >&6; } -else - { $as_echo "$as_me:${as_lineno-$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:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - 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 - bitrig* | openbsd*) - old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$tool_oldlib" - ;; - *) - old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$tool_oldlib" - ;; - esac - old_archive_cmds="$old_archive_cmds~\$RANLIB \$tool_oldlib" -fi - -case $host_os in - darwin*) - lock_old_archive_extraction=yes ;; - *) - lock_old_archive_extraction=no ;; -esac - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -# 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:${as_lineno-$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 ${lt_cv_sys_global_symbol_pipe+:} false; 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 ia64 = "$host_cpu"; 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 - -if test "$lt_cv_nm_interface" = "MS dumpbin"; then - # Gets list of data symbols to import. - lt_cv_sys_global_symbol_to_import="sed -n -e 's/^I .* \(.*\)$/\1/p'" - # Adjust the below global symbol transforms to fixup imported variables. - lt_cdecl_hook=" -e 's/^I .* \(.*\)$/extern __declspec(dllimport) char \1;/p'" - lt_c_name_hook=" -e 's/^I .* \(.*\)$/ {\"\1\", (void *) 0},/p'" - lt_c_name_lib_hook="\ - -e 's/^I .* \(lib.*\)$/ {\"\1\", (void *) 0},/p'\ - -e 's/^I .* \(.*\)$/ {\"lib\1\", (void *) 0},/p'" -else - # Disable hooks by default. - lt_cv_sys_global_symbol_to_import= - lt_cdecl_hook= - lt_c_name_hook= - lt_c_name_lib_hook= -fi - -# 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"\ -$lt_cdecl_hook\ -" -e 's/^T .* \(.*\)$/extern int \1();/p'"\ -" -e 's/^$symcode$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"\ -$lt_c_name_hook\ -" -e 's/^: \(.*\) .*$/ {\"\1\", (void *) 0},/p'"\ -" -e 's/^$symcode$symcode* .* \(.*\)$/ {\"\1\", (void *) \&\1},/p'" - -# Transform an extracted symbol line into symbol name with lib prefix and -# symbol address. -lt_cv_sys_global_symbol_to_c_name_address_lib_prefix="sed -n"\ -$lt_c_name_lib_hook\ -" -e 's/^: \(.*\) .*$/ {\"\1\", (void *) 0},/p'"\ -" -e 's/^$symcode$symcode* .* \(lib.*\)$/ {\"\1\", (void *) \&\1},/p'"\ -" -e 's/^$symcode$symcode* .* \(.*\)$/ {\"lib\1\", (void *) \&\1},/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, - # D for any global variable and I for any imported 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};"\ -" /^COFF SYMBOL TABLE/{for(i in hide) delete hide[i]};"\ -" /Section length .*#relocs.*(pick any)/{hide[last_section]=1};"\ -" /^ *Symbol name *: /{split(\$ 0,sn,\":\"); si=substr(sn[2],2)};"\ -" /^ *Type *: code/{print \"T\",si,substr(si,length(prfx))};"\ -" /^ *Type *: data/{print \"I\",si,substr(si,length(prfx))};"\ -" \$ 0!~/External *\|/{next};"\ -" / 0+ UNDEF /{next}; / UNDEF \([^|]\)*()/{next};"\ -" {if(hide[section]) next};"\ -" {f=\"D\"}; \$ 0~/\(\).*\|/{f=\"T\"};"\ -" {split(\$ 0,a,/\||\r/); split(a[2],s)};"\ -" s[1]~/^[@?]/{print f,s[1],s[1]; next};"\ -" s[1]~prfx {split(s[1],t,\"@\"); print f,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 - lt_cv_sys_global_symbol_pipe="$lt_cv_sys_global_symbol_pipe | sed '/ __gnu_lto/d'" - - # 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\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; then - # Now try to grab the symbols. - nlist=conftest.nm - if { { eval echo "\"\$as_me\":${as_lineno-$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:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } && 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 -/* Keep this code in sync between libtool.m4, ltmain, lt_system.h, and tests. */ -#if defined _WIN32 || defined __CYGWIN__ || defined _WIN32_WCE -/* DATA imports from DLLs on WIN32 can't be const, because runtime - relocations are performed -- see ld's documentation on pseudo-relocs. */ -# define LT_DLSYM_CONST -#elif defined __osf__ -/* This system does not cope well with relocations in const data. */ -# define LT_DLSYM_CONST -#else -# define LT_DLSYM_CONST const -#endif - -#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. */ -LT_DLSYM_CONST struct { - const char *name; - void *address; -} -lt__PROGRAM__LTX_preloaded_symbols[] = -{ - { "@PROGRAM@", (void *) 0 }, -_LT_EOF - $SED "s/^$symcode$symcode* .* \(.*\)$/ {\"\1\", (void *) \&\1},/" < "$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_globsym_save_LIBS=$LIBS - lt_globsym_save_CFLAGS=$CFLAGS - LIBS=conftstm.$ac_objext - CFLAGS="$CFLAGS$lt_prog_compiler_no_builtin_flag" - if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5 - (eval $ac_link) 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } && test -s conftest$ac_exeext; then - pipe_works=yes - fi - LIBS=$lt_globsym_save_LIBS - CFLAGS=$lt_globsym_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 yes = "$pipe_works"; 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:${as_lineno-$LINENO}: result: failed" >&5 -$as_echo "failed" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: ok" >&5 -$as_echo "ok" >&6; } -fi - -# Response file support. -if test "$lt_cv_nm_interface" = "MS dumpbin"; then - nm_file_list_spec='@' -elif $NM --help 2>/dev/null | grep '[@]FILE' >/dev/null; then - nm_file_list_spec='@' -fi - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for sysroot" >&5 -$as_echo_n "checking for sysroot... " >&6; } - -# Check whether --with-sysroot was given. -if test "${with_sysroot+set}" = set; then : - withval=$with_sysroot; -else - with_sysroot=no -fi - - -lt_sysroot= -case $with_sysroot in #( - yes) - if test yes = "$GCC"; then - lt_sysroot=`$CC --print-sysroot 2>/dev/null` - fi - ;; #( - /*) - lt_sysroot=`echo "$with_sysroot" | sed -e "$sed_quote_subst"` - ;; #( - no|'') - ;; #( - *) - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $with_sysroot" >&5 -$as_echo "$with_sysroot" >&6; } - as_fn_error $? "The sysroot must be an absolute path." "$LINENO" 5 - ;; -esac - - { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${lt_sysroot:-no}" >&5 -$as_echo "${lt_sysroot:-no}" >&6; } - - - - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a working dd" >&5 -$as_echo_n "checking for a working dd... " >&6; } -if ${ac_cv_path_lt_DD+:} false; then : - $as_echo_n "(cached) " >&6 -else - printf 0123456789abcdef0123456789abcdef >conftest.i -cat conftest.i conftest.i >conftest2.i -: ${lt_DD:=$DD} -if test -z "$lt_DD"; then - ac_path_lt_DD_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 dd; do - for ac_exec_ext in '' $ac_executable_extensions; do - ac_path_lt_DD="$as_dir/$ac_prog$ac_exec_ext" - as_fn_executable_p "$ac_path_lt_DD" || continue -if "$ac_path_lt_DD" bs=32 count=1 conftest.out 2>/dev/null; then - cmp -s conftest.i conftest.out \ - && ac_cv_path_lt_DD="$ac_path_lt_DD" ac_path_lt_DD_found=: -fi - $ac_path_lt_DD_found && break 3 - done - done - done -IFS=$as_save_IFS - if test -z "$ac_cv_path_lt_DD"; then - : - fi -else - ac_cv_path_lt_DD=$lt_DD -fi - -rm -f conftest.i conftest2.i conftest.out -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_lt_DD" >&5 -$as_echo "$ac_cv_path_lt_DD" >&6; } - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to truncate binary pipes" >&5 -$as_echo_n "checking how to truncate binary pipes... " >&6; } -if ${lt_cv_truncate_bin+:} false; then : - $as_echo_n "(cached) " >&6 -else - printf 0123456789abcdef0123456789abcdef >conftest.i -cat conftest.i conftest.i >conftest2.i -lt_cv_truncate_bin= -if "$ac_cv_path_lt_DD" bs=32 count=1 conftest.out 2>/dev/null; then - cmp -s conftest.i conftest.out \ - && lt_cv_truncate_bin="$ac_cv_path_lt_DD bs=4096 count=1" -fi -rm -f conftest.i conftest2.i conftest.out -test -z "$lt_cv_truncate_bin" && lt_cv_truncate_bin="$SED -e 4q" -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_truncate_bin" >&5 -$as_echo "$lt_cv_truncate_bin" >&6; } - - - - - - - -# Calculate cc_basename. Skip known compiler wrappers and cross-prefix. -func_cc_basename () -{ - for cc_temp in $*""; do - case $cc_temp in - compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; - distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; - \-*) ;; - *) break;; - esac - done - func_cc_basename_result=`$ECHO "$cc_temp" | $SED "s%.*/%%; s%^$host_alias-%%"` -} - -# Check whether --enable-libtool-lock was given. -if test "${enable_libtool_lock+set}" = set; then : - enableval=$enable_libtool_lock; -fi - -test no = "$enable_libtool_lock" || 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 what ABI is being produced by ac_compile, and set mode - # options accordingly. - echo 'int i;' > conftest.$ac_ext - if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; 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 what ABI is being produced by ac_compile, and set linker - # options accordingly. - echo '#line '$LINENO' "configure"' > conftest.$ac_ext - if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; then - if test yes = "$lt_cv_prog_gnu_ld"; 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* - ;; - -mips64*-*linux*) - # Find out what ABI is being produced by ac_compile, and set linker - # options accordingly. - echo '#line '$LINENO' "configure"' > conftest.$ac_ext - if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; then - emul=elf - case `/usr/bin/file conftest.$ac_objext` in - *32-bit*) - emul="${emul}32" - ;; - *64-bit*) - emul="${emul}64" - ;; - esac - case `/usr/bin/file conftest.$ac_objext` in - *MSB*) - emul="${emul}btsmip" - ;; - *LSB*) - emul="${emul}ltsmip" - ;; - esac - case `/usr/bin/file conftest.$ac_objext` in - *N32*) - emul="${emul}n32" - ;; - esac - LD="${LD-ld} -m $emul" - fi - rm -rf conftest* - ;; - -x86_64-*kfreebsd*-gnu|x86_64-*linux*|powerpc*-*linux*| \ -s390*-*linux*|s390*-*tpf*|sparc*-*linux*) - # Find out what ABI is being produced by ac_compile, and set linker - # options accordingly. Note that the listed cases only cover the - # situations where additional linker options are needed (such as when - # doing 32-bit compilation for a host where ld defaults to 64-bit, or - # vice versa); the common cases where no linker options are needed do - # not appear in the list. - echo 'int i;' > conftest.$ac_ext - if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; 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*) - case `/usr/bin/file conftest.o` in - *x86-64*) - LD="${LD-ld} -m elf32_x86_64" - ;; - *) - LD="${LD-ld} -m elf_i386" - ;; - esac - ;; - powerpc64le-*linux*) - LD="${LD-ld} -m elf32lppclinux" - ;; - 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" - ;; - powerpcle-*linux*) - LD="${LD-ld} -m elf64lppc" - ;; - 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:${as_lineno-$LINENO}: checking whether the C compiler needs -belf" >&5 -$as_echo_n "checking whether the C compiler needs -belf... " >&6; } -if ${lt_cv_cc_needs_belf+:} false; 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 confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - lt_cv_cc_needs_belf=yes -else - lt_cv_cc_needs_belf=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_cc_needs_belf" >&5 -$as_echo "$lt_cv_cc_needs_belf" >&6; } - if test yes != "$lt_cv_cc_needs_belf"; then - # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf - CFLAGS=$SAVE_CFLAGS - fi - ;; -*-*solaris*) - # Find out what ABI is being produced by ac_compile, and set linker - # options accordingly. - echo 'int i;' > conftest.$ac_ext - if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; then - case `/usr/bin/file conftest.o` in - *64-bit*) - case $lt_cv_prog_gnu_ld in - yes*) - case $host in - i?86-*-solaris*|x86_64-*-solaris*) - LD="${LD-ld} -m elf_x86_64" - ;; - sparc*-*-solaris*) - LD="${LD-ld} -m elf64_sparc" - ;; - esac - # GNU ld 2.21 introduced _sol2 emulations. Use them if available. - if ${LD-ld} -V | grep _sol2 >/dev/null 2>&1; then - LD=${LD-ld}_sol2 - fi - ;; - *) - 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 - -if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}mt", so it can be a program name with args. -set dummy ${ac_tool_prefix}mt; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_MANIFEST_TOOL+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$MANIFEST_TOOL"; then - ac_cv_prog_MANIFEST_TOOL="$MANIFEST_TOOL" # 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 as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_MANIFEST_TOOL="${ac_tool_prefix}mt" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -MANIFEST_TOOL=$ac_cv_prog_MANIFEST_TOOL -if test -n "$MANIFEST_TOOL"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MANIFEST_TOOL" >&5 -$as_echo "$MANIFEST_TOOL" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - -fi -if test -z "$ac_cv_prog_MANIFEST_TOOL"; then - ac_ct_MANIFEST_TOOL=$MANIFEST_TOOL - # Extract the first word of "mt", so it can be a program name with args. -set dummy mt; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_MANIFEST_TOOL+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_MANIFEST_TOOL"; then - ac_cv_prog_ac_ct_MANIFEST_TOOL="$ac_ct_MANIFEST_TOOL" # 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 as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_MANIFEST_TOOL="mt" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -ac_ct_MANIFEST_TOOL=$ac_cv_prog_ac_ct_MANIFEST_TOOL -if test -n "$ac_ct_MANIFEST_TOOL"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_MANIFEST_TOOL" >&5 -$as_echo "$ac_ct_MANIFEST_TOOL" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - if test "x$ac_ct_MANIFEST_TOOL" = x; then - MANIFEST_TOOL=":" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - MANIFEST_TOOL=$ac_ct_MANIFEST_TOOL - fi -else - MANIFEST_TOOL="$ac_cv_prog_MANIFEST_TOOL" -fi - -test -z "$MANIFEST_TOOL" && MANIFEST_TOOL=mt -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if $MANIFEST_TOOL is a manifest tool" >&5 -$as_echo_n "checking if $MANIFEST_TOOL is a manifest tool... " >&6; } -if ${lt_cv_path_mainfest_tool+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_path_mainfest_tool=no - echo "$as_me:$LINENO: $MANIFEST_TOOL '-?'" >&5 - $MANIFEST_TOOL '-?' 2>conftest.err > conftest.out - cat conftest.err >&5 - if $GREP 'Manifest Tool' conftest.out > /dev/null; then - lt_cv_path_mainfest_tool=yes - fi - rm -f conftest* -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_path_mainfest_tool" >&5 -$as_echo "$lt_cv_path_mainfest_tool" >&6; } -if test yes != "$lt_cv_path_mainfest_tool"; then - MANIFEST_TOOL=: -fi - - - - - - - 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:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_DSYMUTIL+:} false; 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 as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_DSYMUTIL="${ac_tool_prefix}dsymutil" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -DSYMUTIL=$ac_cv_prog_DSYMUTIL -if test -n "$DSYMUTIL"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DSYMUTIL" >&5 -$as_echo "$DSYMUTIL" >&6; } -else - { $as_echo "$as_me:${as_lineno-$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:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_DSYMUTIL+:} false; 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 as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_DSYMUTIL="dsymutil" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -ac_ct_DSYMUTIL=$ac_cv_prog_ac_ct_DSYMUTIL -if test -n "$ac_ct_DSYMUTIL"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DSYMUTIL" >&5 -$as_echo "$ac_ct_DSYMUTIL" >&6; } -else - { $as_echo "$as_me:${as_lineno-$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:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - 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:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_NMEDIT+:} false; 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 as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_NMEDIT="${ac_tool_prefix}nmedit" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -NMEDIT=$ac_cv_prog_NMEDIT -if test -n "$NMEDIT"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $NMEDIT" >&5 -$as_echo "$NMEDIT" >&6; } -else - { $as_echo "$as_me:${as_lineno-$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:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_NMEDIT+:} false; 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 as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_NMEDIT="nmedit" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -ac_ct_NMEDIT=$ac_cv_prog_ac_ct_NMEDIT -if test -n "$ac_ct_NMEDIT"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_NMEDIT" >&5 -$as_echo "$ac_ct_NMEDIT" >&6; } -else - { $as_echo "$as_me:${as_lineno-$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:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - 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:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_LIPO+:} false; 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 as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_LIPO="${ac_tool_prefix}lipo" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -LIPO=$ac_cv_prog_LIPO -if test -n "$LIPO"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LIPO" >&5 -$as_echo "$LIPO" >&6; } -else - { $as_echo "$as_me:${as_lineno-$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:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_LIPO+:} false; 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 as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_LIPO="lipo" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -ac_ct_LIPO=$ac_cv_prog_ac_ct_LIPO -if test -n "$ac_ct_LIPO"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_LIPO" >&5 -$as_echo "$ac_ct_LIPO" >&6; } -else - { $as_echo "$as_me:${as_lineno-$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:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - 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:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_OTOOL+:} false; 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 as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_OTOOL="${ac_tool_prefix}otool" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -OTOOL=$ac_cv_prog_OTOOL -if test -n "$OTOOL"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OTOOL" >&5 -$as_echo "$OTOOL" >&6; } -else - { $as_echo "$as_me:${as_lineno-$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:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_OTOOL+:} false; 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 as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_OTOOL="otool" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -ac_ct_OTOOL=$ac_cv_prog_ac_ct_OTOOL -if test -n "$ac_ct_OTOOL"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OTOOL" >&5 -$as_echo "$ac_ct_OTOOL" >&6; } -else - { $as_echo "$as_me:${as_lineno-$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:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - 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:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_OTOOL64+:} false; 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 as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_OTOOL64="${ac_tool_prefix}otool64" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -OTOOL64=$ac_cv_prog_OTOOL64 -if test -n "$OTOOL64"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OTOOL64" >&5 -$as_echo "$OTOOL64" >&6; } -else - { $as_echo "$as_me:${as_lineno-$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:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_OTOOL64+:} false; 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 as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_OTOOL64="otool64" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -ac_ct_OTOOL64=$ac_cv_prog_ac_ct_OTOOL64 -if test -n "$ac_ct_OTOOL64"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OTOOL64" >&5 -$as_echo "$ac_ct_OTOOL64" >&6; } -else - { $as_echo "$as_me:${as_lineno-$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:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - OTOOL64=$ac_ct_OTOOL64 - fi -else - OTOOL64="$ac_cv_prog_OTOOL64" -fi - - - - - - - - - - - - - - - - - - - - - - - - - - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -single_module linker flag" >&5 -$as_echo_n "checking for -single_module linker flag... " >&6; } -if ${lt_cv_apple_cc_single_mod+:} false; 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 there is a non-empty error log, and "single_module" - # appears in it, assume the flag caused a linker warning - if test -s conftest.err && $GREP single_module conftest.err; then - cat conftest.err >&5 - # Otherwise, if the output was created with a 0 exit code from - # the compiler, it worked. - elif test -f libconftest.dylib && test 0 = "$_lt_result"; 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:${as_lineno-$LINENO}: result: $lt_cv_apple_cc_single_mod" >&5 -$as_echo "$lt_cv_apple_cc_single_mod" >&6; } - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -exported_symbols_list linker flag" >&5 -$as_echo_n "checking for -exported_symbols_list linker flag... " >&6; } -if ${lt_cv_ld_exported_symbols_list+:} false; 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 confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - lt_cv_ld_exported_symbols_list=yes -else - lt_cv_ld_exported_symbols_list=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - LDFLAGS=$save_LDFLAGS - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_exported_symbols_list" >&5 -$as_echo "$lt_cv_ld_exported_symbols_list" >&6; } - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -force_load linker flag" >&5 -$as_echo_n "checking for -force_load linker flag... " >&6; } -if ${lt_cv_ld_force_load+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_ld_force_load=no - cat > conftest.c << _LT_EOF -int forced_loaded() { return 2;} -_LT_EOF - echo "$LTCC $LTCFLAGS -c -o conftest.o conftest.c" >&5 - $LTCC $LTCFLAGS -c -o conftest.o conftest.c 2>&5 - echo "$AR cru libconftest.a conftest.o" >&5 - $AR cru libconftest.a conftest.o 2>&5 - echo "$RANLIB libconftest.a" >&5 - $RANLIB libconftest.a 2>&5 - cat > conftest.c << _LT_EOF -int main() { return 0;} -_LT_EOF - echo "$LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a" >&5 - $LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a 2>conftest.err - _lt_result=$? - if test -s conftest.err && $GREP force_load conftest.err; then - cat conftest.err >&5 - elif test -f conftest && test 0 = "$_lt_result" && $GREP forced_load conftest >/dev/null 2>&1; then - lt_cv_ld_force_load=yes - else - cat conftest.err >&5 - fi - rm -f conftest.err libconftest.a conftest conftest.c - rm -rf conftest.dSYM - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_force_load" >&5 -$as_echo "$lt_cv_ld_force_load" >&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 yes = "$lt_cv_apple_cc_single_mod"; then - _lt_dar_single_mod='$single_module' - fi - if test yes = "$lt_cv_ld_exported_symbols_list"; 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" && test no = "$lt_cv_ld_force_load"; then - _lt_dsymutil='~$DSYMUTIL $lib || :' - else - _lt_dsymutil= - fi - ;; - esac - -# func_munge_path_list VARIABLE PATH -# ----------------------------------- -# VARIABLE is name of variable containing _space_ separated list of -# directories to be munged by the contents of PATH, which is string -# having a format: -# "DIR[:DIR]:" -# string "DIR[ DIR]" will be prepended to VARIABLE -# ":DIR[:DIR]" -# string "DIR[ DIR]" will be appended to VARIABLE -# "DIRP[:DIRP]::[DIRA:]DIRA" -# string "DIRP[ DIRP]" will be prepended to VARIABLE and string -# "DIRA[ DIRA]" will be appended to VARIABLE -# "DIR[:DIR]" -# VARIABLE will be replaced by "DIR[ DIR]" -func_munge_path_list () -{ - case x$2 in - x) - ;; - *:) - eval $1=\"`$ECHO $2 | $SED 's/:/ /g'` \$$1\" - ;; - x:*) - eval $1=\"\$$1 `$ECHO $2 | $SED 's/:/ /g'`\" - ;; - *::*) - eval $1=\"\$$1\ `$ECHO $2 | $SED -e 's/.*:://' -e 's/:/ /g'`\" - eval $1=\"`$ECHO $2 | $SED -e 's/::.*//' -e 's/:/ /g'`\ \$$1\" - ;; - *) - eval $1=\"`$ECHO $2 | $SED 's/:/ /g'`\" - ;; - esac -} - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&5 -$as_echo_n "checking for ANSI C header files... " >&6; } -if ${ac_cv_header_stdc+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -#include -#include -#include - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ac_cv_header_stdc=yes -else - 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 confdefs.h - <<_ACEOF >conftest.$ac_ext -/* 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 confdefs.h - <<_ACEOF >conftest.$ac_ext -/* 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 confdefs.h - <<_ACEOF >conftest.$ac_ext -/* 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 -if ac_fn_c_try_run "$LINENO"; then : - -else - ac_cv_header_stdc=no -fi -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext -fi - -fi -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_stdc" >&5 -$as_echo "$ac_cv_header_stdc" >&6; } -if test $ac_cv_header_stdc = yes; then - -$as_echo "#define STDC_HEADERS 1" >>confdefs.h - -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` -ac_fn_c_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default -" -if eval test \"x\$"$as_ac_Header"\" = 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 : - ac_fn_c_check_header_compile "$LINENO" "dlfcn.h" "ac_cv_header_dlfcn_h" "$ac_includes_default -" -if test "x$ac_cv_header_dlfcn_h" = xyes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_DLFCN_H 1 -_ACEOF - -fi - -done - - - - - -# Set options - - - - enable_dlopen=no - - - enable_win32_dll=no - - - - - -# Check whether --with-pic was given. -if test "${with_pic+set}" = set; then : - withval=$with_pic; lt_p=${PACKAGE-default} - case $withval in - yes|no) pic_mode=$withval ;; - *) - pic_mode=default - # Look at the argument we got. We use all the common list separators. - lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR, - for lt_pkg in $withval; do - IFS=$lt_save_ifs - if test "X$lt_pkg" = "X$lt_p"; then - pic_mode=yes - fi - done - IFS=$lt_save_ifs - ;; - esac -else - pic_mode=default -fi - - - - - - - - - # Check whether --enable-fast-install was given. -if test "${enable_fast_install+set}" = set; then : - enableval=$enable_fast_install; p=${PACKAGE-default} - case $enableval in - yes) enable_fast_install=yes ;; - no) enable_fast_install=no ;; - *) - enable_fast_install=no - # Look at the argument we got. We use all the common list separators. - lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR, - for pkg in $enableval; do - IFS=$lt_save_ifs - if test "X$pkg" = "X$p"; then - enable_fast_install=yes - fi - done - IFS=$lt_save_ifs - ;; - esac -else - enable_fast_install=yes -fi - - - - - - - - - shared_archive_member_spec= -case $host,$enable_shared in -power*-*-aix[5-9]*,yes) - { $as_echo "$as_me:${as_lineno-$LINENO}: checking which variant of shared library versioning to provide" >&5 -$as_echo_n "checking which variant of shared library versioning to provide... " >&6; } - -# Check whether --with-aix-soname was given. -if test "${with_aix_soname+set}" = set; then : - withval=$with_aix_soname; case $withval in - aix|svr4|both) - ;; - *) - as_fn_error $? "Unknown argument to --with-aix-soname" "$LINENO" 5 - ;; - esac - lt_cv_with_aix_soname=$with_aix_soname -else - if ${lt_cv_with_aix_soname+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_with_aix_soname=aix -fi - - with_aix_soname=$lt_cv_with_aix_soname -fi - - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $with_aix_soname" >&5 -$as_echo "$with_aix_soname" >&6; } - if test aix != "$with_aix_soname"; then - # For the AIX way of multilib, we name the shared archive member - # based on the bitwidth used, traditionally 'shr.o' or 'shr_64.o', - # and 'shr.imp' or 'shr_64.imp', respectively, for the Import File. - # Even when GNU compilers ignore OBJECT_MODE but need '-maix64' flag, - # the AIX toolchain works better with OBJECT_MODE set (default 32). - if test 64 = "${OBJECT_MODE-32}"; then - shared_archive_member_spec=shr_64 - else - shared_archive_member_spec=shr - fi - fi - ;; -*) - with_aix_soname=aix - ;; -esac - - - - - - - - - - -# 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:${as_lineno-$LINENO}: checking for objdir" >&5 -$as_echo_n "checking for objdir... " >&6; } -if ${lt_cv_objdir+:} false; 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:${as_lineno-$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 set != "${COLLECT_NAMES+set}"; then - COLLECT_NAMES= - export COLLECT_NAMES - fi - ;; -esac - -# 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 - -func_cc_basename $compiler -cc_basename=$func_cc_basename_result - - -# 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:${as_lineno-$LINENO}: checking for ${ac_tool_prefix}file" >&5 -$as_echo_n "checking for ${ac_tool_prefix}file... " >&6; } -if ${lt_cv_path_MAGIC_CMD+:} false; 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:${as_lineno-$LINENO}: result: $MAGIC_CMD" >&5 -$as_echo "$MAGIC_CMD" >&6; } -else - { $as_echo "$as_me:${as_lineno-$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:${as_lineno-$LINENO}: checking for file" >&5 -$as_echo_n "checking for file... " >&6; } -if ${lt_cv_path_MAGIC_CMD+:} false; 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:${as_lineno-$LINENO}: result: $MAGIC_CMD" >&5 -$as_echo "$MAGIC_CMD" >&6; } -else - { $as_echo "$as_me:${as_lineno-$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 yes = "$GCC"; then - case $cc_basename in - nvcc*) - lt_prog_compiler_no_builtin_flag=' -Xcompiler -fno-builtin' ;; - *) - lt_prog_compiler_no_builtin_flag=' -fno-builtin' ;; - esac - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -fno-rtti -fno-exceptions" >&5 -$as_echo_n "checking if $compiler supports -fno-rtti -fno-exceptions... " >&6; } -if ${lt_cv_prog_compiler_rtti_exceptions+:} false; 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" ## exclude from sc_useless_quotes_in_assignment - # 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:$LINENO: $lt_compile\"" >&5) - (eval "$lt_compile" 2>conftest.err) - ac_status=$? - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $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 "$_lt_compiler_boilerplate" | $SED '/^$/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:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_rtti_exceptions" >&5 -$as_echo "$lt_cv_prog_compiler_rtti_exceptions" >&6; } - -if test yes = "$lt_cv_prog_compiler_rtti_exceptions"; 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= - - - if test yes = "$GCC"; then - lt_prog_compiler_wl='-Wl,' - lt_prog_compiler_static='-static' - - case $host_os in - aix*) - # All AIX code is PIC. - if test ia64 = "$host_cpu"; then - # AIX 5 now supports IA64 processor - lt_prog_compiler_static='-Bstatic' - fi - lt_prog_compiler_pic='-fPIC' - ;; - - 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' - case $host_os in - os2*) - lt_prog_compiler_static='$wl-static' - ;; - esac - ;; - - darwin* | rhapsody*) - # PIC is the default on this platform - # Common symbols not allowed in MH_DYLIB files - lt_prog_compiler_pic='-fno-common' - ;; - - haiku*) - # PIC is the default for Haiku. - # The "-static" flag exists, but is broken. - lt_prog_compiler_static= - ;; - - 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 - - case $cc_basename in - nvcc*) # Cuda Compiler Driver 2.2 - lt_prog_compiler_wl='-Xlinker ' - if test -n "$lt_prog_compiler_pic"; then - lt_prog_compiler_pic="-Xcompiler $lt_prog_compiler_pic" - fi - ;; - 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 ia64 = "$host_cpu"; then - # AIX 5 now supports IA64 processor - lt_prog_compiler_static='-Bstatic' - else - lt_prog_compiler_static='-bnso -bI:/lib/syscalls.exp' - fi - ;; - - darwin* | rhapsody*) - # PIC is the default on this platform - # Common symbols not allowed in MH_DYLIB files - lt_prog_compiler_pic='-fno-common' - case $cc_basename in - nagfor*) - # NAG Fortran compiler - lt_prog_compiler_wl='-Wl,-Wl,,' - lt_prog_compiler_pic='-PIC' - lt_prog_compiler_static='-Bstatic' - ;; - esac - ;; - - 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' - case $host_os in - os2*) - lt_prog_compiler_static='$wl-static' - ;; - esac - ;; - - 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 | kopensolaris*-gnu | 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' - ;; - nagfor*) - # NAG Fortran compiler - lt_prog_compiler_wl='-Wl,-Wl,,' - lt_prog_compiler_pic='-PIC' - lt_prog_compiler_static='-Bstatic' - ;; - tcc*) - # Fabrice Bellard et al's Tiny C Compiler - lt_prog_compiler_wl='-Wl,' - lt_prog_compiler_pic='-fPIC' - lt_prog_compiler_static='-static' - ;; - pgcc* | pgf77* | pgf90* | pgf95* | pgfortran*) - # 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* | bgxl* | bgf* | mpixl*) - # IBM XL C 8.0/Fortran 10.1, 11.1 on PPC and BlueGene - lt_prog_compiler_wl='-Wl,' - lt_prog_compiler_pic='-qpic' - lt_prog_compiler_static='-qstaticlink' - ;; - *) - case `$CC -V 2>&1 | sed 5q` in - *Sun\ Ceres\ Fortran* | *Sun*Fortran*\ [1-7].* | *Sun*Fortran*\ 8.[0-3]*) - # 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='' - ;; - *Sun\ F* | *Sun*Fortran*) - lt_prog_compiler_pic='-KPIC' - lt_prog_compiler_static='-Bstatic' - lt_prog_compiler_wl='-Qoption ld ' - ;; - *Sun\ C*) - # Sun C 5.9 - lt_prog_compiler_pic='-KPIC' - lt_prog_compiler_static='-Bstatic' - lt_prog_compiler_wl='-Wl,' - ;; - *Intel*\ [CF]*Compiler*) - lt_prog_compiler_wl='-Wl,' - lt_prog_compiler_pic='-fPIC' - lt_prog_compiler_static='-static' - ;; - *Portland\ Group*) - lt_prog_compiler_wl='-Wl,' - lt_prog_compiler_pic='-fpic' - lt_prog_compiler_static='-Bstatic' - ;; - 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* | sunf77* | sunf90* | sunf95*) - 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 that 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:${as_lineno-$LINENO}: checking for $compiler option to produce PIC" >&5 -$as_echo_n "checking for $compiler option to produce PIC... " >&6; } -if ${lt_cv_prog_compiler_pic+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_prog_compiler_pic=$lt_prog_compiler_pic -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic" >&5 -$as_echo "$lt_cv_prog_compiler_pic" >&6; } -lt_prog_compiler_pic=$lt_cv_prog_compiler_pic - -# -# Check to make sure the PIC flag actually works. -# -if test -n "$lt_prog_compiler_pic"; then - { $as_echo "$as_me:${as_lineno-$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 ${lt_cv_prog_compiler_pic_works+:} false; 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" ## exclude from sc_useless_quotes_in_assignment - # 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:$LINENO: $lt_compile\"" >&5) - (eval "$lt_compile" 2>conftest.err) - ac_status=$? - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $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 "$_lt_compiler_boilerplate" | $SED '/^$/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:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic_works" >&5 -$as_echo "$lt_cv_prog_compiler_pic_works" >&6; } - -if test yes = "$lt_cv_prog_compiler_pic_works"; 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:${as_lineno-$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 ${lt_cv_prog_compiler_static_works+:} false; 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 "$_lt_linker_boilerplate" | $SED '/^$/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:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_static_works" >&5 -$as_echo "$lt_cv_prog_compiler_static_works" >&6; } - -if test yes = "$lt_cv_prog_compiler_static_works"; then - : -else - lt_prog_compiler_static= -fi - - - - - - - - { $as_echo "$as_me:${as_lineno-$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 ${lt_cv_prog_compiler_c_o+:} false; 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:$LINENO: $lt_compile\"" >&5) - (eval "$lt_compile" 2>out/conftest.err) - ac_status=$? - cat out/conftest.err >&5 - echo "$as_me:$LINENO: \$? = $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 "$_lt_compiler_boilerplate" | $SED '/^$/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:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o" >&5 -$as_echo "$lt_cv_prog_compiler_c_o" >&6; } - - - - - - - { $as_echo "$as_me:${as_lineno-$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 ${lt_cv_prog_compiler_c_o+:} false; 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:$LINENO: $lt_compile\"" >&5) - (eval "$lt_compile" 2>out/conftest.err) - ac_status=$? - cat out/conftest.err >&5 - echo "$as_me:$LINENO: \$? = $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 "$_lt_compiler_boilerplate" | $SED '/^$/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:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o" >&5 -$as_echo "$lt_cv_prog_compiler_c_o" >&6; } - - - - -hard_links=nottested -if test no = "$lt_cv_prog_compiler_c_o" && test no != "$need_locks"; then - # do not overwrite the value of need_locks provided by the user - { $as_echo "$as_me:${as_lineno-$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:${as_lineno-$LINENO}: result: $hard_links" >&5 -$as_echo "$hard_links" >&6; } - if test no = "$hard_links"; then - { $as_echo "$as_me:${as_lineno-$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:${as_lineno-$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_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 yes != "$GCC"; then - with_gnu_ld=no - fi - ;; - interix*) - # we just hope/assume this is gcc and not c89 (= MSVC++) - with_gnu_ld=yes - ;; - openbsd* | bitrig*) - with_gnu_ld=no - ;; - linux* | k*bsd*-gnu | gnu*) - link_all_deplibs=no - ;; - esac - - ld_shlibs=yes - - # On some targets, GNU ld is compatible enough with the native linker - # that we're better off using the native interface for both. - lt_use_gnu_ld_interface=no - if test yes = "$with_gnu_ld"; then - case $host_os in - aix*) - # The AIX port of GNU ld has always aspired to compatibility - # with the native linker. However, as the warning in the GNU ld - # block says, versions before 2.19.5* couldn't really create working - # shared libraries, regardless of the interface used. - case `$LD -v 2>&1` in - *\ \(GNU\ Binutils\)\ 2.19.5*) ;; - *\ \(GNU\ Binutils\)\ 2.[2-9]*) ;; - *\ \(GNU\ Binutils\)\ [3-9]*) ;; - *) - lt_use_gnu_ld_interface=yes - ;; - esac - ;; - *) - lt_use_gnu_ld_interface=yes - ;; - esac - fi - - if test yes = "$lt_use_gnu_ld_interface"; 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 | $SED -e 's/(^)\+)\s\+//' 2>&1` in - *GNU\ gold*) supports_anon_versioning=yes ;; - *\ [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 ia64 != "$host_cpu"; then - ld_shlibs=no - cat <<_LT_EOF 1>&2 - -*** Warning: the GNU linker, at least up to release 2.19, 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 install binutils -*** 2.20 or above, or modify your PATH so that a non-GNU linker is found. -*** You will then need to restart the configuration process. - -_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' - export_dynamic_flag_spec='$wl--export-all-symbols' - 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/;s/^.*[ ]__nm__\([^ ]*\)[ ][^ ]*/\1 DATA/;/^I[ ]/d;/^[AITW][ ]/s/.* //'\'' | sort | uniq > $export_symbols' - exclude_expsyms='[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname' - - 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, use it as - # is; otherwise, prepend EXPORTS... - archive_expsym_cmds='if test DEF = "`$SED -n -e '\''s/^[ ]*//'\'' -e '\''/^\(;.*\)*$/d'\'' -e '\''s/^\(EXPORTS\|LIBRARY\)\([ ].*\)*$/DEF/p'\'' -e q $export_symbols`" ; 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 - ;; - - haiku*) - archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' - link_all_deplibs=yes - ;; - - os2*) - hardcode_libdir_flag_spec='-L$libdir' - hardcode_minus_L=yes - allow_undefined_flag=unsupported - shrext_cmds=.dll - archive_cmds='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ - $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ - $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ - $ECHO EXPORTS >> $output_objdir/$libname.def~ - emxexp $libobjs | $SED /"_DLL_InitTerm"/d >> $output_objdir/$libname.def~ - $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ - emximp -o $lib $output_objdir/$libname.def' - archive_expsym_cmds='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ - $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ - $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ - $ECHO EXPORTS >> $output_objdir/$libname.def~ - prefix_cmds="$SED"~ - if test EXPORTS = "`$SED 1q $export_symbols`"; then - prefix_cmds="$prefix_cmds -e 1d"; - fi~ - prefix_cmds="$prefix_cmds -e \"s/^\(.*\)$/_\1/g\""~ - cat $export_symbols | $prefix_cmds >> $output_objdir/$libname.def~ - $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ - emximp -o $lib $output_objdir/$libname.def' - old_archive_From_new_cmds='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def' - enable_shared_with_static_runtimes=yes - ;; - - 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 | kopensolaris*-gnu) - tmp_diet=no - if test linux-dietlibc = "$host_os"; 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 no = "$tmp_diet" - then - tmp_addflag=' $pic_flag' - 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; func_echo_all \"$new_convenience\"` $wl--no-whole-archive' - tmp_addflag=' $pic_flag' - ;; - pgf77* | pgf90* | pgf95* | pgfortran*) - # 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; func_echo_all \"$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' ;; - nagfor*) # NAGFOR 5.3 - tmp_sharedflag='-Wl,-shared' ;; - xl[cC]* | bgxl[cC]* | mpixl[cC]*) # IBM XL C 8.0 on PPC (deal with xlf below) - tmp_sharedflag='-qmkshrobj' - tmp_addflag= ;; - nvcc*) # Cuda Compiler Driver 2.2 - whole_archive_flag_spec='$wl--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive' - compiler_needs_object=yes - ;; - 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; func_echo_all \"$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 yes = "$supports_anon_versioning"; 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 - tcc*) - export_dynamic_flag_spec='-rdynamic' - ;; - xlf* | bgf* | bgxlf* | mpixlf*) - # 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='$wl-rpath $wl$libdir' - archive_cmds='$LD -shared $libobjs $deplibs $linker_flags -soname $soname -o $lib' - if test yes = "$supports_anon_versioning"; 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 $linker_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib' - fi - ;; - esac - else - ld_shlibs=no - fi - ;; - - netbsd* | netbsdelf*-gnu) - 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 $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' - archive_expsym_cmds='$CC -shared $pic_flag $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 $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' - archive_expsym_cmds='$CC -shared $pic_flag $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 cannot -*** 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 $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' - archive_expsym_cmds='$CC -shared $pic_flag $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 no = "$ld_shlibs"; 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 yes = "$GCC" && 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 ia64 = "$host_cpu"; 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 GNU nm, but means don't demangle to AIX nm. - # Without the "-l" option, or with the "-B" option, AIX nm treats - # weak defined symbols like other global defined symbols, whereas - # GNU nm marks them as "W". - # While the 'weak' keyword is ignored in the Export File, we need - # it in the Import File for the 'aix-soname' feature, so we have - # to replace the "-B" option with "-P" for AIX 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") || (\$ 2 == "W")) && (substr(\$ 3,1,1) != ".")) { if (\$ 2 == "W") { print \$ 3 " weak" } else { print \$ 3 } } }'\'' | sort -u > $export_symbols' - else - export_symbols_cmds='`func_echo_all $NM | $SED -e '\''s/B\([^B]*\)$/P\1/'\''` -PCpgl $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) && (substr(\$ 1,1,1) != ".")) { if ((\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) { print \$ 1 " weak" } else { print \$ 1 } } }'\'' | 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 - # have runtime linking enabled, and use it for executables. - # For shared libraries, we enable/disable runtime linking - # depending on the kind of the shared library created - - # when "with_aix_soname,aix_use_runtimelinking" is: - # "aix,no" lib.a(lib.so.V) shared, rtl:no, for executables - # "aix,yes" lib.so shared, rtl:yes, for executables - # lib.a static archive - # "both,no" lib.so.V(shr.o) shared, rtl:yes - # lib.a(lib.so.V) shared, rtl:no, for executables - # "both,yes" lib.so.V(shr.o) shared, rtl:yes, for executables - # lib.a(lib.so.V) shared, rtl:no - # "svr4,*" lib.so.V(shr.o) shared, rtl:yes, for executables - # lib.a static archive - case $host_os in aix4.[23]|aix4.[23].*|aix[5-9]*) - for ld_flag in $LDFLAGS; do - if (test x-brtl = "x$ld_flag" || test x-Wl,-brtl = "x$ld_flag"); then - aix_use_runtimelinking=yes - break - fi - done - if test svr4,no = "$with_aix_soname,$aix_use_runtimelinking"; then - # With aix-soname=svr4, we create the lib.so.V shared archives only, - # so we don't have lib.a shared libs to link our executables. - # We have to force runtime linking in this case. - aix_use_runtimelinking=yes - LDFLAGS="$LDFLAGS -Wl,-brtl" - fi - ;; - 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,' - case $with_aix_soname,$aix_use_runtimelinking in - aix,*) ;; # traditional, no import file - svr4,* | *,yes) # use import file - # The Import File defines what to hardcode. - hardcode_direct=no - hardcode_direct_absolute=no - ;; - esac - - if test yes = "$GCC"; 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 yes = "$aix_use_runtimelinking"; then - shared_flag="$shared_flag "'$wl-G' - fi - # Need to ensure runtime linking is disabled for the traditional - # shared library, or the linker may eventually find shared libraries - # /with/ Import File - we do not want to mix them. - shared_flag_aix='-shared' - shared_flag_svr4='-shared $wl-G' - else - # not using gcc - if test ia64 = "$host_cpu"; 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 yes = "$aix_use_runtimelinking"; then - shared_flag='$wl-G' - else - shared_flag='$wl-bM:SRE' - fi - shared_flag_aix='$wl-bM:SRE' - shared_flag_svr4='$wl-G' - 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,yes = "$with_aix_soname,$aix_use_runtimelinking"; 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. - if test set = "${lt_cv_aix_libpath+set}"; then - aix_libpath=$lt_cv_aix_libpath -else - if ${lt_cv_aix_libpath_+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - - lt_aix_libpath_sed=' - /Import File Strings/,/^$/ { - /^0/ { - s/^0 *\([^ ]*\) *$/\1/ - p - } - }' - lt_cv_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 "$lt_cv_aix_libpath_"; then - lt_cv_aix_libpath_=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` - fi -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - if test -z "$lt_cv_aix_libpath_"; then - lt_cv_aix_libpath_=/usr/lib:/lib - fi - -fi - - aix_libpath=$lt_cv_aix_libpath_ -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 -n "$allow_undefined_flag"; then func_echo_all "$wl$allow_undefined_flag"; else :; fi` $wl'$exp_sym_flag:\$export_symbols' '$shared_flag - else - if test ia64 = "$host_cpu"; 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. - if test set = "${lt_cv_aix_libpath+set}"; then - aix_libpath=$lt_cv_aix_libpath -else - if ${lt_cv_aix_libpath_+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - - lt_aix_libpath_sed=' - /Import File Strings/,/^$/ { - /^0/ { - s/^0 *\([^ ]*\) *$/\1/ - p - } - }' - lt_cv_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 "$lt_cv_aix_libpath_"; then - lt_cv_aix_libpath_=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` - fi -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - if test -z "$lt_cv_aix_libpath_"; then - lt_cv_aix_libpath_=/usr/lib:/lib - fi - -fi - - aix_libpath=$lt_cv_aix_libpath_ -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' - if test yes = "$with_gnu_ld"; then - # We only use this code for GNU lds that support --whole-archive. - whole_archive_flag_spec='$wl--whole-archive$convenience $wl--no-whole-archive' - else - # Exported symbols can be pulled into shared objects from archives - whole_archive_flag_spec='$convenience' - fi - archive_cmds_need_lc=yes - archive_expsym_cmds='$RM -r $output_objdir/$realname.d~$MKDIR $output_objdir/$realname.d' - # -brtl affects multiple linker settings, -berok does not and is overridden later - compiler_flags_filtered='`func_echo_all "$compiler_flags " | $SED -e "s%-brtl\\([, ]\\)%-berok\\1%g"`' - if test svr4 != "$with_aix_soname"; then - # This is similar to how AIX traditionally builds its shared libraries. - archive_expsym_cmds="$archive_expsym_cmds"'~$CC '$shared_flag_aix' -o $output_objdir/$realname.d/$soname $libobjs $deplibs $wl-bnoentry '$compiler_flags_filtered'$wl-bE:$export_symbols$allow_undefined_flag~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$realname.d/$soname' - fi - if test aix != "$with_aix_soname"; then - archive_expsym_cmds="$archive_expsym_cmds"'~$CC '$shared_flag_svr4' -o $output_objdir/$realname.d/$shared_archive_member_spec.o $libobjs $deplibs $wl-bnoentry '$compiler_flags_filtered'$wl-bE:$export_symbols$allow_undefined_flag~$STRIP -e $output_objdir/$realname.d/$shared_archive_member_spec.o~( func_echo_all "#! $soname($shared_archive_member_spec.o)"; if test shr_64 = "$shared_archive_member_spec"; then func_echo_all "# 64"; else func_echo_all "# 32"; fi; cat $export_symbols ) > $output_objdir/$realname.d/$shared_archive_member_spec.imp~$AR $AR_FLAGS $output_objdir/$soname $output_objdir/$realname.d/$shared_archive_member_spec.o $output_objdir/$realname.d/$shared_archive_member_spec.imp' - else - # used by -dlpreopen to get the symbols - archive_expsym_cmds="$archive_expsym_cmds"'~$MV $output_objdir/$realname.d/$soname $output_objdir' - fi - archive_expsym_cmds="$archive_expsym_cmds"'~$RM -r $output_objdir/$realname.d' - 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. - case $cc_basename in - cl*) - # Native MSVC - hardcode_libdir_flag_spec=' ' - allow_undefined_flag=unsupported - always_export_symbols=yes - file_list_spec='@' - # 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 $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~linknames=' - archive_expsym_cmds='if test DEF = "`$SED -n -e '\''s/^[ ]*//'\'' -e '\''/^\(;.*\)*$/d'\'' -e '\''s/^\(EXPORTS\|LIBRARY\)\([ ].*\)*$/DEF/p'\'' -e q $export_symbols`" ; then - cp "$export_symbols" "$output_objdir/$soname.def"; - echo "$tool_output_objdir$soname.def" > "$output_objdir/$soname.exp"; - else - $SED -e '\''s/^/-link -EXPORT:/'\'' < $export_symbols > $output_objdir/$soname.exp; - fi~ - $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~ - linknames=' - # The linker will not automatically build a static lib if we build a DLL. - # _LT_TAGVAR(old_archive_from_new_cmds, )='true' - enable_shared_with_static_runtimes=yes - exclude_expsyms='_NULL_IMPORT_DESCRIPTOR|_IMPORT_DESCRIPTOR_.*' - export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1,DATA/'\'' | $SED -e '\''/^[AITW][ ]/s/.*[ ]//'\'' | sort | uniq > $export_symbols' - # Don't use ranlib - old_postinstall_cmds='chmod 644 $oldlib' - postlink_cmds='lt_outputfile="@OUTPUT@"~ - lt_tool_outputfile="@TOOL_OUTPUT@"~ - case $lt_outputfile in - *.exe|*.EXE) ;; - *) - lt_outputfile=$lt_outputfile.exe - lt_tool_outputfile=$lt_tool_outputfile.exe - ;; - esac~ - if test : != "$MANIFEST_TOOL" && test -f "$lt_outputfile.manifest"; then - $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1; - $RM "$lt_outputfile.manifest"; - fi' - ;; - *) - # Assume MSVC wrapper - 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 `func_echo_all "$deplibs" | $SED '\''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' - enable_shared_with_static_runtimes=yes - ;; - esac - ;; - - darwin* | rhapsody*) - - - archive_cmds_need_lc=no - hardcode_direct=no - hardcode_automatic=yes - hardcode_shlibpath_var=unsupported - if test yes = "$lt_cv_ld_force_load"; then - whole_archive_flag_spec='`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience $wl-force_load,$conv\"; done; func_echo_all \"$new_convenience\"`' - - else - whole_archive_flag_spec='' - fi - link_all_deplibs=yes - allow_undefined_flag=$_lt_dar_allow_undefined - case $cc_basename in - ifort*|nagfor*) _lt_dar_can_shared=yes ;; - *) _lt_dar_can_shared=$GCC ;; - esac - if test yes = "$_lt_dar_can_shared"; then - output_verbose_link_cmd=func_echo_all - 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 - ;; - - # 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 $pic_flag -o $lib $libobjs $deplibs $compiler_flags' - hardcode_libdir_flag_spec='-R$libdir' - hardcode_direct=yes - hardcode_shlibpath_var=no - ;; - - hpux9*) - if test yes = "$GCC"; then - archive_cmds='$RM $output_objdir/$soname~$CC -shared $pic_flag $wl+b $wl$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test "x$output_objdir/$soname" = "x$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 "x$output_objdir/$soname" = "x$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 yes,no = "$GCC,$with_gnu_ld"; then - archive_cmds='$CC -shared $pic_flag $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 no = "$with_gnu_ld"; then - hardcode_libdir_flag_spec='$wl+b $wl$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 yes,no = "$GCC,$with_gnu_ld"; 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 $pic_flag $wl+h $wl$soname $wl+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' - ;; - *) - archive_cmds='$CC -shared $pic_flag $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' - ;; - *) - - # Older versions of the 11.00 compiler do not understand -b yet - # (HP92453-01 A.11.01.20 doesn't, HP92453-01 B.11.X.35175-35176.GP does) - { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $CC understands -b" >&5 -$as_echo_n "checking if $CC understands -b... " >&6; } -if ${lt_cv_prog_compiler__b+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_prog_compiler__b=no - save_LDFLAGS=$LDFLAGS - LDFLAGS="$LDFLAGS -b" - 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 "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp - $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 - if diff conftest.exp conftest.er2 >/dev/null; then - lt_cv_prog_compiler__b=yes - fi - else - lt_cv_prog_compiler__b=yes - fi - fi - $RM -r conftest* - LDFLAGS=$save_LDFLAGS - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler__b" >&5 -$as_echo "$lt_cv_prog_compiler__b" >&6; } - -if test yes = "$lt_cv_prog_compiler__b"; then - archive_cmds='$CC -b $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 - - ;; - esac - fi - if test no = "$with_gnu_ld"; 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 yes = "$GCC"; then - archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -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. - # This should be the same for all languages, so no per-tag cache variable. - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $host_os linker accepts -exported_symbol" >&5 -$as_echo_n "checking whether the $host_os linker accepts -exported_symbol... " >&6; } -if ${lt_cv_irix_exported_symbol+:} false; then : - $as_echo_n "(cached) " >&6 -else - save_LDFLAGS=$LDFLAGS - LDFLAGS="$LDFLAGS -shared $wl-exported_symbol ${wl}foo $wl-update_registry $wl/dev/null" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -int foo (void) { return 0; } -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - lt_cv_irix_exported_symbol=yes -else - lt_cv_irix_exported_symbol=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - LDFLAGS=$save_LDFLAGS -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_irix_exported_symbol" >&5 -$as_echo "$lt_cv_irix_exported_symbol" >&6; } - if test yes = "$lt_cv_irix_exported_symbol"; then - archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations $wl-exports_file $wl$export_symbols -o $lib' - fi - link_all_deplibs=no - else - archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib' - archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -exports_file $export_symbols -o $lib' - fi - archive_cmds_need_lc='no' - hardcode_libdir_flag_spec='$wl-rpath $wl$libdir' - hardcode_libdir_separator=: - inherit_rpath=yes - link_all_deplibs=yes - ;; - - linux*) - case $cc_basename in - tcc*) - # Fabrice Bellard et al's Tiny C Compiler - ld_shlibs=yes - archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' - ;; - esac - ;; - - netbsd* | netbsdelf*-gnu) - if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then - archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out - else - 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* | bitrig*) - 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__`"; 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 - archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' - hardcode_libdir_flag_spec='$wl-rpath,$libdir' - fi - else - ld_shlibs=no - fi - ;; - - os2*) - hardcode_libdir_flag_spec='-L$libdir' - hardcode_minus_L=yes - allow_undefined_flag=unsupported - shrext_cmds=.dll - archive_cmds='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ - $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ - $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ - $ECHO EXPORTS >> $output_objdir/$libname.def~ - emxexp $libobjs | $SED /"_DLL_InitTerm"/d >> $output_objdir/$libname.def~ - $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ - emximp -o $lib $output_objdir/$libname.def' - archive_expsym_cmds='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ - $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ - $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ - $ECHO EXPORTS >> $output_objdir/$libname.def~ - prefix_cmds="$SED"~ - if test EXPORTS = "`$SED 1q $export_symbols`"; then - prefix_cmds="$prefix_cmds -e 1d"; - fi~ - prefix_cmds="$prefix_cmds -e \"s/^\(.*\)$/_\1/g\""~ - cat $export_symbols | $prefix_cmds >> $output_objdir/$libname.def~ - $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ - emximp -o $lib $output_objdir/$libname.def' - old_archive_From_new_cmds='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def' - enable_shared_with_static_runtimes=yes - ;; - - osf3*) - if test yes = "$GCC"; 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" && func_echo_all "$wl-set_version $wl$verstring"` $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" && func_echo_all "-set_version $verstring"` -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 yes = "$GCC"; then - allow_undefined_flag=' $wl-expect_unresolved $wl\*' - archive_cmds='$CC -shared$allow_undefined_flag $pic_flag $libobjs $deplibs $compiler_flags $wl-msym $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib' - hardcode_libdir_flag_spec='$wl-rpath $wl$libdir' - else - allow_undefined_flag=' -expect_unresolved \*' - archive_cmds='$CC -shared$allow_undefined_flag $libobjs $deplibs $compiler_flags -msym -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib' - archive_expsym_cmds='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; 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 "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib~$RM $lib.exp' - - # Both c and cxx compiler support -rpath directly - hardcode_libdir_flag_spec='-rpath $libdir' - fi - archive_cmds_need_lc='no' - hardcode_libdir_separator=: - ;; - - solaris*) - no_undefined_flag=' -z defs' - if test yes = "$GCC"; then - wlarc='$wl' - archive_cmds='$CC -shared $pic_flag $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 $pic_flag $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 yes = "$GCC"; 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 sequent = "$host_vendor"; 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 yes = "$GCC"; 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 CANNOT 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 yes = "$GCC"; 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 sni = "$host_vendor"; then - case $host in - sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*) - export_dynamic_flag_spec='$wl-Blargedynsym' - ;; - esac - fi - fi - -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ld_shlibs" >&5 -$as_echo "$ld_shlibs" >&6; } -test no = "$ld_shlibs" && 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 yes,yes = "$GCC,$enable_shared"; 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:${as_lineno-$LINENO}: checking whether -lc should be explicitly linked in" >&5 -$as_echo_n "checking whether -lc should be explicitly linked in... " >&6; } -if ${lt_cv_archive_cmds_need_lc+:} false; then : - $as_echo_n "(cached) " >&6 -else - $RM conftest* - echo "$lt_simple_compile_test_code" > conftest.$ac_ext - - if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } 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\":${as_lineno-$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:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } - then - lt_cv_archive_cmds_need_lc=no - else - lt_cv_archive_cmds_need_lc=yes - fi - allow_undefined_flag=$lt_save_allow_undefined_flag - else - cat conftest.err 1>&5 - fi - $RM conftest* - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_archive_cmds_need_lc" >&5 -$as_echo "$lt_cv_archive_cmds_need_lc" >&6; } - archive_cmds_need_lc=$lt_cv_archive_cmds_need_lc - ;; - esac - fi - ;; -esac - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking dynamic linker characteristics" >&5 -$as_echo_n "checking dynamic linker characteristics... " >&6; } - -if test yes = "$GCC"; then - case $host_os in - darwin*) lt_awk_arg='/^libraries:/,/LR/' ;; - *) lt_awk_arg='/^libraries:/' ;; - esac - case $host_os in - mingw* | cegcc*) lt_sed_strip_eq='s|=\([A-Za-z]:\)|\1|g' ;; - *) lt_sed_strip_eq='s|=/|/|g' ;; - esac - lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e $lt_sed_strip_eq` - case $lt_search_path_spec in - *\;*) - # 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 's/;/ /g'` - ;; - *) - lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED "s/$PATH_SEPARATOR/ /g"` - ;; - esac - # 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` - # ...but if some path component already ends with the multilib dir we assume - # that all is fine and trust -print-search-dirs as is (GCC 4.2? or newer). - case "$lt_multi_os_dir; $lt_search_path_spec " in - "/; "* | "/.; "* | "/./; "* | *"$lt_multi_os_dir "* | *"$lt_multi_os_dir/ "*) - lt_multi_os_dir= - ;; - esac - 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" - elif test -n "$lt_multi_os_dir"; then - 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; } -}'` - # AWK program above erroneously prepends '/' to C:/dos/paths - # for these hosts. - case $host_os in - mingw* | cegcc*) lt_search_path_spec=`$ECHO "$lt_search_path_spec" |\ - $SED 's|/\([A-Za-z]:\)|\1|g'` ;; - esac - sys_lib_search_path_spec=`$ECHO "$lt_search_path_spec" | $lt_NL2SP` -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 # correct to gnu/linux during the next big refactor - 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 # correct to gnu/linux during the next big refactor - need_lib_prefix=no - need_version=no - hardcode_into_libs=yes - if test ia64 = "$host_cpu"; 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 - # Using Import Files as archive members, it is possible to support - # filename-based versioning of shared library archives on AIX. While - # this would work for both with and without runtime linking, it will - # prevent static linking of such archives. So we do filename-based - # shared library versioning with .so extension only, which is used - # when both runtime linking and shared linking is enabled. - # Unfortunately, runtime linking may impact performance, so we do - # not want this to be the default eventually. Also, we use the - # versioned .so libs for executables only if there is the -brtl - # linker flag in LDFLAGS as well, or --with-aix-soname=svr4 only. - # To allow for filename-based versioning support, we need to create - # libNAME.so.V as an archive file, containing: - # *) an Import File, referring to the versioned filename of the - # archive as well as the shared archive member, telling the - # bitwidth (32 or 64) of that shared object, and providing the - # list of exported symbols of that shared object, eventually - # decorated with the 'weak' keyword - # *) the shared object with the F_LOADONLY flag set, to really avoid - # it being seen by the linker. - # At run time we better use the real file rather than another symlink, - # but for link time we create the symlink libNAME.so -> libNAME.so.V - - case $with_aix_soname,$aix_use_runtimelinking in - # AIX (on Power*) has no versioning support, so currently we cannot hardcode correct - # soname into executable. Probably we can add versioning support to - # collect2, so additional links can be useful in future. - aix,yes) # traditional libtool - dynamic_linker='AIX unversionable lib.so' - # 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' - ;; - aix,no) # traditional AIX only - dynamic_linker='AIX lib.a(lib.so.V)' - # 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' - ;; - svr4,*) # full svr4 only - dynamic_linker="AIX lib.so.V($shared_archive_member_spec.o)" - library_names_spec='$libname$release$shared_ext$major $libname$shared_ext' - # We do not specify a path in Import Files, so LIBPATH fires. - shlibpath_overrides_runpath=yes - ;; - *,yes) # both, prefer svr4 - dynamic_linker="AIX lib.so.V($shared_archive_member_spec.o), lib.a(lib.so.V)" - library_names_spec='$libname$release$shared_ext$major $libname$shared_ext' - # unpreferred sharedlib libNAME.a needs extra handling - postinstall_cmds='test -n "$linkname" || linkname="$realname"~func_stripname "" ".so" "$linkname"~$install_shared_prog "$dir/$func_stripname_result.$libext" "$destdir/$func_stripname_result.$libext"~test -z "$tstripme" || test -z "$striplib" || $striplib "$destdir/$func_stripname_result.$libext"' - postuninstall_cmds='for n in $library_names $old_library; do :; done~func_stripname "" ".so" "$n"~test "$func_stripname_result" = "$n" || func_append rmfiles " $odir/$func_stripname_result.$libext"' - # We do not specify a path in Import Files, so LIBPATH fires. - shlibpath_overrides_runpath=yes - ;; - *,no) # both, prefer aix - dynamic_linker="AIX lib.a(lib.so.V), lib.so.V($shared_archive_member_spec.o)" - library_names_spec='$libname$release.a $libname.a' - soname_spec='$libname$release$shared_ext$major' - # unpreferred sharedlib libNAME.so.V and symlink libNAME.so need extra handling - postinstall_cmds='test -z "$dlname" || $install_shared_prog $dir/$dlname $destdir/$dlname~test -z "$tstripme" || test -z "$striplib" || $striplib $destdir/$dlname~test -n "$linkname" || linkname=$realname~func_stripname "" ".a" "$linkname"~(cd "$destdir" && $LN_S -f $dlname $func_stripname_result.so)' - postuninstall_cmds='test -z "$dlname" || func_append rmfiles " $odir/$dlname"~for n in $old_library $library_names; do :; done~func_stripname "" ".a" "$n"~func_append rmfiles " $odir/$func_stripname_result.so"' - ;; - esac - 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=`func_echo_all "$lib" | $SED '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; $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 # correct to gnu/linux during the next big refactor - 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,$cc_basename in - yes,*) - # gcc - 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="$sys_lib_search_path_spec /usr/lib/w32api" - ;; - mingw* | cegcc*) - # MinGW DLLs use traditional 'lib' prefix - soname_spec='$libname`echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext' - ;; - 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 - dynamic_linker='Win32 ld.exe' - ;; - - *,cl*) - # Native MSVC - libname_spec='$name' - soname_spec='$libname`echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext' - library_names_spec='$libname.dll.lib' - - case $build_os in - mingw*) - sys_lib_search_path_spec= - lt_save_ifs=$IFS - IFS=';' - for lt_path in $LIB - do - IFS=$lt_save_ifs - # Let DOS variable expansion print the short 8.3 style file name. - lt_path=`cd "$lt_path" 2>/dev/null && cmd //C "for %i in (".") do @echo %~si"` - sys_lib_search_path_spec="$sys_lib_search_path_spec $lt_path" - done - IFS=$lt_save_ifs - # Convert to MSYS style. - sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | sed -e 's|\\\\|/|g' -e 's| \\([a-zA-Z]\\):| /\\1|g' -e 's|^ ||'` - ;; - cygwin*) - # Convert to unix form, then to dos form, then back to unix form - # but this time dos style (no spaces!) so that the unix form looks - # like /cygdrive/c/PROGRA~1:/cygdr... - sys_lib_search_path_spec=`cygpath --path --unix "$LIB"` - sys_lib_search_path_spec=`cygpath --path --dos "$sys_lib_search_path_spec" 2>/dev/null` - sys_lib_search_path_spec=`cygpath --path --unix "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` - ;; - *) - sys_lib_search_path_spec=$LIB - if $ECHO "$sys_lib_search_path_spec" | $GREP ';[c-zC-Z]:/' >/dev/null; then - # It is most probably a Windows format PATH. - 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 - # FIXME: find the short name or the path components, as spaces are - # common. (e.g. "Program Files" -> "PROGRA~1") - ;; - esac - - # 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' - postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ - dlpath=$dir/\$dldll~ - $RM \$dlpath' - shlibpath_overrides_runpath=yes - dynamic_linker='Win32 link.exe' - ;; - - *) - # Assume MSVC wrapper - library_names_spec='$libname`echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext $libname.lib' - dynamic_linker='Win32 ld.exe' - ;; - esac - # 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 # correct to gnu/linux during the next big refactor - 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 - ;; - -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[23].*) 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$major $libname$shared_ext' - soname_spec='$libname$release$shared_ext$major' - 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 - ;; - -haiku*) - version_type=linux # correct to gnu/linux during the next big refactor - need_lib_prefix=no - need_version=no - dynamic_linker="$host_os runtime_loader" - 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=LIBRARY_PATH - shlibpath_overrides_runpath=no - sys_lib_dlsearch_path_spec='/boot/home/config/lib /boot/common/lib /boot/system/lib' - 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 32 = "$HPUX_IA64_MODE"; then - sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib" - sys_lib_dlsearch_path_spec=/usr/lib/hpux32 - else - sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64" - sys_lib_dlsearch_path_spec=/usr/lib/hpux64 - fi - ;; - 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' - # or fails outright, so override atomically: - install_override_mode=555 - ;; - -interix[3-9]*) - version_type=linux # correct to gnu/linux during the next big refactor - 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 yes = "$lt_cv_prog_gnu_ld"; then - version_type=linux # correct to gnu/linux during the next big refactor - 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 - ;; - -linux*android*) - version_type=none # Android doesn't support versioned libraries. - need_lib_prefix=no - need_version=no - library_names_spec='$libname$release$shared_ext' - soname_spec='$libname$release$shared_ext' - finish_cmds= - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - - # 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 - - dynamic_linker='Android linker' - # Don't embed -rpath directories since the linker doesn't support them. - hardcode_libdir_flag_spec='-L$libdir' - ;; - -# This must be glibc/ELF. -linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) - version_type=linux # correct to gnu/linux during the next big refactor - 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 - if ${lt_cv_shlibpath_overrides_runpath+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_shlibpath_overrides_runpath=no - save_LDFLAGS=$LDFLAGS - save_libdir=$libdir - eval "libdir=/foo; wl=\"$lt_prog_compiler_wl\"; \ - LDFLAGS=\"\$LDFLAGS $hardcode_libdir_flag_spec\"" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - if ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null; then : - lt_cv_shlibpath_overrides_runpath=yes -fi -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - LDFLAGS=$save_LDFLAGS - libdir=$save_libdir - -fi - - shlibpath_overrides_runpath=$lt_cv_shlibpath_overrides_runpath - - # 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 - - # Ideally, we could use ldconfig to report *all* directores which are - # searched for libraries, however this is still not possible. Aside from not - # being certain /sbin/ldconfig is available, command - # 'ldconfig -N -X -v | grep ^/' on 64bit Fedora does not report /usr/lib64, - # even though it is searched at run-time. Try to do the best guess by - # appending ld.so.conf contents (and includes) 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;s/"//g;/^$/d' | tr '\n' ' '` - sys_lib_dlsearch_path_spec="/lib /usr/lib $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' - ;; - -netbsdelf*-gnu) - version_type=linux - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=no - hardcode_into_libs=yes - dynamic_linker='NetBSD ld.elf_so' - ;; - -netbsd*) - version_type=sunos - need_lib_prefix=no - 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 # correct to gnu/linux during the next big refactor - 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* | bitrig*) - version_type=sunos - sys_lib_dlsearch_path_spec=/usr/lib - need_lib_prefix=no - if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then - need_version=no - else - need_version=yes - fi - 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 - shlibpath_overrides_runpath=yes - ;; - -os2*) - libname_spec='$name' - version_type=windows - shrext_cmds=.dll - need_version=no - need_lib_prefix=no - # OS/2 can only load a DLL with a base name of 8 characters or less. - soname_spec='`test -n "$os2dllname" && libname="$os2dllname"; - v=$($ECHO $release$versuffix | tr -d .-); - n=$($ECHO $libname | cut -b -$((8 - ${#v})) | tr . _); - $ECHO $n$v`$shared_ext' - library_names_spec='${libname}_dll.$libext' - dynamic_linker='OS/2 ld.exe' - shlibpath_var=BEGINLIBPATH - sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" - sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec - 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' - ;; - -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 # correct to gnu/linux during the next big refactor - 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 yes = "$with_gnu_ld"; then - need_lib_prefix=no - fi - need_version=yes - ;; - -sysv4 | sysv4.3*) - version_type=linux # correct to gnu/linux during the next big refactor - 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 # correct to gnu/linux during the next big refactor - 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=sco - 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 yes = "$with_gnu_ld"; 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 # correct to gnu/linux during the next big refactor - 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 # correct to gnu/linux during the next big refactor - 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:${as_lineno-$LINENO}: result: $dynamic_linker" >&5 -$as_echo "$dynamic_linker" >&6; } -test no = "$dynamic_linker" && can_build_shared=no - -variables_saved_for_relink="PATH $shlibpath_var $runpath_var" -if test yes = "$GCC"; then - variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" -fi - -if test set = "${lt_cv_sys_lib_search_path_spec+set}"; then - sys_lib_search_path_spec=$lt_cv_sys_lib_search_path_spec -fi - -if test set = "${lt_cv_sys_lib_dlsearch_path_spec+set}"; then - sys_lib_dlsearch_path_spec=$lt_cv_sys_lib_dlsearch_path_spec -fi - -# remember unaugmented sys_lib_dlsearch_path content for libtool script decls... -configure_time_dlsearch_path=$sys_lib_dlsearch_path_spec - -# ... but it needs LT_SYS_LIBRARY_PATH munging for other configure-time code -func_munge_path_list sys_lib_dlsearch_path_spec "$LT_SYS_LIBRARY_PATH" - -# to be used as default LT_SYS_LIBRARY_PATH value in generated libtool -configure_time_lt_sys_library_path=$LT_SYS_LIBRARY_PATH - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - { $as_echo "$as_me:${as_lineno-$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 yes = "$hardcode_automatic"; then - - # We can hardcode non-existent directories. - if test no != "$hardcode_direct" && - # 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 no != "$_LT_TAGVAR(hardcode_shlibpath_var, )" && - test no != "$hardcode_minus_L"; 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:${as_lineno-$LINENO}: result: $hardcode_action" >&5 -$as_echo "$hardcode_action" >&6; } - -if test relink = "$hardcode_action" || - test yes = "$inherit_rpath"; then - # Fast installation is not supported - enable_fast_install=no -elif test yes = "$shlibpath_overrides_runpath" || - test no = "$enable_shared"; then - # Fast installation is not necessary - enable_fast_install=needless -fi - - - - - - - if test yes != "$enable_dlopen"; 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:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5 -$as_echo_n "checking for dlopen in -ldl... " >&6; } -if ${ac_cv_lib_dl_dlopen+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-ldl $LIBS" -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* 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 -if ac_fn_c_try_link "$LINENO"; then : - ac_cv_lib_dl_dlopen=yes -else - ac_cv_lib_dl_dlopen=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlopen" >&5 -$as_echo "$ac_cv_lib_dl_dlopen" >&6; } -if test "x$ac_cv_lib_dl_dlopen" = xyes; 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 - - ;; - - tpf*) - # Don't try to run any link tests for TPF. We know it's impossible - # because TPF is a cross-compiler, and we know how we open DSOs. - lt_cv_dlopen=dlopen - lt_cv_dlopen_libs= - lt_cv_dlopen_self=no - ;; - - *) - ac_fn_c_check_func "$LINENO" "shl_load" "ac_cv_func_shl_load" -if test "x$ac_cv_func_shl_load" = xyes; then : - lt_cv_dlopen=shl_load -else - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for shl_load in -ldld" >&5 -$as_echo_n "checking for shl_load in -ldld... " >&6; } -if ${ac_cv_lib_dld_shl_load+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-ldld $LIBS" -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* 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 -if ac_fn_c_try_link "$LINENO"; then : - ac_cv_lib_dld_shl_load=yes -else - ac_cv_lib_dld_shl_load=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ $as_echo "$as_me:${as_lineno-$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" = xyes; then : - lt_cv_dlopen=shl_load lt_cv_dlopen_libs=-ldld -else - ac_fn_c_check_func "$LINENO" "dlopen" "ac_cv_func_dlopen" -if test "x$ac_cv_func_dlopen" = xyes; then : - lt_cv_dlopen=dlopen -else - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5 -$as_echo_n "checking for dlopen in -ldl... " >&6; } -if ${ac_cv_lib_dl_dlopen+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-ldl $LIBS" -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* 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 -if ac_fn_c_try_link "$LINENO"; then : - ac_cv_lib_dl_dlopen=yes -else - ac_cv_lib_dl_dlopen=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlopen" >&5 -$as_echo "$ac_cv_lib_dl_dlopen" >&6; } -if test "x$ac_cv_lib_dl_dlopen" = xyes; then : - lt_cv_dlopen=dlopen lt_cv_dlopen_libs=-ldl -else - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -lsvld" >&5 -$as_echo_n "checking for dlopen in -lsvld... " >&6; } -if ${ac_cv_lib_svld_dlopen+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-lsvld $LIBS" -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* 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 -if ac_fn_c_try_link "$LINENO"; then : - ac_cv_lib_svld_dlopen=yes -else - ac_cv_lib_svld_dlopen=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_svld_dlopen" >&5 -$as_echo "$ac_cv_lib_svld_dlopen" >&6; } -if test "x$ac_cv_lib_svld_dlopen" = xyes; then : - lt_cv_dlopen=dlopen lt_cv_dlopen_libs=-lsvld -else - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dld_link in -ldld" >&5 -$as_echo_n "checking for dld_link in -ldld... " >&6; } -if ${ac_cv_lib_dld_dld_link+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-ldld $LIBS" -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* 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 -if ac_fn_c_try_link "$LINENO"; then : - ac_cv_lib_dld_dld_link=yes -else - ac_cv_lib_dld_dld_link=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ $as_echo "$as_me:${as_lineno-$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" = xyes; then : - lt_cv_dlopen=dld_link lt_cv_dlopen_libs=-ldld -fi - - -fi - - -fi - - -fi - - -fi - - -fi - - ;; - esac - - if test no = "$lt_cv_dlopen"; then - enable_dlopen=no - else - enable_dlopen=yes - fi - - case $lt_cv_dlopen in - dlopen) - save_CPPFLAGS=$CPPFLAGS - test yes = "$ac_cv_header_dlfcn_h" && 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:${as_lineno-$LINENO}: checking whether a program can dlopen itself" >&5 -$as_echo_n "checking whether a program can dlopen itself... " >&6; } -if ${lt_cv_dlopen_self+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test yes = "$cross_compiling"; 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 $LINENO "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 - -/* When -fvisibility=hidden is used, assume the code has been annotated - correspondingly for the symbols needed. */ -#if defined __GNUC__ && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3)) -int fnord () __attribute__((visibility("default"))); -#endif - -int fnord () { return 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; - else puts (dlerror ()); - } - /* dlclose (self); */ - } - else - puts (dlerror ()); - - return status; -} -_LT_EOF - if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5 - (eval $ac_link) 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } && 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:${as_lineno-$LINENO}: result: $lt_cv_dlopen_self" >&5 -$as_echo "$lt_cv_dlopen_self" >&6; } - - if test yes = "$lt_cv_dlopen_self"; then - wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\" - { $as_echo "$as_me:${as_lineno-$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 ${lt_cv_dlopen_self_static+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test yes = "$cross_compiling"; 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 $LINENO "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 - -/* When -fvisibility=hidden is used, assume the code has been annotated - correspondingly for the symbols needed. */ -#if defined __GNUC__ && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3)) -int fnord () __attribute__((visibility("default"))); -#endif - -int fnord () { return 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; - else puts (dlerror ()); - } - /* dlclose (self); */ - } - else - puts (dlerror ()); - - return status; -} -_LT_EOF - if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5 - (eval $ac_link) 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } && 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:${as_lineno-$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:${as_lineno-$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:${as_lineno-$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:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } - else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } - fi - ;; - *) - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } - ;; - esac -fi - - - - - - - - - - - - - # Report what library types will actually be built - { $as_echo "$as_me:${as_lineno-$LINENO}: checking if libtool supports shared libraries" >&5 -$as_echo_n "checking if libtool supports shared libraries... " >&6; } - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $can_build_shared" >&5 -$as_echo "$can_build_shared" >&6; } - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build shared libraries" >&5 -$as_echo_n "checking whether to build shared libraries... " >&6; } - test no = "$can_build_shared" && 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 yes = "$enable_shared" && enable_static=no - if test -n "$RANLIB"; then - archive_cmds="$archive_cmds~\$RANLIB \$lib" - postinstall_cmds='$RANLIB $lib' - fi - ;; - - aix[4-9]*) - if test ia64 != "$host_cpu"; then - case $enable_shared,$with_aix_soname,$aix_use_runtimelinking in - yes,aix,yes) ;; # shared object as lib.so file only - yes,svr4,*) ;; # shared object as lib.so archive member only - yes,*) enable_static=no ;; # shared object in lib.a archive as well - esac - fi - ;; - esac - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_shared" >&5 -$as_echo "$enable_shared" >&6; } - - { $as_echo "$as_me:${as_lineno-$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 yes = "$enable_shared" || enable_static=yes - { $as_echo "$as_me:${as_lineno-$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: - - - -CFLAGS="-Werror -Wall -O3 $old_cflags" - - - -# Check whether --with-defaultcharset was given. -if test "${with_defaultcharset+set}" = set; then : - withval=$with_defaultcharset; with_defaultcharset=${withval%/} -else - with_defaultcharset="" -fi - -if test "x${with_defaultcharset}" = "x"; then - DEFAULT_CHARSET=undefined -else - DEFAULT_CHARSET="\"${with_defaultcharset}\"" -fi - - - -# Check whether --with-extrainclude was given. -if test "${with_extrainclude+set}" = set; then : - withval=$with_extrainclude; with_extrainclude=${withval%/} -else - with_extrainclude="" -fi - -if test "x$with_extrainclude" = "x" ; then - EXTRAINCLUDE= -else - EXTRAINCLUDE=-I${with_extrainclude} -fi - - -# Check whether --enable-pam was given. -if test "${enable_pam+set}" = set; then : - enableval=$enable_pam; enable_pam="$enableval" -else - enable_pam="yes" -fi - - if test "x${enable_pam}" = "xyes"; then - WITH_EPAM_TRUE= - WITH_EPAM_FALSE='#' -else - WITH_EPAM_TRUE='#' - WITH_EPAM_FALSE= -fi - - -APPDEPS= -# Check whether --enable-crypto was given. -if test "${enable_crypto+set}" = set; then : - enableval=$enable_crypto; -fi - -if test "x$enable_crypto" = "xyes"; then - APPDEPS=',crypto' -fi -# Check whether --enable-compiler was given. -if test "${enable_compiler+set}" = set; then : - enableval=$enable_compiler; -fi - -if test "x$enable_compiler" = "xyes"; then - APPDEPS="${APPDEPS},compiler" -fi - - - -echo - - text=`$ECHO $seo "%BCheck Erlang environment & applications%b" | sed -e "s/%B/${colored_echo_bold}/g" -e "s/%b/${colored_echo_norm}/g" 2>/dev/null` - $ECHO $seo "$text" - - text=`$ECHO $sec "%BCheck Erlang environment & applications%b" | sed -e "s/%B//g" -e "s/%b//g" 2>/dev/null` - $as_echo "$as_me:${as_lineno-$LINENO}: $text" >&5 - - -tmp_cross_compiling=$cross_compiling -cross_compiling=no - - -# Check whether --with-erlang was given. -if test "${with_erlang+set}" = set; then : - withval=$with_erlang; with_erlang=${withval%/} -else - with_erlang="" -fi - - -if test "x${with_erlang}" = "x"; then - if test -n "$ERL"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for erl" >&5 -$as_echo_n "checking for erl... " >&6; } - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ERL" >&5 -$as_echo "$ERL" >&6; } -else - if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}erl", so it can be a program name with args. -set dummy ${ac_tool_prefix}erl; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_path_ERL+:} false; then : - $as_echo_n "(cached) " >&6 -else - case $ERL in - [\\/]* | ?:[\\/]*) - ac_cv_path_ERL="$ERL" # 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 as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_path_ERL="$as_dir/$ac_word$ac_exec_ext" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - - ;; -esac -fi -ERL=$ac_cv_path_ERL -if test -n "$ERL"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ERL" >&5 -$as_echo "$ERL" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - -fi -if test -z "$ac_cv_path_ERL"; then - ac_pt_ERL=$ERL - # Extract the first word of "erl", so it can be a program name with args. -set dummy erl; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_path_ac_pt_ERL+:} false; then : - $as_echo_n "(cached) " >&6 -else - case $ac_pt_ERL in - [\\/]* | ?:[\\/]*) - ac_cv_path_ac_pt_ERL="$ac_pt_ERL" # 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 as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_path_ac_pt_ERL="$as_dir/$ac_word$ac_exec_ext" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - - ;; -esac -fi -ac_pt_ERL=$ac_cv_path_ac_pt_ERL -if test -n "$ac_pt_ERL"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_pt_ERL" >&5 -$as_echo "$ac_pt_ERL" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - if test "x$ac_pt_ERL" = x; then - ERL="" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - ERL=$ac_pt_ERL - fi -else - ERL="$ac_cv_path_ERL" -fi -fi - - if test -n "$ERLC"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for erlc" >&5 -$as_echo_n "checking for erlc... " >&6; } - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ERLC" >&5 -$as_echo "$ERLC" >&6; } -else - if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}erlc", so it can be a program name with args. -set dummy ${ac_tool_prefix}erlc; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_path_ERLC+:} false; then : - $as_echo_n "(cached) " >&6 -else - case $ERLC in - [\\/]* | ?:[\\/]*) - ac_cv_path_ERLC="$ERLC" # 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 as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_path_ERLC="$as_dir/$ac_word$ac_exec_ext" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - - ;; -esac -fi -ERLC=$ac_cv_path_ERLC -if test -n "$ERLC"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ERLC" >&5 -$as_echo "$ERLC" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - -fi -if test -z "$ac_cv_path_ERLC"; then - ac_pt_ERLC=$ERLC - # Extract the first word of "erlc", so it can be a program name with args. -set dummy erlc; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_path_ac_pt_ERLC+:} false; then : - $as_echo_n "(cached) " >&6 -else - case $ac_pt_ERLC in - [\\/]* | ?:[\\/]*) - ac_cv_path_ac_pt_ERLC="$ac_pt_ERLC" # 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 as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_path_ac_pt_ERLC="$as_dir/$ac_word$ac_exec_ext" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - - ;; -esac -fi -ac_pt_ERLC=$ac_cv_path_ac_pt_ERLC -if test -n "$ac_pt_ERLC"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_pt_ERLC" >&5 -$as_echo "$ac_pt_ERLC" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - if test "x$ac_pt_ERLC" = x; then - ERLC="" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - ERLC=$ac_pt_ERLC - fi -else - ERLC="$ac_cv_path_ERLC" -fi - -fi - -else - erl_path="${with_erlang}/bin" - if test -n "$ERL"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for erl" >&5 -$as_echo_n "checking for erl... " >&6; } - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ERL" >&5 -$as_echo "$ERL" >&6; } -else - if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}erl", so it can be a program name with args. -set dummy ${ac_tool_prefix}erl; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_path_ERL+:} false; then : - $as_echo_n "(cached) " >&6 -else - case $ERL in - [\\/]* | ?:[\\/]*) - ac_cv_path_ERL="$ERL" # Let the user override the test with a path. - ;; - *) - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $erl_path$PATH_SEPARATOR$PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_path_ERL="$as_dir/$ac_word$ac_exec_ext" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - - ;; -esac -fi -ERL=$ac_cv_path_ERL -if test -n "$ERL"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ERL" >&5 -$as_echo "$ERL" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - -fi -if test -z "$ac_cv_path_ERL"; then - ac_pt_ERL=$ERL - # Extract the first word of "erl", so it can be a program name with args. -set dummy erl; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_path_ac_pt_ERL+:} false; then : - $as_echo_n "(cached) " >&6 -else - case $ac_pt_ERL in - [\\/]* | ?:[\\/]*) - ac_cv_path_ac_pt_ERL="$ac_pt_ERL" # Let the user override the test with a path. - ;; - *) - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $erl_path$PATH_SEPARATOR$PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_path_ac_pt_ERL="$as_dir/$ac_word$ac_exec_ext" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - - ;; -esac -fi -ac_pt_ERL=$ac_cv_path_ac_pt_ERL -if test -n "$ac_pt_ERL"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_pt_ERL" >&5 -$as_echo "$ac_pt_ERL" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - if test "x$ac_pt_ERL" = x; then - ERL="" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - ERL=$ac_pt_ERL - fi -else - ERL="$ac_cv_path_ERL" -fi -fi - - if test -n "$ERLC"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for erlc" >&5 -$as_echo_n "checking for erlc... " >&6; } - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ERLC" >&5 -$as_echo "$ERLC" >&6; } -else - if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}erlc", so it can be a program name with args. -set dummy ${ac_tool_prefix}erlc; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_path_ERLC+:} false; then : - $as_echo_n "(cached) " >&6 -else - case $ERLC in - [\\/]* | ?:[\\/]*) - ac_cv_path_ERLC="$ERLC" # Let the user override the test with a path. - ;; - *) - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $erl_path$PATH_SEPARATOR$PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_path_ERLC="$as_dir/$ac_word$ac_exec_ext" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - - ;; -esac -fi -ERLC=$ac_cv_path_ERLC -if test -n "$ERLC"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ERLC" >&5 -$as_echo "$ERLC" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - -fi -if test -z "$ac_cv_path_ERLC"; then - ac_pt_ERLC=$ERLC - # Extract the first word of "erlc", so it can be a program name with args. -set dummy erlc; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_path_ac_pt_ERLC+:} false; then : - $as_echo_n "(cached) " >&6 -else - case $ac_pt_ERLC in - [\\/]* | ?:[\\/]*) - ac_cv_path_ac_pt_ERLC="$ac_pt_ERLC" # Let the user override the test with a path. - ;; - *) - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $erl_path$PATH_SEPARATOR$PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_path_ac_pt_ERLC="$as_dir/$ac_word$ac_exec_ext" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - - ;; -esac -fi -ac_pt_ERLC=$ac_cv_path_ac_pt_ERLC -if test -n "$ac_pt_ERLC"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_pt_ERLC" >&5 -$as_echo "$ac_pt_ERLC" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - if test "x$ac_pt_ERLC" = x; then - ERLC="" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - ERLC=$ac_pt_ERLC - fi -else - ERLC="$ac_cv_path_ERLC" -fi - -fi - -fi - -if test "x${ERL}" = "x"; then - as_fn_error $? " -Erlang not found. Fill the ERL variable with erl(1) path or provide -Erlang prefix with --with-erlang." "$LINENO" 5 -fi - - - -if test "x${ESCRIPT}" = "x"; then - if test "x${with_erlang}" = "x"; then - # Extract the first word of "escript", so it can be a program name with args. -set dummy escript; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_path_ESCRIPT+:} false; then : - $as_echo_n "(cached) " >&6 -else - case $ESCRIPT in - [\\/]* | ?:[\\/]*) - ac_cv_path_ESCRIPT="$ESCRIPT" # 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 as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_path_ESCRIPT="$as_dir/$ac_word$ac_exec_ext" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - - ;; -esac -fi -ESCRIPT=$ac_cv_path_ESCRIPT -if test -n "$ESCRIPT"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ESCRIPT" >&5 -$as_echo "$ESCRIPT" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - - else - erl_path="${with_erlang}/bin" - # Extract the first word of "escript", so it can be a program name with args. -set dummy escript; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_path_ESCRIPT+:} false; then : - $as_echo_n "(cached) " >&6 -else - case $ESCRIPT in - [\\/]* | ?:[\\/]*) - ac_cv_path_ESCRIPT="$ESCRIPT" # Let the user override the test with a path. - ;; - *) - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $erl_path$PATH_SEPARATOR$PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_path_ESCRIPT="$as_dir/$ac_word$ac_exec_ext" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - - ;; -esac -fi -ESCRIPT=$ac_cv_path_ESCRIPT -if test -n "$ESCRIPT"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ESCRIPT" >&5 -$as_echo "$ESCRIPT" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - - fi -else - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for escript" >&5 -$as_echo_n "checking for escript... " >&6; } - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ESCRIPT" >&5 -$as_echo "$ESCRIPT" >&6; } -fi - -if test "x${ESCRIPT}" = "x"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: -escript(1) not found. Fill the ESCRIPT variable with escript(1) path if -you want to use the testsuite." >&5 -$as_echo "$as_me: WARNING: -escript(1) not found. Fill the ESCRIPT variable with escript(1) path if -you want to use the testsuite." >&2;} -fi - - - - -if test "x${DIALYZER}" = "x"; then - if test "x${with_erlang}" = "x"; then - # Extract the first word of "dialyzer", so it can be a program name with args. -set dummy dialyzer; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_path_DIALYZER+:} false; then : - $as_echo_n "(cached) " >&6 -else - case $DIALYZER in - [\\/]* | ?:[\\/]*) - ac_cv_path_DIALYZER="$DIALYZER" # 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 as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_path_DIALYZER="$as_dir/$ac_word$ac_exec_ext" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - - ;; -esac -fi -DIALYZER=$ac_cv_path_DIALYZER -if test -n "$DIALYZER"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DIALYZER" >&5 -$as_echo "$DIALYZER" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - - else - erl_path="${with_erlang}/bin" - # Extract the first word of "dialyzer", so it can be a program name with args. -set dummy dialyzer; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_path_DIALYZER+:} false; then : - $as_echo_n "(cached) " >&6 -else - case $DIALYZER in - [\\/]* | ?:[\\/]*) - ac_cv_path_DIALYZER="$DIALYZER" # Let the user override the test with a path. - ;; - *) - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $erl_path$PATH_SEPARATOR$PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_path_DIALYZER="$as_dir/$ac_word$ac_exec_ext" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - - ;; -esac -fi -DIALYZER=$ac_cv_path_DIALYZER -if test -n "$DIALYZER"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DIALYZER" >&5 -$as_echo "$DIALYZER" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - - fi -else - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dialyzer" >&5 -$as_echo_n "checking for dialyzer... " >&6; } - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DIALYZER" >&5 -$as_echo "$DIALYZER" >&6; } -fi - -if test "x${DIALYZER}" = "x"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: -dialyzer(1) not found. Fill the DIALYZER variable with dialyzer(1) path if -you want to use it." >&5 -$as_echo "$as_me: WARNING: -dialyzer(1) not found. Fill the DIALYZER variable with dialyzer(1) path if -you want to use it." >&2;} -fi - - - -if test "x${CT_RUN}" = "x"; then - if test "x${with_erlang}" = "x"; then - # Extract the first word of "ct_run", so it can be a program name with args. -set dummy ct_run; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_path_CT_RUN+:} false; then : - $as_echo_n "(cached) " >&6 -else - case $CT_RUN in - [\\/]* | ?:[\\/]*) - ac_cv_path_CT_RUN="$CT_RUN" # 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 as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_path_CT_RUN="$as_dir/$ac_word$ac_exec_ext" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - - ;; -esac -fi -CT_RUN=$ac_cv_path_CT_RUN -if test -n "$CT_RUN"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CT_RUN" >&5 -$as_echo "$CT_RUN" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - - else - erl_path="${with_erlang}/bin" - # Extract the first word of "ct_run", so it can be a program name with args. -set dummy ct_run; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_path_CT_RUN+:} false; then : - $as_echo_n "(cached) " >&6 -else - case $CT_RUN in - [\\/]* | ?:[\\/]*) - ac_cv_path_CT_RUN="$CT_RUN" # Let the user override the test with a path. - ;; - *) - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $erl_path$PATH_SEPARATOR$PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_path_CT_RUN="$as_dir/$ac_word$ac_exec_ext" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - - ;; -esac -fi -CT_RUN=$ac_cv_path_CT_RUN -if test -n "$CT_RUN"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CT_RUN" >&5 -$as_echo "$CT_RUN" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - - fi -else - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ct_run" >&5 -$as_echo_n "checking for ct_run... " >&6; } - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CT_RUN" >&5 -$as_echo "$CT_RUN" >&6; } -fi - -if test "x${CT_RUN}" = "x"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: -ct_run(1) not found. Fill the CT_RUN variable with ct_run(1) path if -you want to use it." >&5 -$as_echo "$as_me: WARNING: -ct_run(1) not found. Fill the CT_RUN variable with ct_run(1) path if -you want to use it." >&2;} -fi - - - -if test -n "$ERLC"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for erlc" >&5 -$as_echo_n "checking for erlc... " >&6; } - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ERLC" >&5 -$as_echo "$ERLC" >&6; } -else - if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}erlc", so it can be a program name with args. -set dummy ${ac_tool_prefix}erlc; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_path_ERLC+:} false; then : - $as_echo_n "(cached) " >&6 -else - case $ERLC in - [\\/]* | ?:[\\/]*) - ac_cv_path_ERLC="$ERLC" # 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 as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_path_ERLC="$as_dir/$ac_word$ac_exec_ext" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - - ;; -esac -fi -ERLC=$ac_cv_path_ERLC -if test -n "$ERLC"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ERLC" >&5 -$as_echo "$ERLC" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - -fi -if test -z "$ac_cv_path_ERLC"; then - ac_pt_ERLC=$ERLC - # Extract the first word of "erlc", so it can be a program name with args. -set dummy erlc; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_path_ac_pt_ERLC+:} false; then : - $as_echo_n "(cached) " >&6 -else - case $ac_pt_ERLC in - [\\/]* | ?:[\\/]*) - ac_cv_path_ac_pt_ERLC="$ac_pt_ERLC" # 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 as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_path_ac_pt_ERLC="$as_dir/$ac_word$ac_exec_ext" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - - ;; -esac -fi -ac_pt_ERLC=$ac_cv_path_ac_pt_ERLC -if test -n "$ac_pt_ERLC"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_pt_ERLC" >&5 -$as_echo "$ac_pt_ERLC" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - if test "x$ac_pt_ERLC" = x; then - ERLC="not found" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - ERLC=$ac_pt_ERLC - fi -else - ERLC="$ac_cv_path_ERLC" -fi - -fi - -if test "$ERLC" = "not found"; then - as_fn_error $? "Erlang/OTP compiler (erlc) not found but required" "$LINENO" 5 -fi - -if test -n "$ERL"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for erl" >&5 -$as_echo_n "checking for erl... " >&6; } - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ERL" >&5 -$as_echo "$ERL" >&6; } -else - if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}erl", so it can be a program name with args. -set dummy ${ac_tool_prefix}erl; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_path_ERL+:} false; then : - $as_echo_n "(cached) " >&6 -else - case $ERL in - [\\/]* | ?:[\\/]*) - ac_cv_path_ERL="$ERL" # 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 as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_path_ERL="$as_dir/$ac_word$ac_exec_ext" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - - ;; -esac -fi -ERL=$ac_cv_path_ERL -if test -n "$ERL"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ERL" >&5 -$as_echo "$ERL" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - -fi -if test -z "$ac_cv_path_ERL"; then - ac_pt_ERL=$ERL - # Extract the first word of "erl", so it can be a program name with args. -set dummy erl; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_path_ac_pt_ERL+:} false; then : - $as_echo_n "(cached) " >&6 -else - case $ac_pt_ERL in - [\\/]* | ?:[\\/]*) - ac_cv_path_ac_pt_ERL="$ac_pt_ERL" # 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 as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_path_ac_pt_ERL="$as_dir/$ac_word$ac_exec_ext" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - - ;; -esac -fi -ac_pt_ERL=$ac_cv_path_ac_pt_ERL -if test -n "$ac_pt_ERL"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_pt_ERL" >&5 -$as_echo "$ac_pt_ERL" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - if test "x$ac_pt_ERL" = x; then - ERL="not found" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - ERL=$ac_pt_ERL - fi -else - ERL="$ac_cv_path_ERL" -fi -fi - -if test "$ERL" = "not found"; then - as_fn_error $? "Erlang/OTP interpreter (erl) not found but required" "$LINENO" 5 -fi - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for Erlang/OTP root directory" >&5 -$as_echo_n "checking for Erlang/OTP root directory... " >&6; } -if ${ac_cv_erlang_root_dir+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_ext=erl -ac_compile='$ERLC $ERLCFLAGS -b beam conftest.$ac_ext >&5' -ac_link='$ERLC $ERLCFLAGS -b beam conftest.$ac_ext >&5 && echo "#!/bin/sh" > conftest$ac_exeext && $as_echo "\"$ERL\" -run conftest start -run init stop -noshell" >> conftest$ac_exeext && chmod +x conftest$ac_exeext' - if test "$cross_compiling" = yes; then : - { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error $? "cannot run test program while cross compiling -See \`config.log' for more details" "$LINENO" 5; } -else - cat > conftest.$ac_ext <<_ACEOF --module(conftest). --export([start/0]). - -start() -> - RootDir = code:root_dir(), - file:write_file("conftest.out", RootDir), - ReturnValue = 0, - halt(ReturnValue) -. - -_ACEOF -if ac_fn_erl_try_run "$LINENO"; then : - ac_cv_erlang_root_dir=`cat conftest.out` - rm -f conftest.out -else - rm -f conftest.out - { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error $? "test Erlang program execution failed -See \`config.log' for more details" "$LINENO" 5; } -fi -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext -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 - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_erlang_root_dir" >&5 -$as_echo "$ac_cv_erlang_root_dir" >&6; } -ERLANG_ROOT_DIR=$ac_cv_erlang_root_dir - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for Erlang/OTP library base directory" >&5 -$as_echo_n "checking for Erlang/OTP library base directory... " >&6; } -if ${ac_cv_erlang_lib_dir+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_ext=erl -ac_compile='$ERLC $ERLCFLAGS -b beam conftest.$ac_ext >&5' -ac_link='$ERLC $ERLCFLAGS -b beam conftest.$ac_ext >&5 && echo "#!/bin/sh" > conftest$ac_exeext && $as_echo "\"$ERL\" -run conftest start -run init stop -noshell" >> conftest$ac_exeext && chmod +x conftest$ac_exeext' - if test "$cross_compiling" = yes; then : - { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error $? "cannot run test program while cross compiling -See \`config.log' for more details" "$LINENO" 5; } -else - cat > conftest.$ac_ext <<_ACEOF --module(conftest). --export([start/0]). - -start() -> - LibDir = code:lib_dir(), - file:write_file("conftest.out", LibDir), - ReturnValue = 0, - halt(ReturnValue) -. - -_ACEOF -if ac_fn_erl_try_run "$LINENO"; then : - ac_cv_erlang_lib_dir=`cat conftest.out` - rm -f conftest.out -else - rm -f conftest.out - { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error $? "test Erlang program execution failed -See \`config.log' for more details" "$LINENO" 5; } -fi -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext -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 - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_erlang_lib_dir" >&5 -$as_echo "$ac_cv_erlang_lib_dir" >&6; } -ERLANG_LIB_DIR=$ac_cv_erlang_lib_dir - - - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for Erlang/OTP ERTS version" >&5 -$as_echo_n "checking for Erlang/OTP ERTS version... " >&6; } -if ${erlang_cv_erts_ver+:} false; then : - $as_echo_n "(cached) " >&6 -else - - ac_ext=erl -ac_compile='$ERLC $ERLCFLAGS -b beam conftest.$ac_ext >&5' -ac_link='$ERLC $ERLCFLAGS -b beam conftest.$ac_ext >&5 && echo "#!/bin/sh" > conftest$ac_exeext && $as_echo "\"$ERL\" -run conftest start -run init stop -noshell" >> conftest$ac_exeext && chmod +x conftest$ac_exeext' - if test "$cross_compiling" = yes; then : - { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error $? "cannot run test program while cross compiling -See \`config.log' for more details" "$LINENO" 5; } -else - cat > conftest.$ac_ext <<_ACEOF --module(conftest). --export([start/0]). - -start() -> - file:write_file("conftest.out", erlang:system_info(version)), - halt(0) -. - -_ACEOF -if ac_fn_erl_try_run "$LINENO"; then : - erlang_cv_erts_ver=`cat conftest.out` -else - if test ! -f conftest.out; then - { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error $? "test Erlang program execution failed -See \`config.log' for more details" "$LINENO" 5; } - else - erlang_cv_erts_ver="not found" - fi -fi -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext -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 - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $erlang_cv_erts_ver" >&5 -$as_echo "$erlang_cv_erts_ver" >&6; } -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for Erlang/OTP ERTS directory" >&5 -$as_echo_n "checking for Erlang/OTP ERTS directory... " >&6; } -if ${erlang_cv_erts_dir+:} false; then : - $as_echo_n "(cached) " >&6 -else - - erlang_cv_erts_dir="${ERLANG_ROOT_DIR}/erts-$erlang_cv_erts_ver" - if test ! -d "$erlang_cv_erts_dir"; then - erlang_cv_erts_dir="${ERLANG_ROOT_DIR}/usr" - fi - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $erlang_cv_erts_dir" >&5 -$as_echo "$erlang_cv_erts_dir" >&6; } -ERLANG_ERTS_DIR=$erlang_cv_erts_dir - -ERLANG_ERTS_VER=$erlang_cv_erts_ver - -if test "$erlang_cv_erts_ver" = "not found"; then : - -fi - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for Erlang/OTP release" >&5 -$as_echo_n "checking for Erlang/OTP release... " >&6; } -if ${erlang_cv_release+:} false; then : - $as_echo_n "(cached) " >&6 -else - - ac_ext=erl -ac_compile='$ERLC $ERLCFLAGS -b beam conftest.$ac_ext >&5' -ac_link='$ERLC $ERLCFLAGS -b beam conftest.$ac_ext >&5 && echo "#!/bin/sh" > conftest$ac_exeext && $as_echo "\"$ERL\" -run conftest start -run init stop -noshell" >> conftest$ac_exeext && chmod +x conftest$ac_exeext' - if test "$cross_compiling" = yes; then : - { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error $? "cannot run test program while cross compiling -See \`config.log' for more details" "$LINENO" 5; } -else - cat > conftest.$ac_ext <<_ACEOF --module(conftest). --export([start/0]). - -start() -> - file:write_file("conftest.out", erlang:system_info(otp_release)), - halt(0) -. - -_ACEOF -if ac_fn_erl_try_run "$LINENO"; then : - erlang_cv_release=`cat conftest.out` -else - if test ! -f conftest.out; then - { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error $? "test Erlang program execution failed -See \`config.log' for more details" "$LINENO" 5; } - else - erlang_cv_release="not found" - fi -fi -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext -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 - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $erlang_cv_release" >&5 -$as_echo "$erlang_cv_release" >&6; } -ERLANG_RELEASE=$erlang_cv_release - - - - - # Used to indicate true or false condition - ax_compare_version=false - - # Convert the two version strings to be compared into a format that - # allows a simple string comparison. The end result is that a version - # string of the form 1.12.5-r617 will be converted to the form - # 0001001200050617. In other words, each number is zero padded to four - # digits, and non digits are removed. - - ax_compare_version_A=`echo "${ERLANG_ERTS_VER}" | sed -e 's/\([0-9]*\)/Z\1Z/g' \ - -e 's/Z\([0-9]\)Z/Z0\1Z/g' \ - -e 's/Z\([0-9][0-9]\)Z/Z0\1Z/g' \ - -e 's/Z\([0-9][0-9][0-9]\)Z/Z0\1Z/g' \ - -e 's/[^0-9]//g'` - - - ax_compare_version_B=`echo "5.10.2" | sed -e 's/\([0-9]*\)/Z\1Z/g' \ - -e 's/Z\([0-9]\)Z/Z0\1Z/g' \ - -e 's/Z\([0-9][0-9]\)Z/Z0\1Z/g' \ - -e 's/Z\([0-9][0-9][0-9]\)Z/Z0\1Z/g' \ - -e 's/[^0-9]//g'` - - - ax_compare_version=`echo "x$ax_compare_version_A -x$ax_compare_version_B" | sed 's/^ *//' | sort -r | sed "s/x${ax_compare_version_A}/true/;s/x${ax_compare_version_B}/false/;1q"` - - - - if test "$ax_compare_version" = "true" ; then - : - else as_fn_error $? "Erlang R16B01 or higher is required but only Erlang $ERLANG_RELEASE was found!" "$LINENO" 5 - fi - - -if test "x${prefix}" != "xNONE" -a "x${ERLANG_INSTALL_LIB_DIR}" = "x"; then - ERLANG_INSTALL_LIB_DIR='${prefix}/lib' -else - ERLANG_INSTALL_LIB_DIR='${ERLANG_LIB_DIR}' -fi - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for Erlang/OTP library installation base directory" >&5 -$as_echo_n "checking for Erlang/OTP library installation base directory... " >&6; } - -if test -n "$ERLANG_INSTALL_LIB_DIR"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ERLANG_INSTALL_LIB_DIR" >&5 -$as_echo "$ERLANG_INSTALL_LIB_DIR" >&6; } -else - ERLANG_INSTALL_LIB_DIR='${libdir}/erlang/lib' - - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $libdir/erlang/lib" >&5 -$as_echo "$libdir/erlang/lib" >&6; } -fi - - -. ${srcdir}/vsn.mk - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for Erlang/OTP 'yaws' library installation subdirectory" >&5 -$as_echo_n "checking for Erlang/OTP 'yaws' library installation subdirectory... " >&6; } - -if test -n "$ERLANG_INSTALL_LIB_DIR_yaws"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ERLANG_INSTALL_LIB_DIR_yaws" >&5 -$as_echo "$ERLANG_INSTALL_LIB_DIR_yaws" >&6; } -else - ERLANG_INSTALL_LIB_DIR_yaws='${ERLANG_INSTALL_LIB_DIR}/yaws-${YAWS_VSN}' - - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ERLANG_INSTALL_LIB_DIR/yaws-${YAWS_VSN}" >&5 -$as_echo "$ERLANG_INSTALL_LIB_DIR/yaws-${YAWS_VSN}" >&6; } -fi - - - -. ${srcdir}/applications/yapp/vsn.mk - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for Erlang/OTP 'yapp' library installation subdirectory" >&5 -$as_echo_n "checking for Erlang/OTP 'yapp' library installation subdirectory... " >&6; } - -if test -n "$ERLANG_INSTALL_LIB_DIR_yapp"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ERLANG_INSTALL_LIB_DIR_yapp" >&5 -$as_echo "$ERLANG_INSTALL_LIB_DIR_yapp" >&6; } -else - ERLANG_INSTALL_LIB_DIR_yapp='${ERLANG_INSTALL_LIB_DIR}/yapp-${YAPP_VSN}' - - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ERLANG_INSTALL_LIB_DIR/yapp-${YAPP_VSN}" >&5 -$as_echo "$ERLANG_INSTALL_LIB_DIR/yapp-${YAPP_VSN}" >&6; } -fi - - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for Erlang/OTP 'kernel' library subdirectory" >&5 -$as_echo_n "checking for Erlang/OTP 'kernel' library subdirectory... " >&6; } -if ${ac_cv_erlang_lib_dir_kernel+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_ext=erl -ac_compile='$ERLC $ERLCFLAGS -b beam conftest.$ac_ext >&5' -ac_link='$ERLC $ERLCFLAGS -b beam conftest.$ac_ext >&5 && echo "#!/bin/sh" > conftest$ac_exeext && $as_echo "\"$ERL\" -run conftest start -run init stop -noshell" >> conftest$ac_exeext && chmod +x conftest$ac_exeext' - if test "$cross_compiling" = yes; then : - { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error $? "cannot run test program while cross compiling -See \`config.log' for more details" "$LINENO" 5; } -else - cat > conftest.$ac_ext <<_ACEOF --module(conftest). --export([start/0]). - -start() -> - ReturnValue = case code:lib_dir("kernel") of - {error, bad_name} -> - file:write_file("conftest.out", "not found\n"), - 1; - LibDir -> - file:write_file("conftest.out", LibDir), - 0 - end, - halt(ReturnValue) -. - -_ACEOF -if ac_fn_erl_try_run "$LINENO"; then : - ac_cv_erlang_lib_dir_kernel=`cat conftest.out` - rm -f conftest.out -else - if test ! -f conftest.out; then - { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error $? "test Erlang program execution failed -See \`config.log' for more details" "$LINENO" 5; } - else - ac_cv_erlang_lib_dir_kernel="not found" - rm -f conftest.out - fi -fi -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext -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 - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_erlang_lib_dir_kernel" >&5 -$as_echo "$ac_cv_erlang_lib_dir_kernel" >&6; } -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for Erlang/OTP 'kernel' library version" >&5 -$as_echo_n "checking for Erlang/OTP 'kernel' library version... " >&6; } -if ${ac_cv_erlang_lib_ver_kernel+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test "$ac_cv_erlang_lib_dir_kernel" = "not found"; then : - ac_cv_erlang_lib_ver_kernel="not found" -else - ac_cv_erlang_lib_ver_kernel=`$as_echo "$ac_cv_erlang_lib_dir_kernel" | sed -n -e 's,^.*-\([^/-]*\)$,\1,p'` -fi -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_erlang_lib_ver_kernel" >&5 -$as_echo "$ac_cv_erlang_lib_ver_kernel" >&6; } -ERLANG_LIB_DIR_kernel=$ac_cv_erlang_lib_dir_kernel - -ERLANG_LIB_VER_kernel=$ac_cv_erlang_lib_ver_kernel - -if test "$ac_cv_erlang_lib_dir_kernel" = "not found"; then : - as_fn_error $? "\"kernel\" Erlang application not found." "$LINENO" 5 -fi - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for Erlang/OTP 'stdlib' library subdirectory" >&5 -$as_echo_n "checking for Erlang/OTP 'stdlib' library subdirectory... " >&6; } -if ${ac_cv_erlang_lib_dir_stdlib+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_ext=erl -ac_compile='$ERLC $ERLCFLAGS -b beam conftest.$ac_ext >&5' -ac_link='$ERLC $ERLCFLAGS -b beam conftest.$ac_ext >&5 && echo "#!/bin/sh" > conftest$ac_exeext && $as_echo "\"$ERL\" -run conftest start -run init stop -noshell" >> conftest$ac_exeext && chmod +x conftest$ac_exeext' - if test "$cross_compiling" = yes; then : - { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error $? "cannot run test program while cross compiling -See \`config.log' for more details" "$LINENO" 5; } -else - cat > conftest.$ac_ext <<_ACEOF --module(conftest). --export([start/0]). - -start() -> - ReturnValue = case code:lib_dir("stdlib") of - {error, bad_name} -> - file:write_file("conftest.out", "not found\n"), - 1; - LibDir -> - file:write_file("conftest.out", LibDir), - 0 - end, - halt(ReturnValue) -. - -_ACEOF -if ac_fn_erl_try_run "$LINENO"; then : - ac_cv_erlang_lib_dir_stdlib=`cat conftest.out` - rm -f conftest.out -else - if test ! -f conftest.out; then - { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error $? "test Erlang program execution failed -See \`config.log' for more details" "$LINENO" 5; } - else - ac_cv_erlang_lib_dir_stdlib="not found" - rm -f conftest.out - fi -fi -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext -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 - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_erlang_lib_dir_stdlib" >&5 -$as_echo "$ac_cv_erlang_lib_dir_stdlib" >&6; } -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for Erlang/OTP 'stdlib' library version" >&5 -$as_echo_n "checking for Erlang/OTP 'stdlib' library version... " >&6; } -if ${ac_cv_erlang_lib_ver_stdlib+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test "$ac_cv_erlang_lib_dir_stdlib" = "not found"; then : - ac_cv_erlang_lib_ver_stdlib="not found" -else - ac_cv_erlang_lib_ver_stdlib=`$as_echo "$ac_cv_erlang_lib_dir_stdlib" | sed -n -e 's,^.*-\([^/-]*\)$,\1,p'` -fi -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_erlang_lib_ver_stdlib" >&5 -$as_echo "$ac_cv_erlang_lib_ver_stdlib" >&6; } -ERLANG_LIB_DIR_stdlib=$ac_cv_erlang_lib_dir_stdlib - -ERLANG_LIB_VER_stdlib=$ac_cv_erlang_lib_ver_stdlib - -if test "$ac_cv_erlang_lib_dir_stdlib" = "not found"; then : - as_fn_error $? "\"stdlib\" Erlang application not found." "$LINENO" 5 -fi - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for Erlang/OTP 'sasl' library subdirectory" >&5 -$as_echo_n "checking for Erlang/OTP 'sasl' library subdirectory... " >&6; } -if ${ac_cv_erlang_lib_dir_sasl+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_ext=erl -ac_compile='$ERLC $ERLCFLAGS -b beam conftest.$ac_ext >&5' -ac_link='$ERLC $ERLCFLAGS -b beam conftest.$ac_ext >&5 && echo "#!/bin/sh" > conftest$ac_exeext && $as_echo "\"$ERL\" -run conftest start -run init stop -noshell" >> conftest$ac_exeext && chmod +x conftest$ac_exeext' - if test "$cross_compiling" = yes; then : - { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error $? "cannot run test program while cross compiling -See \`config.log' for more details" "$LINENO" 5; } -else - cat > conftest.$ac_ext <<_ACEOF --module(conftest). --export([start/0]). - -start() -> - ReturnValue = case code:lib_dir("sasl") of - {error, bad_name} -> - file:write_file("conftest.out", "not found\n"), - 1; - LibDir -> - file:write_file("conftest.out", LibDir), - 0 - end, - halt(ReturnValue) -. - -_ACEOF -if ac_fn_erl_try_run "$LINENO"; then : - ac_cv_erlang_lib_dir_sasl=`cat conftest.out` - rm -f conftest.out -else - if test ! -f conftest.out; then - { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error $? "test Erlang program execution failed -See \`config.log' for more details" "$LINENO" 5; } - else - ac_cv_erlang_lib_dir_sasl="not found" - rm -f conftest.out - fi -fi -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext -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 - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_erlang_lib_dir_sasl" >&5 -$as_echo "$ac_cv_erlang_lib_dir_sasl" >&6; } -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for Erlang/OTP 'sasl' library version" >&5 -$as_echo_n "checking for Erlang/OTP 'sasl' library version... " >&6; } -if ${ac_cv_erlang_lib_ver_sasl+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test "$ac_cv_erlang_lib_dir_sasl" = "not found"; then : - ac_cv_erlang_lib_ver_sasl="not found" -else - ac_cv_erlang_lib_ver_sasl=`$as_echo "$ac_cv_erlang_lib_dir_sasl" | sed -n -e 's,^.*-\([^/-]*\)$,\1,p'` -fi -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_erlang_lib_ver_sasl" >&5 -$as_echo "$ac_cv_erlang_lib_ver_sasl" >&6; } -ERLANG_LIB_DIR_sasl=$ac_cv_erlang_lib_dir_sasl - -ERLANG_LIB_VER_sasl=$ac_cv_erlang_lib_ver_sasl - -if test "$ac_cv_erlang_lib_dir_sasl" = "not found"; then : - as_fn_error $? "\"sasl\" Erlang application not found." "$LINENO" 5 -fi - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for Erlang/OTP 'erts' library subdirectory" >&5 -$as_echo_n "checking for Erlang/OTP 'erts' library subdirectory... " >&6; } -if ${ac_cv_erlang_lib_dir_erts+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_ext=erl -ac_compile='$ERLC $ERLCFLAGS -b beam conftest.$ac_ext >&5' -ac_link='$ERLC $ERLCFLAGS -b beam conftest.$ac_ext >&5 && echo "#!/bin/sh" > conftest$ac_exeext && $as_echo "\"$ERL\" -run conftest start -run init stop -noshell" >> conftest$ac_exeext && chmod +x conftest$ac_exeext' - if test "$cross_compiling" = yes; then : - { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error $? "cannot run test program while cross compiling -See \`config.log' for more details" "$LINENO" 5; } -else - cat > conftest.$ac_ext <<_ACEOF --module(conftest). --export([start/0]). - -start() -> - ReturnValue = case code:lib_dir("erts") of - {error, bad_name} -> - file:write_file("conftest.out", "not found\n"), - 1; - LibDir -> - file:write_file("conftest.out", LibDir), - 0 - end, - halt(ReturnValue) -. - -_ACEOF -if ac_fn_erl_try_run "$LINENO"; then : - ac_cv_erlang_lib_dir_erts=`cat conftest.out` - rm -f conftest.out -else - if test ! -f conftest.out; then - { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error $? "test Erlang program execution failed -See \`config.log' for more details" "$LINENO" 5; } - else - ac_cv_erlang_lib_dir_erts="not found" - rm -f conftest.out - fi -fi -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext -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 - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_erlang_lib_dir_erts" >&5 -$as_echo "$ac_cv_erlang_lib_dir_erts" >&6; } -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for Erlang/OTP 'erts' library version" >&5 -$as_echo_n "checking for Erlang/OTP 'erts' library version... " >&6; } -if ${ac_cv_erlang_lib_ver_erts+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test "$ac_cv_erlang_lib_dir_erts" = "not found"; then : - ac_cv_erlang_lib_ver_erts="not found" -else - ac_cv_erlang_lib_ver_erts=`$as_echo "$ac_cv_erlang_lib_dir_erts" | sed -n -e 's,^.*-\([^/-]*\)$,\1,p'` -fi -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_erlang_lib_ver_erts" >&5 -$as_echo "$ac_cv_erlang_lib_ver_erts" >&6; } -ERLANG_LIB_DIR_erts=$ac_cv_erlang_lib_dir_erts - -ERLANG_LIB_VER_erts=$ac_cv_erlang_lib_ver_erts - -if test "$ac_cv_erlang_lib_dir_erts" = "not found"; then : - as_fn_error $? "\"erts\" Erlang application not found." "$LINENO" 5 -fi - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for Erlang/OTP 'compiler' library subdirectory" >&5 -$as_echo_n "checking for Erlang/OTP 'compiler' library subdirectory... " >&6; } -if ${ac_cv_erlang_lib_dir_compiler+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_ext=erl -ac_compile='$ERLC $ERLCFLAGS -b beam conftest.$ac_ext >&5' -ac_link='$ERLC $ERLCFLAGS -b beam conftest.$ac_ext >&5 && echo "#!/bin/sh" > conftest$ac_exeext && $as_echo "\"$ERL\" -run conftest start -run init stop -noshell" >> conftest$ac_exeext && chmod +x conftest$ac_exeext' - if test "$cross_compiling" = yes; then : - { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error $? "cannot run test program while cross compiling -See \`config.log' for more details" "$LINENO" 5; } -else - cat > conftest.$ac_ext <<_ACEOF --module(conftest). --export([start/0]). - -start() -> - ReturnValue = case code:lib_dir("compiler") of - {error, bad_name} -> - file:write_file("conftest.out", "not found\n"), - 1; - LibDir -> - file:write_file("conftest.out", LibDir), - 0 - end, - halt(ReturnValue) -. - -_ACEOF -if ac_fn_erl_try_run "$LINENO"; then : - ac_cv_erlang_lib_dir_compiler=`cat conftest.out` - rm -f conftest.out -else - if test ! -f conftest.out; then - { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error $? "test Erlang program execution failed -See \`config.log' for more details" "$LINENO" 5; } - else - ac_cv_erlang_lib_dir_compiler="not found" - rm -f conftest.out - fi -fi -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext -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 - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_erlang_lib_dir_compiler" >&5 -$as_echo "$ac_cv_erlang_lib_dir_compiler" >&6; } -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for Erlang/OTP 'compiler' library version" >&5 -$as_echo_n "checking for Erlang/OTP 'compiler' library version... " >&6; } -if ${ac_cv_erlang_lib_ver_compiler+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test "$ac_cv_erlang_lib_dir_compiler" = "not found"; then : - ac_cv_erlang_lib_ver_compiler="not found" -else - ac_cv_erlang_lib_ver_compiler=`$as_echo "$ac_cv_erlang_lib_dir_compiler" | sed -n -e 's,^.*-\([^/-]*\)$,\1,p'` -fi -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_erlang_lib_ver_compiler" >&5 -$as_echo "$ac_cv_erlang_lib_ver_compiler" >&6; } -ERLANG_LIB_DIR_compiler=$ac_cv_erlang_lib_dir_compiler - -ERLANG_LIB_VER_compiler=$ac_cv_erlang_lib_ver_compiler - -if test "$ac_cv_erlang_lib_dir_compiler" = "not found"; then : - as_fn_error $? "\"compiler\" Erlang application not found." "$LINENO" 5 -fi - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for Erlang/OTP 'crypto' library subdirectory" >&5 -$as_echo_n "checking for Erlang/OTP 'crypto' library subdirectory... " >&6; } -if ${ac_cv_erlang_lib_dir_crypto+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_ext=erl -ac_compile='$ERLC $ERLCFLAGS -b beam conftest.$ac_ext >&5' -ac_link='$ERLC $ERLCFLAGS -b beam conftest.$ac_ext >&5 && echo "#!/bin/sh" > conftest$ac_exeext && $as_echo "\"$ERL\" -run conftest start -run init stop -noshell" >> conftest$ac_exeext && chmod +x conftest$ac_exeext' - if test "$cross_compiling" = yes; then : - { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error $? "cannot run test program while cross compiling -See \`config.log' for more details" "$LINENO" 5; } -else - cat > conftest.$ac_ext <<_ACEOF --module(conftest). --export([start/0]). - -start() -> - ReturnValue = case code:lib_dir("crypto") of - {error, bad_name} -> - file:write_file("conftest.out", "not found\n"), - 1; - LibDir -> - file:write_file("conftest.out", LibDir), - 0 - end, - halt(ReturnValue) -. - -_ACEOF -if ac_fn_erl_try_run "$LINENO"; then : - ac_cv_erlang_lib_dir_crypto=`cat conftest.out` - rm -f conftest.out -else - if test ! -f conftest.out; then - { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error $? "test Erlang program execution failed -See \`config.log' for more details" "$LINENO" 5; } - else - ac_cv_erlang_lib_dir_crypto="not found" - rm -f conftest.out - fi -fi -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext -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 - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_erlang_lib_dir_crypto" >&5 -$as_echo "$ac_cv_erlang_lib_dir_crypto" >&6; } -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for Erlang/OTP 'crypto' library version" >&5 -$as_echo_n "checking for Erlang/OTP 'crypto' library version... " >&6; } -if ${ac_cv_erlang_lib_ver_crypto+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test "$ac_cv_erlang_lib_dir_crypto" = "not found"; then : - ac_cv_erlang_lib_ver_crypto="not found" -else - ac_cv_erlang_lib_ver_crypto=`$as_echo "$ac_cv_erlang_lib_dir_crypto" | sed -n -e 's,^.*-\([^/-]*\)$,\1,p'` -fi -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_erlang_lib_ver_crypto" >&5 -$as_echo "$ac_cv_erlang_lib_ver_crypto" >&6; } -ERLANG_LIB_DIR_crypto=$ac_cv_erlang_lib_dir_crypto - -ERLANG_LIB_VER_crypto=$ac_cv_erlang_lib_ver_crypto - -if test "$ac_cv_erlang_lib_dir_crypto" = "not found"; then : - as_fn_error $? "\"crypto\" Erlang application not found." "$LINENO" 5 -fi - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for Erlang/OTP 'xmerl' library subdirectory" >&5 -$as_echo_n "checking for Erlang/OTP 'xmerl' library subdirectory... " >&6; } -if ${ac_cv_erlang_lib_dir_xmerl+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_ext=erl -ac_compile='$ERLC $ERLCFLAGS -b beam conftest.$ac_ext >&5' -ac_link='$ERLC $ERLCFLAGS -b beam conftest.$ac_ext >&5 && echo "#!/bin/sh" > conftest$ac_exeext && $as_echo "\"$ERL\" -run conftest start -run init stop -noshell" >> conftest$ac_exeext && chmod +x conftest$ac_exeext' - if test "$cross_compiling" = yes; then : - { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error $? "cannot run test program while cross compiling -See \`config.log' for more details" "$LINENO" 5; } -else - cat > conftest.$ac_ext <<_ACEOF --module(conftest). --export([start/0]). - -start() -> - ReturnValue = case code:lib_dir("xmerl") of - {error, bad_name} -> - file:write_file("conftest.out", "not found\n"), - 1; - LibDir -> - file:write_file("conftest.out", LibDir), - 0 - end, - halt(ReturnValue) -. - -_ACEOF -if ac_fn_erl_try_run "$LINENO"; then : - ac_cv_erlang_lib_dir_xmerl=`cat conftest.out` - rm -f conftest.out -else - if test ! -f conftest.out; then - { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error $? "test Erlang program execution failed -See \`config.log' for more details" "$LINENO" 5; } - else - ac_cv_erlang_lib_dir_xmerl="not found" - rm -f conftest.out - fi -fi -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext -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 - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_erlang_lib_dir_xmerl" >&5 -$as_echo "$ac_cv_erlang_lib_dir_xmerl" >&6; } -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for Erlang/OTP 'xmerl' library version" >&5 -$as_echo_n "checking for Erlang/OTP 'xmerl' library version... " >&6; } -if ${ac_cv_erlang_lib_ver_xmerl+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test "$ac_cv_erlang_lib_dir_xmerl" = "not found"; then : - ac_cv_erlang_lib_ver_xmerl="not found" -else - ac_cv_erlang_lib_ver_xmerl=`$as_echo "$ac_cv_erlang_lib_dir_xmerl" | sed -n -e 's,^.*-\([^/-]*\)$,\1,p'` -fi -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_erlang_lib_ver_xmerl" >&5 -$as_echo "$ac_cv_erlang_lib_ver_xmerl" >&6; } -ERLANG_LIB_DIR_xmerl=$ac_cv_erlang_lib_dir_xmerl - -ERLANG_LIB_VER_xmerl=$ac_cv_erlang_lib_ver_xmerl - -if test "$ac_cv_erlang_lib_dir_xmerl" = "not found"; then : - as_fn_error $? "\"xmerl\" Erlang application not found." "$LINENO" 5 -fi - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for Erlang/OTP 'public_key' library subdirectory" >&5 -$as_echo_n "checking for Erlang/OTP 'public_key' library subdirectory... " >&6; } -if ${ac_cv_erlang_lib_dir_public_key+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_ext=erl -ac_compile='$ERLC $ERLCFLAGS -b beam conftest.$ac_ext >&5' -ac_link='$ERLC $ERLCFLAGS -b beam conftest.$ac_ext >&5 && echo "#!/bin/sh" > conftest$ac_exeext && $as_echo "\"$ERL\" -run conftest start -run init stop -noshell" >> conftest$ac_exeext && chmod +x conftest$ac_exeext' - if test "$cross_compiling" = yes; then : - { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error $? "cannot run test program while cross compiling -See \`config.log' for more details" "$LINENO" 5; } -else - cat > conftest.$ac_ext <<_ACEOF --module(conftest). --export([start/0]). - -start() -> - ReturnValue = case code:lib_dir("public_key") of - {error, bad_name} -> - file:write_file("conftest.out", "not found\n"), - 1; - LibDir -> - file:write_file("conftest.out", LibDir), - 0 - end, - halt(ReturnValue) -. - -_ACEOF -if ac_fn_erl_try_run "$LINENO"; then : - ac_cv_erlang_lib_dir_public_key=`cat conftest.out` - rm -f conftest.out -else - if test ! -f conftest.out; then - { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error $? "test Erlang program execution failed -See \`config.log' for more details" "$LINENO" 5; } - else - ac_cv_erlang_lib_dir_public_key="not found" - rm -f conftest.out - fi -fi -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext -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 - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_erlang_lib_dir_public_key" >&5 -$as_echo "$ac_cv_erlang_lib_dir_public_key" >&6; } -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for Erlang/OTP 'public_key' library version" >&5 -$as_echo_n "checking for Erlang/OTP 'public_key' library version... " >&6; } -if ${ac_cv_erlang_lib_ver_public_key+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test "$ac_cv_erlang_lib_dir_public_key" = "not found"; then : - ac_cv_erlang_lib_ver_public_key="not found" -else - ac_cv_erlang_lib_ver_public_key=`$as_echo "$ac_cv_erlang_lib_dir_public_key" | sed -n -e 's,^.*-\([^/-]*\)$,\1,p'` -fi -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_erlang_lib_ver_public_key" >&5 -$as_echo "$ac_cv_erlang_lib_ver_public_key" >&6; } -ERLANG_LIB_DIR_public_key=$ac_cv_erlang_lib_dir_public_key - -ERLANG_LIB_VER_public_key=$ac_cv_erlang_lib_ver_public_key - -if test "$ac_cv_erlang_lib_dir_public_key" = "not found"; then : - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: \"public_key\" Erlang application not found. -It could be required to run Yaws or its testsuites." >&5 -$as_echo "$as_me: WARNING: \"public_key\" Erlang application not found. -It could be required to run Yaws or its testsuites." >&2;} -fi - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for Erlang/OTP 'ssl' library subdirectory" >&5 -$as_echo_n "checking for Erlang/OTP 'ssl' library subdirectory... " >&6; } -if ${ac_cv_erlang_lib_dir_ssl+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_ext=erl -ac_compile='$ERLC $ERLCFLAGS -b beam conftest.$ac_ext >&5' -ac_link='$ERLC $ERLCFLAGS -b beam conftest.$ac_ext >&5 && echo "#!/bin/sh" > conftest$ac_exeext && $as_echo "\"$ERL\" -run conftest start -run init stop -noshell" >> conftest$ac_exeext && chmod +x conftest$ac_exeext' - if test "$cross_compiling" = yes; then : - { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error $? "cannot run test program while cross compiling -See \`config.log' for more details" "$LINENO" 5; } -else - cat > conftest.$ac_ext <<_ACEOF --module(conftest). --export([start/0]). - -start() -> - ReturnValue = case code:lib_dir("ssl") of - {error, bad_name} -> - file:write_file("conftest.out", "not found\n"), - 1; - LibDir -> - file:write_file("conftest.out", LibDir), - 0 - end, - halt(ReturnValue) -. - -_ACEOF -if ac_fn_erl_try_run "$LINENO"; then : - ac_cv_erlang_lib_dir_ssl=`cat conftest.out` - rm -f conftest.out -else - if test ! -f conftest.out; then - { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error $? "test Erlang program execution failed -See \`config.log' for more details" "$LINENO" 5; } - else - ac_cv_erlang_lib_dir_ssl="not found" - rm -f conftest.out - fi -fi -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext -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 - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_erlang_lib_dir_ssl" >&5 -$as_echo "$ac_cv_erlang_lib_dir_ssl" >&6; } -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for Erlang/OTP 'ssl' library version" >&5 -$as_echo_n "checking for Erlang/OTP 'ssl' library version... " >&6; } -if ${ac_cv_erlang_lib_ver_ssl+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test "$ac_cv_erlang_lib_dir_ssl" = "not found"; then : - ac_cv_erlang_lib_ver_ssl="not found" -else - ac_cv_erlang_lib_ver_ssl=`$as_echo "$ac_cv_erlang_lib_dir_ssl" | sed -n -e 's,^.*-\([^/-]*\)$,\1,p'` -fi -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_erlang_lib_ver_ssl" >&5 -$as_echo "$ac_cv_erlang_lib_ver_ssl" >&6; } -ERLANG_LIB_DIR_ssl=$ac_cv_erlang_lib_dir_ssl - -ERLANG_LIB_VER_ssl=$ac_cv_erlang_lib_ver_ssl - -if test "$ac_cv_erlang_lib_dir_ssl" = "not found"; then : - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: \"ssl\" Erlang application not found. -It could be required to run Yaws or its testsuites." >&5 -$as_echo "$as_me: WARNING: \"ssl\" Erlang application not found. -It could be required to run Yaws or its testsuites." >&2;} -fi - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for Erlang/OTP 'mnesia' library subdirectory" >&5 -$as_echo_n "checking for Erlang/OTP 'mnesia' library subdirectory... " >&6; } -if ${ac_cv_erlang_lib_dir_mnesia+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_ext=erl -ac_compile='$ERLC $ERLCFLAGS -b beam conftest.$ac_ext >&5' -ac_link='$ERLC $ERLCFLAGS -b beam conftest.$ac_ext >&5 && echo "#!/bin/sh" > conftest$ac_exeext && $as_echo "\"$ERL\" -run conftest start -run init stop -noshell" >> conftest$ac_exeext && chmod +x conftest$ac_exeext' - if test "$cross_compiling" = yes; then : - { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error $? "cannot run test program while cross compiling -See \`config.log' for more details" "$LINENO" 5; } -else - cat > conftest.$ac_ext <<_ACEOF --module(conftest). --export([start/0]). - -start() -> - ReturnValue = case code:lib_dir("mnesia") of - {error, bad_name} -> - file:write_file("conftest.out", "not found\n"), - 1; - LibDir -> - file:write_file("conftest.out", LibDir), - 0 - end, - halt(ReturnValue) -. - -_ACEOF -if ac_fn_erl_try_run "$LINENO"; then : - ac_cv_erlang_lib_dir_mnesia=`cat conftest.out` - rm -f conftest.out -else - if test ! -f conftest.out; then - { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error $? "test Erlang program execution failed -See \`config.log' for more details" "$LINENO" 5; } - else - ac_cv_erlang_lib_dir_mnesia="not found" - rm -f conftest.out - fi -fi -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext -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 - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_erlang_lib_dir_mnesia" >&5 -$as_echo "$ac_cv_erlang_lib_dir_mnesia" >&6; } -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for Erlang/OTP 'mnesia' library version" >&5 -$as_echo_n "checking for Erlang/OTP 'mnesia' library version... " >&6; } -if ${ac_cv_erlang_lib_ver_mnesia+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test "$ac_cv_erlang_lib_dir_mnesia" = "not found"; then : - ac_cv_erlang_lib_ver_mnesia="not found" -else - ac_cv_erlang_lib_ver_mnesia=`$as_echo "$ac_cv_erlang_lib_dir_mnesia" | sed -n -e 's,^.*-\([^/-]*\)$,\1,p'` -fi -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_erlang_lib_ver_mnesia" >&5 -$as_echo "$ac_cv_erlang_lib_ver_mnesia" >&6; } -ERLANG_LIB_DIR_mnesia=$ac_cv_erlang_lib_dir_mnesia - -ERLANG_LIB_VER_mnesia=$ac_cv_erlang_lib_ver_mnesia - -if test "$ac_cv_erlang_lib_dir_mnesia" = "not found"; then : - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: \"mnesia\" Erlang application not found. -It could be required to run Yaws or its testsuites." >&5 -$as_echo "$as_me: WARNING: \"mnesia\" Erlang application not found. -It could be required to run Yaws or its testsuites." >&2;} -fi - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for Erlang/OTP 'eunit' library subdirectory" >&5 -$as_echo_n "checking for Erlang/OTP 'eunit' library subdirectory... " >&6; } -if ${ac_cv_erlang_lib_dir_eunit+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_ext=erl -ac_compile='$ERLC $ERLCFLAGS -b beam conftest.$ac_ext >&5' -ac_link='$ERLC $ERLCFLAGS -b beam conftest.$ac_ext >&5 && echo "#!/bin/sh" > conftest$ac_exeext && $as_echo "\"$ERL\" -run conftest start -run init stop -noshell" >> conftest$ac_exeext && chmod +x conftest$ac_exeext' - if test "$cross_compiling" = yes; then : - { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error $? "cannot run test program while cross compiling -See \`config.log' for more details" "$LINENO" 5; } -else - cat > conftest.$ac_ext <<_ACEOF --module(conftest). --export([start/0]). - -start() -> - ReturnValue = case code:lib_dir("eunit") of - {error, bad_name} -> - file:write_file("conftest.out", "not found\n"), - 1; - LibDir -> - file:write_file("conftest.out", LibDir), - 0 - end, - halt(ReturnValue) -. - -_ACEOF -if ac_fn_erl_try_run "$LINENO"; then : - ac_cv_erlang_lib_dir_eunit=`cat conftest.out` - rm -f conftest.out -else - if test ! -f conftest.out; then - { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error $? "test Erlang program execution failed -See \`config.log' for more details" "$LINENO" 5; } - else - ac_cv_erlang_lib_dir_eunit="not found" - rm -f conftest.out - fi -fi -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext -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 - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_erlang_lib_dir_eunit" >&5 -$as_echo "$ac_cv_erlang_lib_dir_eunit" >&6; } -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for Erlang/OTP 'eunit' library version" >&5 -$as_echo_n "checking for Erlang/OTP 'eunit' library version... " >&6; } -if ${ac_cv_erlang_lib_ver_eunit+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test "$ac_cv_erlang_lib_dir_eunit" = "not found"; then : - ac_cv_erlang_lib_ver_eunit="not found" -else - ac_cv_erlang_lib_ver_eunit=`$as_echo "$ac_cv_erlang_lib_dir_eunit" | sed -n -e 's,^.*-\([^/-]*\)$,\1,p'` -fi -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_erlang_lib_ver_eunit" >&5 -$as_echo "$ac_cv_erlang_lib_ver_eunit" >&6; } -ERLANG_LIB_DIR_eunit=$ac_cv_erlang_lib_dir_eunit - -ERLANG_LIB_VER_eunit=$ac_cv_erlang_lib_ver_eunit - -if test "$ac_cv_erlang_lib_dir_eunit" = "not found"; then : - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: \"eunit\" Erlang application not found. -It could be required to run Yaws or its testsuites." >&5 -$as_echo "$as_me: WARNING: \"eunit\" Erlang application not found. -It could be required to run Yaws or its testsuites." >&2;} -fi - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for Erlang/OTP 'erlsom' library subdirectory" >&5 -$as_echo_n "checking for Erlang/OTP 'erlsom' library subdirectory... " >&6; } -if ${ac_cv_erlang_lib_dir_erlsom+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_ext=erl -ac_compile='$ERLC $ERLCFLAGS -b beam conftest.$ac_ext >&5' -ac_link='$ERLC $ERLCFLAGS -b beam conftest.$ac_ext >&5 && echo "#!/bin/sh" > conftest$ac_exeext && $as_echo "\"$ERL\" -run conftest start -run init stop -noshell" >> conftest$ac_exeext && chmod +x conftest$ac_exeext' - if test "$cross_compiling" = yes; then : - { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error $? "cannot run test program while cross compiling -See \`config.log' for more details" "$LINENO" 5; } -else - cat > conftest.$ac_ext <<_ACEOF --module(conftest). --export([start/0]). - -start() -> - ReturnValue = case code:lib_dir("erlsom") of - {error, bad_name} -> - file:write_file("conftest.out", "not found\n"), - 1; - LibDir -> - file:write_file("conftest.out", LibDir), - 0 - end, - halt(ReturnValue) -. - -_ACEOF -if ac_fn_erl_try_run "$LINENO"; then : - ac_cv_erlang_lib_dir_erlsom=`cat conftest.out` - rm -f conftest.out -else - if test ! -f conftest.out; then - { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error $? "test Erlang program execution failed -See \`config.log' for more details" "$LINENO" 5; } - else - ac_cv_erlang_lib_dir_erlsom="not found" - rm -f conftest.out - fi -fi -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext -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 - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_erlang_lib_dir_erlsom" >&5 -$as_echo "$ac_cv_erlang_lib_dir_erlsom" >&6; } -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for Erlang/OTP 'erlsom' library version" >&5 -$as_echo_n "checking for Erlang/OTP 'erlsom' library version... " >&6; } -if ${ac_cv_erlang_lib_ver_erlsom+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test "$ac_cv_erlang_lib_dir_erlsom" = "not found"; then : - ac_cv_erlang_lib_ver_erlsom="not found" -else - ac_cv_erlang_lib_ver_erlsom=`$as_echo "$ac_cv_erlang_lib_dir_erlsom" | sed -n -e 's,^.*-\([^/-]*\)$,\1,p'` -fi -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_erlang_lib_ver_erlsom" >&5 -$as_echo "$ac_cv_erlang_lib_ver_erlsom" >&6; } -ERLANG_LIB_DIR_erlsom=$ac_cv_erlang_lib_dir_erlsom - -ERLANG_LIB_VER_erlsom=$ac_cv_erlang_lib_ver_erlsom - -if test "$ac_cv_erlang_lib_dir_erlsom" = "not found"; then : - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: \"erlsom\" Erlang application not found. -It could be required to run Yaws or its testsuites." >&5 -$as_echo "$as_me: WARNING: \"erlsom\" Erlang application not found. -It could be required to run Yaws or its testsuites." >&2;} -fi - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for Erlang/OTP 'xmlrpc' library subdirectory" >&5 -$as_echo_n "checking for Erlang/OTP 'xmlrpc' library subdirectory... " >&6; } -if ${ac_cv_erlang_lib_dir_xmlrpc+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_ext=erl -ac_compile='$ERLC $ERLCFLAGS -b beam conftest.$ac_ext >&5' -ac_link='$ERLC $ERLCFLAGS -b beam conftest.$ac_ext >&5 && echo "#!/bin/sh" > conftest$ac_exeext && $as_echo "\"$ERL\" -run conftest start -run init stop -noshell" >> conftest$ac_exeext && chmod +x conftest$ac_exeext' - if test "$cross_compiling" = yes; then : - { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error $? "cannot run test program while cross compiling -See \`config.log' for more details" "$LINENO" 5; } -else - cat > conftest.$ac_ext <<_ACEOF --module(conftest). --export([start/0]). - -start() -> - ReturnValue = case code:lib_dir("xmlrpc") of - {error, bad_name} -> - file:write_file("conftest.out", "not found\n"), - 1; - LibDir -> - file:write_file("conftest.out", LibDir), - 0 - end, - halt(ReturnValue) -. - -_ACEOF -if ac_fn_erl_try_run "$LINENO"; then : - ac_cv_erlang_lib_dir_xmlrpc=`cat conftest.out` - rm -f conftest.out -else - if test ! -f conftest.out; then - { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error $? "test Erlang program execution failed -See \`config.log' for more details" "$LINENO" 5; } - else - ac_cv_erlang_lib_dir_xmlrpc="not found" - rm -f conftest.out - fi -fi -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext -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 - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_erlang_lib_dir_xmlrpc" >&5 -$as_echo "$ac_cv_erlang_lib_dir_xmlrpc" >&6; } -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for Erlang/OTP 'xmlrpc' library version" >&5 -$as_echo_n "checking for Erlang/OTP 'xmlrpc' library version... " >&6; } -if ${ac_cv_erlang_lib_ver_xmlrpc+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test "$ac_cv_erlang_lib_dir_xmlrpc" = "not found"; then : - ac_cv_erlang_lib_ver_xmlrpc="not found" -else - ac_cv_erlang_lib_ver_xmlrpc=`$as_echo "$ac_cv_erlang_lib_dir_xmlrpc" | sed -n -e 's,^.*-\([^/-]*\)$,\1,p'` -fi -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_erlang_lib_ver_xmlrpc" >&5 -$as_echo "$ac_cv_erlang_lib_ver_xmlrpc" >&6; } -ERLANG_LIB_DIR_xmlrpc=$ac_cv_erlang_lib_dir_xmlrpc - -ERLANG_LIB_VER_xmlrpc=$ac_cv_erlang_lib_ver_xmlrpc - -if test "$ac_cv_erlang_lib_dir_xmlrpc" = "not found"; then : - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: \"xmlrpc\" Erlang application not found. -It could be required to run Yaws or its testsuites." >&5 -$as_echo "$as_me: WARNING: \"xmlrpc\" Erlang application not found. -It could be required to run Yaws or its testsuites." >&2;} -fi - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for Erlang/OTP 'inets' library subdirectory" >&5 -$as_echo_n "checking for Erlang/OTP 'inets' library subdirectory... " >&6; } -if ${ac_cv_erlang_lib_dir_inets+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_ext=erl -ac_compile='$ERLC $ERLCFLAGS -b beam conftest.$ac_ext >&5' -ac_link='$ERLC $ERLCFLAGS -b beam conftest.$ac_ext >&5 && echo "#!/bin/sh" > conftest$ac_exeext && $as_echo "\"$ERL\" -run conftest start -run init stop -noshell" >> conftest$ac_exeext && chmod +x conftest$ac_exeext' - if test "$cross_compiling" = yes; then : - { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error $? "cannot run test program while cross compiling -See \`config.log' for more details" "$LINENO" 5; } -else - cat > conftest.$ac_ext <<_ACEOF --module(conftest). --export([start/0]). - -start() -> - ReturnValue = case code:lib_dir("inets") of - {error, bad_name} -> - file:write_file("conftest.out", "not found\n"), - 1; - LibDir -> - file:write_file("conftest.out", LibDir), - 0 - end, - halt(ReturnValue) -. - -_ACEOF -if ac_fn_erl_try_run "$LINENO"; then : - ac_cv_erlang_lib_dir_inets=`cat conftest.out` - rm -f conftest.out -else - if test ! -f conftest.out; then - { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error $? "test Erlang program execution failed -See \`config.log' for more details" "$LINENO" 5; } - else - ac_cv_erlang_lib_dir_inets="not found" - rm -f conftest.out - fi -fi -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext -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 - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_erlang_lib_dir_inets" >&5 -$as_echo "$ac_cv_erlang_lib_dir_inets" >&6; } -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for Erlang/OTP 'inets' library version" >&5 -$as_echo_n "checking for Erlang/OTP 'inets' library version... " >&6; } -if ${ac_cv_erlang_lib_ver_inets+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test "$ac_cv_erlang_lib_dir_inets" = "not found"; then : - ac_cv_erlang_lib_ver_inets="not found" -else - ac_cv_erlang_lib_ver_inets=`$as_echo "$ac_cv_erlang_lib_dir_inets" | sed -n -e 's,^.*-\([^/-]*\)$,\1,p'` -fi -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_erlang_lib_ver_inets" >&5 -$as_echo "$ac_cv_erlang_lib_ver_inets" >&6; } -ERLANG_LIB_DIR_inets=$ac_cv_erlang_lib_dir_inets - -ERLANG_LIB_VER_inets=$ac_cv_erlang_lib_ver_inets - -if test "$ac_cv_erlang_lib_dir_inets" = "not found"; then : - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: \"inets\" Erlang application not found. -It could be required to run Yaws or its testsuites." >&5 -$as_echo "$as_me: WARNING: \"inets\" Erlang application not found. -It could be required to run Yaws or its testsuites." >&2;} -fi - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for Erlang/OTP 'tools' library subdirectory" >&5 -$as_echo_n "checking for Erlang/OTP 'tools' library subdirectory... " >&6; } -if ${ac_cv_erlang_lib_dir_tools+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_ext=erl -ac_compile='$ERLC $ERLCFLAGS -b beam conftest.$ac_ext >&5' -ac_link='$ERLC $ERLCFLAGS -b beam conftest.$ac_ext >&5 && echo "#!/bin/sh" > conftest$ac_exeext && $as_echo "\"$ERL\" -run conftest start -run init stop -noshell" >> conftest$ac_exeext && chmod +x conftest$ac_exeext' - if test "$cross_compiling" = yes; then : - { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error $? "cannot run test program while cross compiling -See \`config.log' for more details" "$LINENO" 5; } -else - cat > conftest.$ac_ext <<_ACEOF --module(conftest). --export([start/0]). - -start() -> - ReturnValue = case code:lib_dir("tools") of - {error, bad_name} -> - file:write_file("conftest.out", "not found\n"), - 1; - LibDir -> - file:write_file("conftest.out", LibDir), - 0 - end, - halt(ReturnValue) -. - -_ACEOF -if ac_fn_erl_try_run "$LINENO"; then : - ac_cv_erlang_lib_dir_tools=`cat conftest.out` - rm -f conftest.out -else - if test ! -f conftest.out; then - { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error $? "test Erlang program execution failed -See \`config.log' for more details" "$LINENO" 5; } - else - ac_cv_erlang_lib_dir_tools="not found" - rm -f conftest.out - fi -fi -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext -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 - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_erlang_lib_dir_tools" >&5 -$as_echo "$ac_cv_erlang_lib_dir_tools" >&6; } -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for Erlang/OTP 'tools' library version" >&5 -$as_echo_n "checking for Erlang/OTP 'tools' library version... " >&6; } -if ${ac_cv_erlang_lib_ver_tools+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test "$ac_cv_erlang_lib_dir_tools" = "not found"; then : - ac_cv_erlang_lib_ver_tools="not found" -else - ac_cv_erlang_lib_ver_tools=`$as_echo "$ac_cv_erlang_lib_dir_tools" | sed -n -e 's,^.*-\([^/-]*\)$,\1,p'` -fi -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_erlang_lib_ver_tools" >&5 -$as_echo "$ac_cv_erlang_lib_ver_tools" >&6; } -ERLANG_LIB_DIR_tools=$ac_cv_erlang_lib_dir_tools - -ERLANG_LIB_VER_tools=$ac_cv_erlang_lib_ver_tools - -if test "$ac_cv_erlang_lib_dir_tools" = "not found"; then : - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: \"tools\" Erlang application not found. -It could be required to run Yaws or its testsuites." >&5 -$as_echo "$as_me: WARNING: \"tools\" Erlang application not found. -It could be required to run Yaws or its testsuites." >&2;} -fi - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for Erlang/OTP 'common_test' library subdirectory" >&5 -$as_echo_n "checking for Erlang/OTP 'common_test' library subdirectory... " >&6; } -if ${ac_cv_erlang_lib_dir_common_test+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_ext=erl -ac_compile='$ERLC $ERLCFLAGS -b beam conftest.$ac_ext >&5' -ac_link='$ERLC $ERLCFLAGS -b beam conftest.$ac_ext >&5 && echo "#!/bin/sh" > conftest$ac_exeext && $as_echo "\"$ERL\" -run conftest start -run init stop -noshell" >> conftest$ac_exeext && chmod +x conftest$ac_exeext' - if test "$cross_compiling" = yes; then : - { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error $? "cannot run test program while cross compiling -See \`config.log' for more details" "$LINENO" 5; } -else - cat > conftest.$ac_ext <<_ACEOF --module(conftest). --export([start/0]). - -start() -> - ReturnValue = case code:lib_dir("common_test") of - {error, bad_name} -> - file:write_file("conftest.out", "not found\n"), - 1; - LibDir -> - file:write_file("conftest.out", LibDir), - 0 - end, - halt(ReturnValue) -. - -_ACEOF -if ac_fn_erl_try_run "$LINENO"; then : - ac_cv_erlang_lib_dir_common_test=`cat conftest.out` - rm -f conftest.out -else - if test ! -f conftest.out; then - { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error $? "test Erlang program execution failed -See \`config.log' for more details" "$LINENO" 5; } - else - ac_cv_erlang_lib_dir_common_test="not found" - rm -f conftest.out - fi -fi -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext -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 - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_erlang_lib_dir_common_test" >&5 -$as_echo "$ac_cv_erlang_lib_dir_common_test" >&6; } -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for Erlang/OTP 'common_test' library version" >&5 -$as_echo_n "checking for Erlang/OTP 'common_test' library version... " >&6; } -if ${ac_cv_erlang_lib_ver_common_test+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test "$ac_cv_erlang_lib_dir_common_test" = "not found"; then : - ac_cv_erlang_lib_ver_common_test="not found" -else - ac_cv_erlang_lib_ver_common_test=`$as_echo "$ac_cv_erlang_lib_dir_common_test" | sed -n -e 's,^.*-\([^/-]*\)$,\1,p'` -fi -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_erlang_lib_ver_common_test" >&5 -$as_echo "$ac_cv_erlang_lib_ver_common_test" >&6; } -ERLANG_LIB_DIR_common_test=$ac_cv_erlang_lib_dir_common_test - -ERLANG_LIB_VER_common_test=$ac_cv_erlang_lib_ver_common_test - -if test "$ac_cv_erlang_lib_dir_common_test" = "not found"; then : - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: \"common_test\" Erlang application not found. -It could be required to run Yaws or its testsuites." >&5 -$as_echo "$as_me: WARNING: \"common_test\" Erlang application not found. -It could be required to run Yaws or its testsuites." >&2;} -fi - - -cross_compiling=$tmp_cross_compiling - -echo - - text=`$ECHO $seo "%BCheck platform-specific and system requirements%b" | sed -e "s/%B/${colored_echo_bold}/g" -e "s/%b/${colored_echo_norm}/g" 2>/dev/null` - $ECHO $seo "$text" - - text=`$ECHO $sec "%BCheck platform-specific and system requirements%b" | sed -e "s/%B//g" -e "s/%b//g" 2>/dev/null` - $as_echo "$as_me:${as_lineno-$LINENO}: $text" >&5 - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for the build and host architectures" >&5 -$as_echo_n "checking for the build and host architectures... " >&6; } -case "$host_os" in - *cygwin*) - { $as_echo "$as_me:${as_lineno-$LINENO}: result: windows (native)" >&5 -$as_echo "windows (native)" >&6; } - CYGWIN=true - # Extract the first word of "werl", so it can be a program name with args. -set dummy werl; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_path_WERL+:} false; then : - $as_echo_n "(cached) " >&6 -else - case $WERL in - [\\/]* | ?:[\\/]*) - ac_cv_path_WERL="$WERL" # 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 as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_path_WERL="$as_dir/$ac_word$ac_exec_ext" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - - ;; -esac -fi -WERL=$ac_cv_path_WERL -if test -n "$WERL"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $WERL" >&5 -$as_echo "$WERL" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - - - ;; - - mingw|mingw32*) - { $as_echo "$as_me:${as_lineno-$LINENO}: result: windows (cross-compiled)" >&5 -$as_echo "windows (cross-compiled)" >&6; } - MINGW=true - # Extract the first word of "werl", so it can be a program name with args. -set dummy werl; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_path_WERL+:} false; then : - $as_echo_n "(cached) " >&6 -else - case $WERL in - [\\/]* | ?:[\\/]*) - ac_cv_path_WERL="$WERL" # 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 as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_path_WERL="$as_dir/$ac_word$ac_exec_ext" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - - ;; -esac -fi -WERL=$ac_cv_path_WERL -if test -n "$WERL"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $WERL" >&5 -$as_echo "$WERL" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - - - ;; - - *) - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $host_os" >&5 -$as_echo "$host_os" >&6; } - - EPAM_CFLAGS= - if test "x$enable_pam" != "xno"; then - for ac_header in security/pam_appl.h pam/pam_appl.h pam_appl.h -do : - as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` -ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default" -if eval test \"x\$"$as_ac_Header"\" = x"yes"; then : - cat >>confdefs.h <<_ACEOF -#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 -_ACEOF - break -fi - -done - - if test "x$ac_cv_header_security_pam_appl_h" = "xyes" ; then - EPAM_CFLAGS="-I/usr/include/security" - elif test "x$ac_cv_header_pam_pam_appl_h" = "xyes" ; then - EPAM_CFLAGS="-I/usr/include/pam" - elif test "x$ac_cv_header_pam_appl_h" = "xno" ; then - as_fn_error $? "\"Could not find pam_appl.h required for pam authentication\"" "$LINENO" 5 - fi - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for pam_start in -lpam" >&5 -$as_echo_n "checking for pam_start in -lpam... " >&6; } -if ${ac_cv_lib_pam_pam_start+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-lpam $LIBS" -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* 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 pam_start (); -int -main () -{ -return pam_start (); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - ac_cv_lib_pam_pam_start=yes -else - ac_cv_lib_pam_pam_start=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_pam_pam_start" >&5 -$as_echo "$ac_cv_lib_pam_pam_start" >&6; } -if test "x$ac_cv_lib_pam_pam_start" = xyes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_LIBPAM 1 -_ACEOF - - LIBS="-lpam $LIBS" - -else - as_fn_error $? "\"Could not find pam library\"" "$LINENO" 5 -fi - - fi - - ;; -esac - - if test "x$CYGWIN" = "xtrue"; then - CYGWIN_TRUE= - CYGWIN_FALSE='#' -else - CYGWIN_TRUE='#' - CYGWIN_FALSE= -fi - - if test "x$MINGW" = "xtrue"; then - MINGW_TRUE= - MINGW_FALSE='#' -else - MINGW_TRUE='#' - MINGW_FALSE= -fi - - if test "x$MINGW" = "xtrue" -o "x$CYGWIN" = "xtrue"; then - WINDOWS_TRUE= - WINDOWS_FALSE='#' -else - WINDOWS_TRUE='#' - WINDOWS_FALSE= -fi - - - -HAVE_SENDFILE=false - -if test "$WINDOWS" = true; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for sendfile" >&5 -$as_echo_n "checking for sendfile... " >&6; } - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&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 - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for sendfile in -lc" >&5 -$as_echo_n "checking for sendfile in -lc... " >&6; } -if ${ac_cv_lib_c_sendfile+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-lc $LIBS" -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* 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 sendfile (); -int -main () -{ -return sendfile (); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - ac_cv_lib_c_sendfile=yes -else - ac_cv_lib_c_sendfile=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_c_sendfile" >&5 -$as_echo "$ac_cv_lib_c_sendfile" >&6; } -if test "x$ac_cv_lib_c_sendfile" = xyes; then : - HAVE_SENDFILE=true -fi - -fi - - if test "x$HAVE_SENDFILE" = "xtrue"; then - HAVE_SENDFILE_TRUE= - HAVE_SENDFILE_FALSE='#' -else - HAVE_SENDFILE_TRUE='#' - HAVE_SENDFILE_FALSE= -fi - - - -echo - - text=`$ECHO $seo "%BCheck programs support%b" | sed -e "s/%B/${colored_echo_bold}/g" -e "s/%b/${colored_echo_norm}/g" 2>/dev/null` - $ECHO $seo "$text" - - text=`$ECHO $sec "%BCheck programs support%b" | sed -e "s/%B//g" -e "s/%b//g" 2>/dev/null` - $as_echo "$as_me:${as_lineno-$LINENO}: $text" >&5 - - - -# Extract the first word of "latex", so it can be a program name with args. -set dummy latex; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_DVILATEX+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$DVILATEX"; then - ac_cv_prog_DVILATEX="$DVILATEX" # 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 as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_DVILATEX="latex" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -DVILATEX=$ac_cv_prog_DVILATEX -if test -n "$DVILATEX"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DVILATEX" >&5 -$as_echo "$DVILATEX" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - - - -# Extract the first word of "dvips", so it can be a program name with args. -set dummy dvips; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_DVIPS+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$DVIPS"; then - ac_cv_prog_DVIPS="$DVIPS" # 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 as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_DVIPS="dvips" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -DVIPS=$ac_cv_prog_DVIPS -if test -n "$DVIPS"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DVIPS" >&5 -$as_echo "$DVIPS" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - - - -# Extract the first word of "pdflatex", so it can be a program name with args. -set dummy pdflatex; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_PDFLATEX+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$PDFLATEX"; then - ac_cv_prog_PDFLATEX="$PDFLATEX" # 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 as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_PDFLATEX="pdflatex" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -PDFLATEX=$ac_cv_prog_PDFLATEX -if test -n "$PDFLATEX"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PDFLATEX" >&5 -$as_echo "$PDFLATEX" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - - - -# Extract the first word of "epstopdf", so it can be a program name with args. -set dummy epstopdf; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_EPSTOPDF+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$EPSTOPDF"; then - ac_cv_prog_EPSTOPDF="$EPSTOPDF" # 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 as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_EPSTOPDF="epstopdf" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -EPSTOPDF=$ac_cv_prog_EPSTOPDF -if test -n "$EPSTOPDF"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $EPSTOPDF" >&5 -$as_echo "$EPSTOPDF" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - - - -# Extract the first word of "man", so it can be a program name with args. -set dummy man; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_MAN+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$MAN"; then - ac_cv_prog_MAN="$MAN" # 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 as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_MAN="man" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -MAN=$ac_cv_prog_MAN -if test -n "$MAN"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MAN" >&5 -$as_echo "$MAN" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - - - -# Extract the first word of "ps2pdf", so it can be a program name with args. -set dummy ps2pdf; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_PS2PDF+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$PS2PDF"; then - ac_cv_prog_PS2PDF="$PS2PDF" # 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 as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_PS2PDF="ps2pdf" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -PS2PDF=$ac_cv_prog_PS2PDF -if test -n "$PS2PDF"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PS2PDF" >&5 -$as_echo "$PS2PDF" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - - - if test "x$DVILATEX" != "x" && test "x$DVIPS" != "x" && test "x$PDFLATEX" != "x" && test "x$EPSTOPDF" != "x"; then - CAN_BUILD_DOC_TRUE= - CAN_BUILD_DOC_FALSE='#' -else - CAN_BUILD_DOC_TRUE='#' - CAN_BUILD_DOC_FALSE= -fi - - - -# Extract the first word of "cadaver", so it can be a program name with args. -set dummy cadaver; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_CADAVER+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$CADAVER"; then - ac_cv_prog_CADAVER="$CADAVER" # 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 as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_CADAVER="cadaver" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -CADAVER=$ac_cv_prog_CADAVER -if test -n "$CADAVER"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CADAVER" >&5 -$as_echo "$CADAVER" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - - - -# Extract the first word of "curl", so it can be a program name with args. -set dummy curl; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_CURL+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$CURL"; then - ac_cv_prog_CURL="$CURL" # 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 as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_CURL="curl" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -CURL=$ac_cv_prog_CURL -if test -n "$CURL"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CURL" >&5 -$as_echo "$CURL" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - - - -# Extract the first word of "unix2dos", so it can be a program name with args. -set dummy unix2dos; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_UNIX2DOS+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$UNIX2DOS"; then - ac_cv_prog_UNIX2DOS="$UNIX2DOS" # 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 as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_UNIX2DOS="unix2dos" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -UNIX2DOS=$ac_cv_prog_UNIX2DOS -if test -n "$UNIX2DOS"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $UNIX2DOS" >&5 -$as_echo "$UNIX2DOS" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - - - -# Extract the first word of "todos", so it can be a program name with args. -set dummy todos; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_TODOS+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$TODOS"; then - ac_cv_prog_TODOS="$TODOS" # 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 as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_TODOS="todos" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -TODOS=$ac_cv_prog_TODOS -if test -n "$TODOS"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $TODOS" >&5 -$as_echo "$TODOS" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - - - -if test "x${INSTALL_BUILDER}" = "x"; then - INSTALL_BUILDER="${HOME}/installbuilder-5.4.14" -fi - - if (test "x${CT_RUN}" != "x") && - (test "${ERLANG_LIB_DIR_common_test}" != "not found") && - (test "${ERLANG_LIB_DIR_eunit}" != "not found") && - (test "${ERLANG_LIB_DIR_inets}" != "not found") && - (test "${ERLANG_LIB_DIR_tools}" != "not found"); then - HAVE_TS_TOOLS_TRUE= - HAVE_TS_TOOLS_FALSE='#' -else - HAVE_TS_TOOLS_TRUE='#' - HAVE_TS_TOOLS_FALSE= -fi - - - -if test "x${confdir}" = "x"; then - confdir='$(sysconfdir)/yaws' -fi - - -if test "x${wwwdir}" = "x"; then - wwwdir='$(localstatedir)/yaws/www' -fi - - -if test "x${appsdir}" = "x"; then - appsdir='$(localstatedir)/yaws' -fi - - -if test "x${logdir}" = "x"; then - logdir='$(localstatedir)/log/yaws' -fi - - -if test "x${yawsdir}" = "x"; then - yawsdir='$(libdir)/yaws' -else - ERLANG_INSTALL_LIB_DIR_yaws='${yawsdir}' -fi - - -if test "x${yappdir}" = "x"; then - yappdir='$(libdir)/yapp' -else - ERLANG_INSTALL_LIB_DIR_yapp='${yappdir}' -fi - -CONFIG_STATUS_DEPENDENCIES='$(top_srcdir)/vsn.mk \ - $(top_srcdir)/erlang_deps.mk \ - $(top_srcdir)/include.mk \ - $(top_srcdir)/applications/yapp/vsn.mk \ - $(top_srcdir)/testsuite/run_common_test.in \ - $(top_srcdir)/testsuite/yaws.coverspec.in \ - $(top_srcdir)/testsuite/cover_to_html.sh.in \ - $(top_srcdir)/testsuite/analyze_coverdata.escript.in' - - -ac_config_files="$ac_config_files yaws.pc Makefile c_src/Makefile win32/Makefile win32/build.xml man/Makefile doc/Makefile scripts/Makefile src/Makefile ebin/Makefile examples/src/Makefile examples/ebin/Makefile examples/include/Makefile www/code/Makefile www/shoppingcart/Makefile testsuite/Makefile testsuite/${PACKAGE_NAME}.coverspec testsuite/testsuite.hrl applications/chat/Makefile applications/chat/src/Makefile applications/chat/ebin/Makefile applications/mail/Makefile applications/mail/src/Makefile applications/mail/ebin/Makefile applications/wiki/Makefile applications/wiki/src/Makefile applications/wiki/ebin/Makefile applications/yapp/Makefile applications/yapp/src/Makefile applications/yapp/ebin/Makefile src/yaws_charset.hrl src/yaws_appdeps.hrl" - - -ac_config_files="$ac_config_files testsuite/run_common_test" - -ac_config_files="$ac_config_files testsuite/cover_to_html.sh" - -ac_config_files="$ac_config_files testsuite/analyze_coverdata.escript" - - -ac_config_files="$ac_config_files scripts/make-release" - -ac_config_files="$ac_config_files applications/wiki/scripts/addFile" - -ac_config_files="$ac_config_files applications/wiki/scripts/getPassword" - -ac_config_files="$ac_config_files applications/wiki/scripts/importFiles" - -ac_config_files="$ac_config_files applications/wiki/scripts/updateWiki" - - -ac_config_files="$ac_config_files include/Makefile" - -ac_config_files="$ac_config_files priv/Makefile" - - -cat >confcache <<\_ACEOF -# This file is a shell script that caches the results of configure -# tests run on this system so they can be shared between configure -# scripts and configure runs, see configure's option --config-cache. -# It is not useful on other systems. If it contains results you don't -# want to keep, you may remove or edit it. -# -# config.status only pays attention to the cache file if you give it -# the --recheck option to rerun configure. -# -# `ac_cv_env_foo' variables (set or unset) will be overridden when -# loading this file, other *unset* `ac_cv_foo' will be assigned the -# following values. - -_ACEOF - -# The following way of writing the cache mishandles newlines in values, -# but we know of no workaround that is simple, portable, and efficient. -# So, we kill variables containing newlines. -# Ultrix sh set writes to stderr and can't be redirected directly, -# and sets the high bit in the cache file unless we assign to the vars. -( - for ac_var in `(set) 2>&1 | sed -n 's/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'`; do - eval ac_val=\$$ac_var - case $ac_val in #( - *${as_nl}*) - case $ac_var in #( - *_cv_*) { $as_echo "$as_me:${as_lineno-$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= ;; #( - *) { eval $ac_var=; 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 - if test "x$cache_file" != "x/dev/null"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5 -$as_echo "$as_me: updating cache $cache_file" >&6;} - if test ! -f "$cache_file" || test -h "$cache_file"; then - cat confcache >"$cache_file" - else - case $cache_file in #( - */* | ?:*) - mv -f confcache "$cache_file"$$ && - mv -f "$cache_file"$$ "$cache_file" ;; #( - *) - mv -f confcache "$cache_file" ;; - esac - fi - fi - else - { $as_echo "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5 -$as_echo "$as_me: not updating unwritable cache $cache_file" >&6;} - fi -fi -rm -f confcache - -test "x$prefix" = xNONE && prefix=$ac_default_prefix -# Let make expand exec_prefix. -test "x$exec_prefix" = xNONE && exec_prefix='${prefix}' - -# Transform confdefs.h into DEFS. -# Protect against shell expansion while executing Makefile rules. -# Protect against Makefile macro expansion. -# -# If the first sed substitution is executed (which looks for macros that -# take arguments), then branch to the quote section. Otherwise, -# look for a macro that doesn't take arguments. -ac_script=' -:mline -/\\$/{ - N - s,\\\n,, - b mline -} -t clear -:clear -s/^[ ]*#[ ]*define[ ][ ]*\([^ (][^ (]*([^)]*)\)[ ]*\(.*\)/-D\1=\2/g -t quote -s/^[ ]*#[ ]*define[ ][ ]*\([^ ][^ ]*\)[ ]*\(.*\)/-D\1=\2/g -t quote -b any -:quote -s/[ `~#$^&*(){}\\|;'\''"<>?]/\\&/g -s/\[/\\&/g -s/\]/\\&/g -s/\$/$$/g -H -:any -${ - g - s/^\n// - s/\n/ /g - p -} -' -DEFS=`sed -n "$ac_script" confdefs.h` - - -ac_libobjs= -ac_ltlibobjs= -U= -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. - as_fn_append ac_libobjs " \${LIBOBJDIR}$ac_i\$U.$ac_objext" - as_fn_append ac_ltlibobjs " \${LIBOBJDIR}$ac_i"'$U.lo' -done -LIBOBJS=$ac_libobjs - -LTLIBOBJS=$ac_ltlibobjs - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking that generated files are newer than configure" >&5 -$as_echo_n "checking that generated files are newer than configure... " >&6; } - if test -n "$am_sleep_pid"; then - # Hide warnings about reused PIDs. - wait $am_sleep_pid 2>/dev/null - fi - { $as_echo "$as_me:${as_lineno-$LINENO}: result: done" >&5 -$as_echo "done" >&6; } - if test -n "$EXEEXT"; then - am__EXEEXT_TRUE= - am__EXEEXT_FALSE='#' -else - am__EXEEXT_TRUE='#' - am__EXEEXT_FALSE= -fi - -if test -z "${AMDEP_TRUE}" && test -z "${AMDEP_FALSE}"; then - as_fn_error $? "conditional \"AMDEP\" was never defined. -Usually this means the macro was only invoked conditionally." "$LINENO" 5 -fi -if test -z "${am__fastdepCC_TRUE}" && test -z "${am__fastdepCC_FALSE}"; then - as_fn_error $? "conditional \"am__fastdepCC\" was never defined. -Usually this means the macro was only invoked conditionally." "$LINENO" 5 -fi -if test -z "${am__fastdepCC_TRUE}" && test -z "${am__fastdepCC_FALSE}"; then - as_fn_error $? "conditional \"am__fastdepCC\" was never defined. -Usually this means the macro was only invoked conditionally." "$LINENO" 5 -fi -if test -z "${WITH_EPAM_TRUE}" && test -z "${WITH_EPAM_FALSE}"; then - as_fn_error $? "conditional \"WITH_EPAM\" was never defined. -Usually this means the macro was only invoked conditionally." "$LINENO" 5 -fi -if test -z "${CYGWIN_TRUE}" && test -z "${CYGWIN_FALSE}"; then - as_fn_error $? "conditional \"CYGWIN\" was never defined. -Usually this means the macro was only invoked conditionally." "$LINENO" 5 -fi -if test -z "${MINGW_TRUE}" && test -z "${MINGW_FALSE}"; then - as_fn_error $? "conditional \"MINGW\" was never defined. -Usually this means the macro was only invoked conditionally." "$LINENO" 5 -fi -if test -z "${WINDOWS_TRUE}" && test -z "${WINDOWS_FALSE}"; then - as_fn_error $? "conditional \"WINDOWS\" was never defined. -Usually this means the macro was only invoked conditionally." "$LINENO" 5 -fi -if test -z "${HAVE_SENDFILE_TRUE}" && test -z "${HAVE_SENDFILE_FALSE}"; then - as_fn_error $? "conditional \"HAVE_SENDFILE\" was never defined. -Usually this means the macro was only invoked conditionally." "$LINENO" 5 -fi -if test -z "${CAN_BUILD_DOC_TRUE}" && test -z "${CAN_BUILD_DOC_FALSE}"; then - as_fn_error $? "conditional \"CAN_BUILD_DOC\" was never defined. -Usually this means the macro was only invoked conditionally." "$LINENO" 5 -fi -if test -z "${HAVE_TS_TOOLS_TRUE}" && test -z "${HAVE_TS_TOOLS_FALSE}"; then - as_fn_error $? "conditional \"HAVE_TS_TOOLS\" was never defined. -Usually this means the macro was only invoked conditionally." "$LINENO" 5 -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:${as_lineno-$LINENO}: creating $CONFIG_STATUS" >&5 -$as_echo "$as_me: creating $CONFIG_STATUS" >&6;} -as_write_fail=0 -cat >$CONFIG_STATUS <<_ASEOF || as_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} -export SHELL -_ASEOF -cat >>$CONFIG_STATUS <<\_ASEOF || as_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 - - -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 -# Prefer a ksh shell builtin over an external printf program on Solaris, -# but without wasting forks for bash or zsh. -if test -z "$BASH_VERSION$ZSH_VERSION" \ - && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then - as_echo='print -r --' - as_echo_n='print -rn --' -elif (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 - - -# 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. -as_myself= -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 -fi - -# Unset variables that we do not need and which cause bugs (e.g. in -# pre-3.0 UWIN ksh). But do not cause bugs in bash 2.01; the "|| exit 1" -# suppresses any "Segmentation fault" message there. '((' could -# trigger a bug in pdksh 5.2.14. -for as_var in BASH_ENV ENV MAIL MAILPATH -do eval test x\${$as_var+set} = xset \ - && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : -done -PS1='$ ' -PS2='> ' -PS4='+ ' - -# NLS nuisances. -LC_ALL=C -export LC_ALL -LANGUAGE=C -export LANGUAGE - -# CDPATH. -(unset CDPATH) >/dev/null 2>&1 && unset CDPATH - - -# as_fn_error STATUS ERROR [LINENO LOG_FD] -# ---------------------------------------- -# Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are -# provided, also output the error to LOG_FD, referencing LINENO. Then exit the -# script with STATUS, using 1 if that was 0. -as_fn_error () -{ - as_status=$1; test $as_status -eq 0 && as_status=1 - if test "$4"; then - as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 - fi - $as_echo "$as_me: error: $2" >&2 - as_fn_exit $as_status -} # as_fn_error - - -# as_fn_set_status STATUS -# ----------------------- -# Set $? to STATUS, without forking. -as_fn_set_status () -{ - return $1 -} # as_fn_set_status - -# as_fn_exit STATUS -# ----------------- -# Exit the shell with STATUS, even in a "trap 0" or "set -e" context. -as_fn_exit () -{ - set +e - as_fn_set_status $1 - exit $1 -} # as_fn_exit - -# as_fn_unset VAR -# --------------- -# Portably unset VAR. -as_fn_unset () -{ - { eval $1=; unset $1;} -} -as_unset=as_fn_unset -# as_fn_append VAR VALUE -# ---------------------- -# Append the text in VALUE to the end of the definition contained in VAR. Take -# advantage of any shell optimizations that allow amortized linear growth over -# repeated appends, instead of the typical quadratic growth present in naive -# implementations. -if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then : - eval 'as_fn_append () - { - eval $1+=\$2 - }' -else - as_fn_append () - { - eval $1=\$$1\$2 - } -fi # as_fn_append - -# as_fn_arith ARG... -# ------------------ -# Perform arithmetic evaluation on the ARGs, and store the result in the -# global $as_val. Take advantage of shells that can avoid forks. The arguments -# must be portable across $(()) and expr. -if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then : - eval 'as_fn_arith () - { - as_val=$(( $* )) - }' -else - as_fn_arith () - { - as_val=`expr "$@" || test $? -eq 1` - } -fi # as_fn_arith - - -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 - -if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then - as_dirname=dirname -else - as_dirname=false -fi - -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'` - -# 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 - -ECHO_C= ECHO_N= ECHO_T= -case `echo -n x` in #((((( --n*) - case `echo 'xy\c'` in - *c*) ECHO_T=' ';; # ECHO_T is single tab character. - xy) ECHO_C='\c';; - *) echo `echo ksh88 bug on AIX 6.1` > /dev/null - ECHO_T=' ';; - esac;; -*) - ECHO_N='-n';; -esac - -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 -pR'. - ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || - as_ln_s='cp -pR' - elif ln conf$$.file conf$$ 2>/dev/null; then - as_ln_s=ln - else - as_ln_s='cp -pR' - fi -else - as_ln_s='cp -pR' -fi -rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file -rmdir conf$$.dir 2>/dev/null - - -# as_fn_mkdir_p -# ------------- -# Create "$as_dir" as a directory, including parents if necessary. -as_fn_mkdir_p () -{ - - case $as_dir in #( - -*) as_dir=./$as_dir;; - esac - test -d "$as_dir" || eval $as_mkdir_p || { - 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_fn_error $? "cannot create directory $as_dir" - - -} # as_fn_mkdir_p -if mkdir -p . 2>/dev/null; then - as_mkdir_p='mkdir -p "$as_dir"' -else - test -d ./-p && rmdir ./-p - as_mkdir_p=false -fi - - -# as_fn_executable_p FILE -# ----------------------- -# Test if FILE is an executable regular file. -as_fn_executable_p () -{ - test -f "$1" && test -x "$1" -} # as_fn_executable_p -as_test_x='test -x' -as_executable_p=as_fn_executable_p - -# 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 -## ----------------------------------- ## -## Main body of $CONFIG_STATUS script. ## -## ----------------------------------- ## -_ASEOF -test $as_write_fail = 0 && chmod +x $CONFIG_STATUS || ac_write_fail=1 - -cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=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 yaws $as_me 2.0.6, which was -generated by GNU Autoconf 2.69. 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 - - - -cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 -# Files that config.status was made for. -config_files="$ac_config_files" -config_commands="$ac_config_commands" - -_ACEOF - -cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 -ac_cs_usage="\ -\`$as_me' instantiates files and other configuration actions -from templates according to the current configuration. Unless the files -and actions are specified as TAGs, all are instantiated by default. - -Usage: $0 [OPTION]... [TAG]... - - -h, --help print this help, then exit - -V, --version print version number and configuration settings, then exit - --config print configuration, then exit - -q, --quiet, --silent - do not print progress messages - -d, --debug don't remove temporary files - --recheck update $as_me by reconfiguring in the same conditions - --file=FILE[:TEMPLATE] - instantiate the configuration file FILE - -Configuration files: -$config_files - -Configuration commands: -$config_commands - -Report bugs to the package provider." - -_ACEOF -cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 -ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" -ac_cs_version="\\ -yaws config.status 2.0.6 -configured by $0, generated by GNU Autoconf 2.69, - with options \\"\$ac_cs_config\\" - -Copyright (C) 2012 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=`expr "X$1" : 'X\([^=]*\)='` - ac_optarg= - 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 ;; - --config | --confi | --conf | --con | --co | --c ) - $as_echo "$ac_cs_config"; 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"` ;; - '') as_fn_error $? "missing file argument" ;; - esac - as_fn_append CONFIG_FILES " '$ac_optarg'" - ac_need_defaults=false;; - --he | --h | --help | --hel | -h ) - $as_echo "$ac_cs_usage"; exit ;; - -q | -quiet | --quiet | --quie | --qui | --qu | --q \ - | -silent | --silent | --silen | --sile | --sil | --si | --s) - ac_cs_silent=: ;; - - # This is an error. - -*) as_fn_error $? "unrecognized option: \`$1' -Try \`$0 --help' for more information." ;; - - *) as_fn_append 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' -SED='`$ECHO "$SED" | $SED "$delay_single_quote_subst"`' -Xsed='`$ECHO "$Xsed" | $SED "$delay_single_quote_subst"`' -GREP='`$ECHO "$GREP" | $SED "$delay_single_quote_subst"`' -EGREP='`$ECHO "$EGREP" | $SED "$delay_single_quote_subst"`' -FGREP='`$ECHO "$FGREP" | $SED "$delay_single_quote_subst"`' -SHELL='`$ECHO "$SHELL" | $SED "$delay_single_quote_subst"`' -ECHO='`$ECHO "$ECHO" | $SED "$delay_single_quote_subst"`' -LD='`$ECHO "$LD" | $SED "$delay_single_quote_subst"`' -enable_static='`$ECHO "$enable_static" | $SED "$delay_single_quote_subst"`' -enable_shared='`$ECHO "$enable_shared" | $SED "$delay_single_quote_subst"`' -macro_version='`$ECHO "$macro_version" | $SED "$delay_single_quote_subst"`' -macro_revision='`$ECHO "$macro_revision" | $SED "$delay_single_quote_subst"`' -pic_mode='`$ECHO "$pic_mode" | $SED "$delay_single_quote_subst"`' -enable_fast_install='`$ECHO "$enable_fast_install" | $SED "$delay_single_quote_subst"`' -shared_archive_member_spec='`$ECHO "$shared_archive_member_spec" | $SED "$delay_single_quote_subst"`' -PATH_SEPARATOR='`$ECHO "$PATH_SEPARATOR" | $SED "$delay_single_quote_subst"`' -host_alias='`$ECHO "$host_alias" | $SED "$delay_single_quote_subst"`' -host='`$ECHO "$host" | $SED "$delay_single_quote_subst"`' -host_os='`$ECHO "$host_os" | $SED "$delay_single_quote_subst"`' -build_alias='`$ECHO "$build_alias" | $SED "$delay_single_quote_subst"`' -build='`$ECHO "$build" | $SED "$delay_single_quote_subst"`' -build_os='`$ECHO "$build_os" | $SED "$delay_single_quote_subst"`' -NM='`$ECHO "$NM" | $SED "$delay_single_quote_subst"`' -LN_S='`$ECHO "$LN_S" | $SED "$delay_single_quote_subst"`' -max_cmd_len='`$ECHO "$max_cmd_len" | $SED "$delay_single_quote_subst"`' -ac_objext='`$ECHO "$ac_objext" | $SED "$delay_single_quote_subst"`' -exeext='`$ECHO "$exeext" | $SED "$delay_single_quote_subst"`' -lt_unset='`$ECHO "$lt_unset" | $SED "$delay_single_quote_subst"`' -lt_SP2NL='`$ECHO "$lt_SP2NL" | $SED "$delay_single_quote_subst"`' -lt_NL2SP='`$ECHO "$lt_NL2SP" | $SED "$delay_single_quote_subst"`' -lt_cv_to_host_file_cmd='`$ECHO "$lt_cv_to_host_file_cmd" | $SED "$delay_single_quote_subst"`' -lt_cv_to_tool_file_cmd='`$ECHO "$lt_cv_to_tool_file_cmd" | $SED "$delay_single_quote_subst"`' -reload_flag='`$ECHO "$reload_flag" | $SED "$delay_single_quote_subst"`' -reload_cmds='`$ECHO "$reload_cmds" | $SED "$delay_single_quote_subst"`' -OBJDUMP='`$ECHO "$OBJDUMP" | $SED "$delay_single_quote_subst"`' -deplibs_check_method='`$ECHO "$deplibs_check_method" | $SED "$delay_single_quote_subst"`' -file_magic_cmd='`$ECHO "$file_magic_cmd" | $SED "$delay_single_quote_subst"`' -file_magic_glob='`$ECHO "$file_magic_glob" | $SED "$delay_single_quote_subst"`' -want_nocaseglob='`$ECHO "$want_nocaseglob" | $SED "$delay_single_quote_subst"`' -DLLTOOL='`$ECHO "$DLLTOOL" | $SED "$delay_single_quote_subst"`' -sharedlib_from_linklib_cmd='`$ECHO "$sharedlib_from_linklib_cmd" | $SED "$delay_single_quote_subst"`' -AR='`$ECHO "$AR" | $SED "$delay_single_quote_subst"`' -AR_FLAGS='`$ECHO "$AR_FLAGS" | $SED "$delay_single_quote_subst"`' -archiver_list_spec='`$ECHO "$archiver_list_spec" | $SED "$delay_single_quote_subst"`' -STRIP='`$ECHO "$STRIP" | $SED "$delay_single_quote_subst"`' -RANLIB='`$ECHO "$RANLIB" | $SED "$delay_single_quote_subst"`' -old_postinstall_cmds='`$ECHO "$old_postinstall_cmds" | $SED "$delay_single_quote_subst"`' -old_postuninstall_cmds='`$ECHO "$old_postuninstall_cmds" | $SED "$delay_single_quote_subst"`' -old_archive_cmds='`$ECHO "$old_archive_cmds" | $SED "$delay_single_quote_subst"`' -lock_old_archive_extraction='`$ECHO "$lock_old_archive_extraction" | $SED "$delay_single_quote_subst"`' -CC='`$ECHO "$CC" | $SED "$delay_single_quote_subst"`' -CFLAGS='`$ECHO "$CFLAGS" | $SED "$delay_single_quote_subst"`' -compiler='`$ECHO "$compiler" | $SED "$delay_single_quote_subst"`' -GCC='`$ECHO "$GCC" | $SED "$delay_single_quote_subst"`' -lt_cv_sys_global_symbol_pipe='`$ECHO "$lt_cv_sys_global_symbol_pipe" | $SED "$delay_single_quote_subst"`' -lt_cv_sys_global_symbol_to_cdecl='`$ECHO "$lt_cv_sys_global_symbol_to_cdecl" | $SED "$delay_single_quote_subst"`' -lt_cv_sys_global_symbol_to_import='`$ECHO "$lt_cv_sys_global_symbol_to_import" | $SED "$delay_single_quote_subst"`' -lt_cv_sys_global_symbol_to_c_name_address='`$ECHO "$lt_cv_sys_global_symbol_to_c_name_address" | $SED "$delay_single_quote_subst"`' -lt_cv_sys_global_symbol_to_c_name_address_lib_prefix='`$ECHO "$lt_cv_sys_global_symbol_to_c_name_address_lib_prefix" | $SED "$delay_single_quote_subst"`' -lt_cv_nm_interface='`$ECHO "$lt_cv_nm_interface" | $SED "$delay_single_quote_subst"`' -nm_file_list_spec='`$ECHO "$nm_file_list_spec" | $SED "$delay_single_quote_subst"`' -lt_sysroot='`$ECHO "$lt_sysroot" | $SED "$delay_single_quote_subst"`' -lt_cv_truncate_bin='`$ECHO "$lt_cv_truncate_bin" | $SED "$delay_single_quote_subst"`' -objdir='`$ECHO "$objdir" | $SED "$delay_single_quote_subst"`' -MAGIC_CMD='`$ECHO "$MAGIC_CMD" | $SED "$delay_single_quote_subst"`' -lt_prog_compiler_no_builtin_flag='`$ECHO "$lt_prog_compiler_no_builtin_flag" | $SED "$delay_single_quote_subst"`' -lt_prog_compiler_pic='`$ECHO "$lt_prog_compiler_pic" | $SED "$delay_single_quote_subst"`' -lt_prog_compiler_wl='`$ECHO "$lt_prog_compiler_wl" | $SED "$delay_single_quote_subst"`' -lt_prog_compiler_static='`$ECHO "$lt_prog_compiler_static" | $SED "$delay_single_quote_subst"`' -lt_cv_prog_compiler_c_o='`$ECHO "$lt_cv_prog_compiler_c_o" | $SED "$delay_single_quote_subst"`' -need_locks='`$ECHO "$need_locks" | $SED "$delay_single_quote_subst"`' -MANIFEST_TOOL='`$ECHO "$MANIFEST_TOOL" | $SED "$delay_single_quote_subst"`' -DSYMUTIL='`$ECHO "$DSYMUTIL" | $SED "$delay_single_quote_subst"`' -NMEDIT='`$ECHO "$NMEDIT" | $SED "$delay_single_quote_subst"`' -LIPO='`$ECHO "$LIPO" | $SED "$delay_single_quote_subst"`' -OTOOL='`$ECHO "$OTOOL" | $SED "$delay_single_quote_subst"`' -OTOOL64='`$ECHO "$OTOOL64" | $SED "$delay_single_quote_subst"`' -libext='`$ECHO "$libext" | $SED "$delay_single_quote_subst"`' -shrext_cmds='`$ECHO "$shrext_cmds" | $SED "$delay_single_quote_subst"`' -extract_expsyms_cmds='`$ECHO "$extract_expsyms_cmds" | $SED "$delay_single_quote_subst"`' -archive_cmds_need_lc='`$ECHO "$archive_cmds_need_lc" | $SED "$delay_single_quote_subst"`' -enable_shared_with_static_runtimes='`$ECHO "$enable_shared_with_static_runtimes" | $SED "$delay_single_quote_subst"`' -export_dynamic_flag_spec='`$ECHO "$export_dynamic_flag_spec" | $SED "$delay_single_quote_subst"`' -whole_archive_flag_spec='`$ECHO "$whole_archive_flag_spec" | $SED "$delay_single_quote_subst"`' -compiler_needs_object='`$ECHO "$compiler_needs_object" | $SED "$delay_single_quote_subst"`' -old_archive_from_new_cmds='`$ECHO "$old_archive_from_new_cmds" | $SED "$delay_single_quote_subst"`' -old_archive_from_expsyms_cmds='`$ECHO "$old_archive_from_expsyms_cmds" | $SED "$delay_single_quote_subst"`' -archive_cmds='`$ECHO "$archive_cmds" | $SED "$delay_single_quote_subst"`' -archive_expsym_cmds='`$ECHO "$archive_expsym_cmds" | $SED "$delay_single_quote_subst"`' -module_cmds='`$ECHO "$module_cmds" | $SED "$delay_single_quote_subst"`' -module_expsym_cmds='`$ECHO "$module_expsym_cmds" | $SED "$delay_single_quote_subst"`' -with_gnu_ld='`$ECHO "$with_gnu_ld" | $SED "$delay_single_quote_subst"`' -allow_undefined_flag='`$ECHO "$allow_undefined_flag" | $SED "$delay_single_quote_subst"`' -no_undefined_flag='`$ECHO "$no_undefined_flag" | $SED "$delay_single_quote_subst"`' -hardcode_libdir_flag_spec='`$ECHO "$hardcode_libdir_flag_spec" | $SED "$delay_single_quote_subst"`' -hardcode_libdir_separator='`$ECHO "$hardcode_libdir_separator" | $SED "$delay_single_quote_subst"`' -hardcode_direct='`$ECHO "$hardcode_direct" | $SED "$delay_single_quote_subst"`' -hardcode_direct_absolute='`$ECHO "$hardcode_direct_absolute" | $SED "$delay_single_quote_subst"`' -hardcode_minus_L='`$ECHO "$hardcode_minus_L" | $SED "$delay_single_quote_subst"`' -hardcode_shlibpath_var='`$ECHO "$hardcode_shlibpath_var" | $SED "$delay_single_quote_subst"`' -hardcode_automatic='`$ECHO "$hardcode_automatic" | $SED "$delay_single_quote_subst"`' -inherit_rpath='`$ECHO "$inherit_rpath" | $SED "$delay_single_quote_subst"`' -link_all_deplibs='`$ECHO "$link_all_deplibs" | $SED "$delay_single_quote_subst"`' -always_export_symbols='`$ECHO "$always_export_symbols" | $SED "$delay_single_quote_subst"`' -export_symbols_cmds='`$ECHO "$export_symbols_cmds" | $SED "$delay_single_quote_subst"`' -exclude_expsyms='`$ECHO "$exclude_expsyms" | $SED "$delay_single_quote_subst"`' -include_expsyms='`$ECHO "$include_expsyms" | $SED "$delay_single_quote_subst"`' -prelink_cmds='`$ECHO "$prelink_cmds" | $SED "$delay_single_quote_subst"`' -postlink_cmds='`$ECHO "$postlink_cmds" | $SED "$delay_single_quote_subst"`' -file_list_spec='`$ECHO "$file_list_spec" | $SED "$delay_single_quote_subst"`' -variables_saved_for_relink='`$ECHO "$variables_saved_for_relink" | $SED "$delay_single_quote_subst"`' -need_lib_prefix='`$ECHO "$need_lib_prefix" | $SED "$delay_single_quote_subst"`' -need_version='`$ECHO "$need_version" | $SED "$delay_single_quote_subst"`' -version_type='`$ECHO "$version_type" | $SED "$delay_single_quote_subst"`' -runpath_var='`$ECHO "$runpath_var" | $SED "$delay_single_quote_subst"`' -shlibpath_var='`$ECHO "$shlibpath_var" | $SED "$delay_single_quote_subst"`' -shlibpath_overrides_runpath='`$ECHO "$shlibpath_overrides_runpath" | $SED "$delay_single_quote_subst"`' -libname_spec='`$ECHO "$libname_spec" | $SED "$delay_single_quote_subst"`' -library_names_spec='`$ECHO "$library_names_spec" | $SED "$delay_single_quote_subst"`' -soname_spec='`$ECHO "$soname_spec" | $SED "$delay_single_quote_subst"`' -install_override_mode='`$ECHO "$install_override_mode" | $SED "$delay_single_quote_subst"`' -postinstall_cmds='`$ECHO "$postinstall_cmds" | $SED "$delay_single_quote_subst"`' -postuninstall_cmds='`$ECHO "$postuninstall_cmds" | $SED "$delay_single_quote_subst"`' -finish_cmds='`$ECHO "$finish_cmds" | $SED "$delay_single_quote_subst"`' -finish_eval='`$ECHO "$finish_eval" | $SED "$delay_single_quote_subst"`' -hardcode_into_libs='`$ECHO "$hardcode_into_libs" | $SED "$delay_single_quote_subst"`' -sys_lib_search_path_spec='`$ECHO "$sys_lib_search_path_spec" | $SED "$delay_single_quote_subst"`' -configure_time_dlsearch_path='`$ECHO "$configure_time_dlsearch_path" | $SED "$delay_single_quote_subst"`' -configure_time_lt_sys_library_path='`$ECHO "$configure_time_lt_sys_library_path" | $SED "$delay_single_quote_subst"`' -hardcode_action='`$ECHO "$hardcode_action" | $SED "$delay_single_quote_subst"`' -enable_dlopen='`$ECHO "$enable_dlopen" | $SED "$delay_single_quote_subst"`' -enable_dlopen_self='`$ECHO "$enable_dlopen_self" | $SED "$delay_single_quote_subst"`' -enable_dlopen_self_static='`$ECHO "$enable_dlopen_self_static" | $SED "$delay_single_quote_subst"`' -old_striplib='`$ECHO "$old_striplib" | $SED "$delay_single_quote_subst"`' -striplib='`$ECHO "$striplib" | $SED "$delay_single_quote_subst"`' - -LTCC='$LTCC' -LTCFLAGS='$LTCFLAGS' -compiler='$compiler_DEFAULT' - -# A function that is used when there is no print builtin or printf. -func_fallback_echo () -{ - eval 'cat <<_LTECHO_EOF -\$1 -_LTECHO_EOF' -} - -# Quote evaled strings. -for var in SED \ -GREP \ -EGREP \ -FGREP \ -SHELL \ -ECHO \ -LD \ -PATH_SEPARATOR \ -NM \ -LN_S \ -lt_SP2NL \ -lt_NL2SP \ -reload_flag \ -OBJDUMP \ -deplibs_check_method \ -file_magic_cmd \ -file_magic_glob \ -want_nocaseglob \ -DLLTOOL \ -sharedlib_from_linklib_cmd \ -AR \ -AR_FLAGS \ -archiver_list_spec \ -STRIP \ -RANLIB \ -CC \ -CFLAGS \ -compiler \ -lt_cv_sys_global_symbol_pipe \ -lt_cv_sys_global_symbol_to_cdecl \ -lt_cv_sys_global_symbol_to_import \ -lt_cv_sys_global_symbol_to_c_name_address \ -lt_cv_sys_global_symbol_to_c_name_address_lib_prefix \ -lt_cv_nm_interface \ -nm_file_list_spec \ -lt_cv_truncate_bin \ -lt_prog_compiler_no_builtin_flag \ -lt_prog_compiler_pic \ -lt_prog_compiler_wl \ -lt_prog_compiler_static \ -lt_cv_prog_compiler_c_o \ -need_locks \ -MANIFEST_TOOL \ -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_separator \ -exclude_expsyms \ -include_expsyms \ -file_list_spec \ -variables_saved_for_relink \ -libname_spec \ -library_names_spec \ -soname_spec \ -install_override_mode \ -finish_eval \ -old_striplib \ -striplib; do - case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in - *[\\\\\\\`\\"\\\$]*) - eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED \\"\\\$sed_quote_subst\\"\\\`\\\\\\"" ## exclude from sc_prohibit_nested_quotes - ;; - *) - 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 \ -postlink_cmds \ -postinstall_cmds \ -postuninstall_cmds \ -finish_cmds \ -sys_lib_search_path_spec \ -configure_time_dlsearch_path \ -configure_time_lt_sys_library_path; do - case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in - *[\\\\\\\`\\"\\\$]*) - eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED -e \\"\\\$double_quote_subst\\" -e \\"\\\$sed_quote_subst\\" -e \\"\\\$delay_variable_subst\\"\\\`\\\\\\"" ## exclude from sc_prohibit_nested_quotes - ;; - *) - eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\"" - ;; - esac -done - -ac_aux_dir='$ac_aux_dir' - -# See if we are running on zsh, and set the options that 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' - RM='$RM' - ofile='$ofile' - - - - -_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 - "depfiles") CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;; - "libtool") CONFIG_COMMANDS="$CONFIG_COMMANDS libtool" ;; - "yaws.pc") CONFIG_FILES="$CONFIG_FILES yaws.pc" ;; - "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;; - "c_src/Makefile") CONFIG_FILES="$CONFIG_FILES c_src/Makefile" ;; - "win32/Makefile") CONFIG_FILES="$CONFIG_FILES win32/Makefile" ;; - "win32/build.xml") CONFIG_FILES="$CONFIG_FILES win32/build.xml" ;; - "man/Makefile") CONFIG_FILES="$CONFIG_FILES man/Makefile" ;; - "doc/Makefile") CONFIG_FILES="$CONFIG_FILES doc/Makefile" ;; - "scripts/Makefile") CONFIG_FILES="$CONFIG_FILES scripts/Makefile" ;; - "src/Makefile") CONFIG_FILES="$CONFIG_FILES src/Makefile" ;; - "ebin/Makefile") CONFIG_FILES="$CONFIG_FILES ebin/Makefile" ;; - "examples/src/Makefile") CONFIG_FILES="$CONFIG_FILES examples/src/Makefile" ;; - "examples/ebin/Makefile") CONFIG_FILES="$CONFIG_FILES examples/ebin/Makefile" ;; - "examples/include/Makefile") CONFIG_FILES="$CONFIG_FILES examples/include/Makefile" ;; - "www/code/Makefile") CONFIG_FILES="$CONFIG_FILES www/code/Makefile" ;; - "www/shoppingcart/Makefile") CONFIG_FILES="$CONFIG_FILES www/shoppingcart/Makefile" ;; - "testsuite/Makefile") CONFIG_FILES="$CONFIG_FILES testsuite/Makefile" ;; - "testsuite/${PACKAGE_NAME}.coverspec") CONFIG_FILES="$CONFIG_FILES testsuite/${PACKAGE_NAME}.coverspec" ;; - "testsuite/testsuite.hrl") CONFIG_FILES="$CONFIG_FILES testsuite/testsuite.hrl" ;; - "applications/chat/Makefile") CONFIG_FILES="$CONFIG_FILES applications/chat/Makefile" ;; - "applications/chat/src/Makefile") CONFIG_FILES="$CONFIG_FILES applications/chat/src/Makefile" ;; - "applications/chat/ebin/Makefile") CONFIG_FILES="$CONFIG_FILES applications/chat/ebin/Makefile" ;; - "applications/mail/Makefile") CONFIG_FILES="$CONFIG_FILES applications/mail/Makefile" ;; - "applications/mail/src/Makefile") CONFIG_FILES="$CONFIG_FILES applications/mail/src/Makefile" ;; - "applications/mail/ebin/Makefile") CONFIG_FILES="$CONFIG_FILES applications/mail/ebin/Makefile" ;; - "applications/wiki/Makefile") CONFIG_FILES="$CONFIG_FILES applications/wiki/Makefile" ;; - "applications/wiki/src/Makefile") CONFIG_FILES="$CONFIG_FILES applications/wiki/src/Makefile" ;; - "applications/wiki/ebin/Makefile") CONFIG_FILES="$CONFIG_FILES applications/wiki/ebin/Makefile" ;; - "applications/yapp/Makefile") CONFIG_FILES="$CONFIG_FILES applications/yapp/Makefile" ;; - "applications/yapp/src/Makefile") CONFIG_FILES="$CONFIG_FILES applications/yapp/src/Makefile" ;; - "applications/yapp/ebin/Makefile") CONFIG_FILES="$CONFIG_FILES applications/yapp/ebin/Makefile" ;; - "src/yaws_charset.hrl") CONFIG_FILES="$CONFIG_FILES src/yaws_charset.hrl" ;; - "src/yaws_appdeps.hrl") CONFIG_FILES="$CONFIG_FILES src/yaws_appdeps.hrl" ;; - "testsuite/run_common_test") CONFIG_FILES="$CONFIG_FILES testsuite/run_common_test" ;; - "testsuite/cover_to_html.sh") CONFIG_FILES="$CONFIG_FILES testsuite/cover_to_html.sh" ;; - "testsuite/analyze_coverdata.escript") CONFIG_FILES="$CONFIG_FILES testsuite/analyze_coverdata.escript" ;; - "scripts/make-release") CONFIG_FILES="$CONFIG_FILES scripts/make-release" ;; - "applications/wiki/scripts/addFile") CONFIG_FILES="$CONFIG_FILES applications/wiki/scripts/addFile" ;; - "applications/wiki/scripts/getPassword") CONFIG_FILES="$CONFIG_FILES applications/wiki/scripts/getPassword" ;; - "applications/wiki/scripts/importFiles") CONFIG_FILES="$CONFIG_FILES applications/wiki/scripts/importFiles" ;; - "applications/wiki/scripts/updateWiki") CONFIG_FILES="$CONFIG_FILES applications/wiki/scripts/updateWiki" ;; - "include/Makefile") CONFIG_FILES="$CONFIG_FILES include/Makefile" ;; - "priv/Makefile") CONFIG_FILES="$CONFIG_FILES priv/Makefile" ;; - - *) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5;; - esac -done - - -# If the user did not use the arguments to specify the items to instantiate, -# then the envvar interface is used. Set only those that are not. -# We use the long form for the default assignment because of an extremely -# bizarre bug on SunOS 4.1.3. -if $ac_need_defaults; then - test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files - test "${CONFIG_COMMANDS+set}" = set || CONFIG_COMMANDS=$config_commands -fi - -# Have a temporary directory for convenience. Make it in the build tree -# simply because there is no reason against having it here, and in addition, -# creating and moving files from /tmp can sometimes cause problems. -# Hook for its removal unless debugging. -# Note that there is a small window in which the directory will not be cleaned: -# after its creation but before its name has been assigned to `$tmp'. -$debug || -{ - tmp= ac_tmp= - trap 'exit_status=$? - : "${ac_tmp:=$tmp}" - { test ! -d "$ac_tmp" || rm -fr "$ac_tmp"; } && exit $exit_status -' 0 - trap 'as_fn_exit 1' 1 2 13 15 -} -# Create a (secure) tmp directory for tmp files. - -{ - tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` && - test -d "$tmp" -} || -{ - tmp=./conf$$-$RANDOM - (umask 077 && mkdir "$tmp") -} || as_fn_error $? "cannot create a temporary directory in ." "$LINENO" 5 -ac_tmp=$tmp - -# 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=`echo X | tr X '\015'` -# On cygwin, bash can eat \r inside `` if the user requested igncr. -# But we know of no other shell where ac_cr would be empty at this -# point, so we can use a bashism as a fallback. -if test "x$ac_cr" = x; then - eval ac_cr=\$\'\\r\' -fi -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 {' >"$ac_tmp/subs1.awk" && -_ACEOF - - -{ - echo "cat >conf$$subs.awk <<_ACEOF" && - echo "$ac_subst_vars" | sed 's/.*/&!$&$ac_delim/' && - echo "_ACEOF" -} >conf$$subs.sh || - as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 -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_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 - - 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_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 - 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 >>"\$ac_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 >>"\$ac_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 < "$ac_tmp/subs1.awk" > "$ac_tmp/subs.awk" \ - || as_fn_error $? "could not setup config files machinery" "$LINENO" 5 -_ACEOF - -# VPATH may cause trouble with some makes, so we remove sole $(srcdir), -# ${srcdir} and @srcdir@ entries 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[ ]*=[ ]*/{ -h -s/// -s/^/:/ -s/[ ]*$/:/ -s/:\$(srcdir):/:/g -s/:\${srcdir}:/:/g -s/:@srcdir@:/:/g -s/^:*// -s/:*$// -x -s/\(=[ ]*\).*/\1/ -G -s/\n// -s/^[^=]*=[ ]*$// -}' -fi - -cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 -fi # test -n "$CONFIG_FILES" - - -eval set X " :F $CONFIG_FILES :C $CONFIG_COMMANDS" -shift -for ac_tag -do - case $ac_tag in - :[FHLC]) ac_mode=$ac_tag; continue;; - esac - case $ac_mode$ac_tag in - :[FHL]*:*);; - :L* | :C*:*) as_fn_error $? "invalid tag \`$ac_tag'" "$LINENO" 5;; - :[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="$ac_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_fn_error 1 "cannot find input file: \`$ac_f'" "$LINENO" 5;; - esac - case $ac_f in *\'*) ac_f=`$as_echo "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac - as_fn_append 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:${as_lineno-$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 >"$ac_tmp/stdin" \ - || as_fn_error $? "could not create $ac_file" "$LINENO" 5 ;; - 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"; as_fn_mkdir_p - 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:${as_lineno-$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 "$ac_tmp/subs.awk" \ - >$ac_tmp/out || as_fn_error $? "could not create $ac_file" "$LINENO" 5 - -test -z "$ac_datarootdir_hack$ac_datarootdir_seen" && - { ac_out=`sed -n '/\${datarootdir}/p' "$ac_tmp/out"`; test -n "$ac_out"; } && - { ac_out=`sed -n '/^[ ]*datarootdir[ ]*:*=/p' \ - "$ac_tmp/out"`; test -z "$ac_out"; } && - { $as_echo "$as_me:${as_lineno-$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 "$ac_tmp/stdin" - case $ac_file in - -) cat "$ac_tmp/out" && rm -f "$ac_tmp/out";; - *) rm -f "$ac_file" && mv "$ac_tmp/out" "$ac_file";; - esac \ - || as_fn_error $? "could not create $ac_file" "$LINENO" 5 - ;; - - - :C) { $as_echo "$as_me:${as_lineno-$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"" || { - # Older Autoconf 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"` - # 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'`; 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; as_fn_mkdir_p - # echo "creating $dirpart/$file" - echo '# dummy' > "$dirpart/$file" - done - done -} - ;; - "libtool":C) - - # See if we are running on zsh, and set the options that 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 -# Generated automatically by $as_me ($PACKAGE) $VERSION -# NOTE: Changes made to this file will be lost: look at ltmain.sh. - -# Provide generalized library-building support services. -# Written by Gordon Matzigkeit, 1996 - -# Copyright (C) 2014 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 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 this program. If not, see . - - -# The names of the tagged configurations supported by this script. -available_tags='' - -# Configured defaults for sys_lib_dlsearch_path munging. -: \${LT_SYS_LIBRARY_PATH="$configure_time_lt_sys_library_path"} - -# ### BEGIN LIBTOOL CONFIG - -# 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 - -# Shell to use when invoking shell scripts. -SHELL=$lt_SHELL - -# An echo program that protects backslashes. -ECHO=$lt_ECHO - -# Whether or not to build static libraries. -build_old_libs=$enable_static - -# Whether or not to build shared libraries. -build_libtool_libs=$enable_shared - -# Which release of libtool.m4 was used? -macro_version=$macro_version -macro_revision=$macro_revision - -# What type of objects to build. -pic_mode=$pic_mode - -# Whether or not to optimize for fast installation. -fast_install=$enable_fast_install - -# Shared archive member basename,for filename based shared library versioning on AIX. -shared_archive_member_spec=$shared_archive_member_spec - -# The PATH separator for the build system. -PATH_SEPARATOR=$lt_PATH_SEPARATOR - -# 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 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 - -# convert \$build file names to \$host format. -to_host_file_cmd=$lt_cv_to_host_file_cmd - -# convert \$build files to toolchain format. -to_tool_file_cmd=$lt_cv_to_tool_file_cmd - -# 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 - -# How to find potential files when deplibs_check_method = "file_magic". -file_magic_glob=$lt_file_magic_glob - -# Find potential files using nocaseglob when deplibs_check_method = "file_magic". -want_nocaseglob=$lt_want_nocaseglob - -# DLL creation program. -DLLTOOL=$lt_DLLTOOL - -# Command to associate shared and link libraries. -sharedlib_from_linklib_cmd=$lt_sharedlib_from_linklib_cmd - -# The archiver. -AR=$lt_AR - -# Flags to create an archive. -AR_FLAGS=$lt_AR_FLAGS - -# How to feed a file listing to the archiver. -archiver_list_spec=$lt_archiver_list_spec - -# 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 - -# Whether to use a lock for old archive extraction. -lock_old_archive_extraction=$lock_old_archive_extraction - -# 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 into a list of symbols to manually relocate. -global_symbol_to_import=$lt_lt_cv_sys_global_symbol_to_import - -# 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 lister interface. -nm_interface=$lt_lt_cv_nm_interface - -# Specify filename containing input files for \$NM. -nm_file_list_spec=$lt_nm_file_list_spec - -# The root where to search for dependent libraries,and where our libraries should be installed. -lt_sysroot=$lt_sysroot - -# Command to truncate a binary pipe. -lt_truncate_bin=$lt_lt_cv_truncate_bin - -# The name of the directory that contains temporary libtool files. -objdir=$objdir - -# 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 - -# Manifest tool. -MANIFEST_TOOL=$lt_MANIFEST_TOOL - -# 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 - -# Permission mode override for installation of shared libraries. -install_override_mode=$lt_install_override_mode - -# 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 - -# Detected run-time system search path for libraries. -sys_lib_dlsearch_path_spec=$lt_configure_time_dlsearch_path - -# Explicit LT_SYS_LIBRARY_PATH set during ./configure time. -configure_time_lt_sys_library_path=$lt_configure_time_lt_sys_library_path - -# 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 - -# How to create reloadable object files. -reload_flag=$lt_reload_flag -reload_cmds=$lt_reload_cmds - -# 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 - -# Additional compiler flags for building library objects. -pic_flag=$lt_lt_prog_compiler_pic - -# How to pass a linker flag through the compiler. -wl=$lt_lt_prog_compiler_wl - -# 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 - -# 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 - -# 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 - -# Commands necessary for finishing linking programs. -postlink_cmds=$lt_postlink_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 - - cat <<'_LT_EOF' >> "$cfgfile" - -# ### BEGIN FUNCTIONS SHARED WITH CONFIGURE - -# func_munge_path_list VARIABLE PATH -# ----------------------------------- -# VARIABLE is name of variable containing _space_ separated list of -# directories to be munged by the contents of PATH, which is string -# having a format: -# "DIR[:DIR]:" -# string "DIR[ DIR]" will be prepended to VARIABLE -# ":DIR[:DIR]" -# string "DIR[ DIR]" will be appended to VARIABLE -# "DIRP[:DIRP]::[DIRA:]DIRA" -# string "DIRP[ DIRP]" will be prepended to VARIABLE and string -# "DIRA[ DIRA]" will be appended to VARIABLE -# "DIR[:DIR]" -# VARIABLE will be replaced by "DIR[ DIR]" -func_munge_path_list () -{ - case x$2 in - x) - ;; - *:) - eval $1=\"`$ECHO $2 | $SED 's/:/ /g'` \$$1\" - ;; - x:*) - eval $1=\"\$$1 `$ECHO $2 | $SED 's/:/ /g'`\" - ;; - *::*) - eval $1=\"\$$1\ `$ECHO $2 | $SED -e 's/.*:://' -e 's/:/ /g'`\" - eval $1=\"`$ECHO $2 | $SED -e 's/::.*//' -e 's/:/ /g'`\ \$$1\" - ;; - *) - eval $1=\"`$ECHO $2 | $SED 's/:/ /g'`\" - ;; - esac -} - - -# Calculate cc_basename. Skip known compiler wrappers and cross-prefix. -func_cc_basename () -{ - for cc_temp in $*""; do - case $cc_temp in - compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; - distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; - \-*) ;; - *) break;; - esac - done - func_cc_basename_result=`$ECHO "$cc_temp" | $SED "s%.*/%%; s%^$host_alias-%%"` -} - - -# ### END FUNCTIONS SHARED WITH CONFIGURE - -_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 set != "${COLLECT_NAMES+set}"; 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 '$q' "$ltmain" >> "$cfgfile" \ - || (rm -f "$cfgfile"; exit 1) - - mv -f "$cfgfile" "$ofile" || - (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile") - chmod +x "$ofile" - - ;; - "testsuite/run_common_test":F) chmod +x testsuite/run_common_test ;; - "testsuite/cover_to_html.sh":F) chmod +x testsuite/cover_to_html.sh ;; - "testsuite/analyze_coverdata.escript":F) chmod +x testsuite/analyze_coverdata.escript ;; - "scripts/make-release":F) chmod +x scripts/make-release ;; - "applications/wiki/scripts/addFile":F) chmod +x applications/wiki/scripts/addFile ;; - "applications/wiki/scripts/getPassword":F) chmod +x applications/wiki/scripts/getPassword ;; - "applications/wiki/scripts/importFiles":F) chmod +x applications/wiki/scripts/importFiles ;; - "applications/wiki/scripts/updateWiki":F) chmod +x applications/wiki/scripts/updateWiki ;; - "include/Makefile":F) - if test -e include/yaws.hrl; then : - -else - ln -s ${ac_abs_srcdir}/yaws.hrl include/yaws.hrl -fi - if test -e include/yaws_api.hrl; then : - -else - ln -s ${ac_abs_srcdir}/yaws_api.hrl include/yaws_api.hrl -fi - ;; - "priv/Makefile":F) - if test -e priv/mime.types; then : - -else - ln -s ${ac_abs_srcdir}/mime.types priv/mime.types -fi - ;; - - esac -done # for ac_tag - - -as_fn_exit 0 -_ACEOF -ac_clean_files=$ac_clean_files_save - -test $ac_write_fail = 0 || - as_fn_error $? "write failure creating $CONFIG_STATUS" "$LINENO" 5 - - -# 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 || as_fn_exit 1 -fi -if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5 -$as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;} -fi - - -echo - - text=`$ECHO $seo " %B== ${PACKAGE_NAME} ${PACKAGE_VERSION} ==%b" | sed -e "s/%B/${colored_echo_bold}/g" -e "s/%b/${colored_echo_norm}/g" 2>/dev/null` - $ECHO $seo "$text" - - text=`$ECHO $sec " %B== ${PACKAGE_NAME} ${PACKAGE_VERSION} ==%b" | sed -e "s/%B//g" -e "s/%b//g" 2>/dev/null` - $as_echo "$as_me:${as_lineno-$LINENO}: $text" >&5 - -echo - - text=`$ECHO $seo "Configuration:" | sed -e "s/%B/${colored_echo_bold}/g" -e "s/%b/${colored_echo_norm}/g" 2>/dev/null` - $ECHO $seo "$text" - - text=`$ECHO $sec "Configuration:" | sed -e "s/%B//g" -e "s/%b//g" 2>/dev/null` - $as_echo "$as_me:${as_lineno-$LINENO}: $text" >&5 - - - text=`$ECHO $seo " %BApplication dir.%b: ${ERLANG_INSTALL_LIB_DIR_yaws}" | sed -e "s/%B/${colored_echo_bold}/g" -e "s/%b/${colored_echo_norm}/g" 2>/dev/null` - $ECHO $seo "$text" - - text=`$ECHO $sec " %BApplication dir.%b: ${ERLANG_INSTALL_LIB_DIR_yaws}" | sed -e "s/%B//g" -e "s/%b//g" 2>/dev/null` - $as_echo "$as_me:${as_lineno-$LINENO}: $text" >&5 - -echo - - text=`$ECHO $seo " %BPrefix%b: ${prefix}" | sed -e "s/%B/${colored_echo_bold}/g" -e "s/%b/${colored_echo_norm}/g" 2>/dev/null` - $ECHO $seo "$text" - - text=`$ECHO $sec " %BPrefix%b: ${prefix}" | sed -e "s/%B//g" -e "s/%b//g" 2>/dev/null` - $as_echo "$as_me:${as_lineno-$LINENO}: $text" >&5 - - - text=`$ECHO $seo " %Betcdir%b: ${sysconfdir}" | sed -e "s/%B/${colored_echo_bold}/g" -e "s/%b/${colored_echo_norm}/g" 2>/dev/null` - $ECHO $seo "$text" - - text=`$ECHO $sec " %Betcdir%b: ${sysconfdir}" | sed -e "s/%B//g" -e "s/%b//g" 2>/dev/null` - $as_echo "$as_me:${as_lineno-$LINENO}: $text" >&5 - - - text=`$ECHO $seo " %Bconfdir%b: ${confdir}" | sed -e "s/%B/${colored_echo_bold}/g" -e "s/%b/${colored_echo_norm}/g" 2>/dev/null` - $ECHO $seo "$text" - - text=`$ECHO $sec " %Bconfdir%b: ${confdir}" | sed -e "s/%B//g" -e "s/%b//g" 2>/dev/null` - $as_echo "$as_me:${as_lineno-$LINENO}: $text" >&5 - - - text=`$ECHO $seo " %Bbindir%b: ${bindir}" | sed -e "s/%B/${colored_echo_bold}/g" -e "s/%b/${colored_echo_norm}/g" 2>/dev/null` - $ECHO $seo "$text" - - text=`$ECHO $sec " %Bbindir%b: ${bindir}" | sed -e "s/%B//g" -e "s/%b//g" 2>/dev/null` - $as_echo "$as_me:${as_lineno-$LINENO}: $text" >&5 - - - text=`$ECHO $seo " %Bvardir%b: ${localstatedir}" | sed -e "s/%B/${colored_echo_bold}/g" -e "s/%b/${colored_echo_norm}/g" 2>/dev/null` - $ECHO $seo "$text" - - text=`$ECHO $sec " %Bvardir%b: ${localstatedir}" | sed -e "s/%B//g" -e "s/%b//g" 2>/dev/null` - $as_echo "$as_me:${as_lineno-$LINENO}: $text" >&5 - - - text=`$ECHO $seo " %Bwwwdir%b: ${wwwdir}" | sed -e "s/%B/${colored_echo_bold}/g" -e "s/%b/${colored_echo_norm}/g" 2>/dev/null` - $ECHO $seo "$text" - - text=`$ECHO $sec " %Bwwwdir%b: ${wwwdir}" | sed -e "s/%B//g" -e "s/%b//g" 2>/dev/null` - $as_echo "$as_me:${as_lineno-$LINENO}: $text" >&5 - - - text=`$ECHO $seo " %Bappsdir%b: ${appsdir}" | sed -e "s/%B/${colored_echo_bold}/g" -e "s/%b/${colored_echo_norm}/g" 2>/dev/null` - $ECHO $seo "$text" - - text=`$ECHO $sec " %Bappsdir%b: ${appsdir}" | sed -e "s/%B//g" -e "s/%b//g" 2>/dev/null` - $as_echo "$as_me:${as_lineno-$LINENO}: $text" >&5 - - - text=`$ECHO $seo " %Blogdir%b: ${logdir}" | sed -e "s/%B/${colored_echo_bold}/g" -e "s/%b/${colored_echo_norm}/g" 2>/dev/null` - $ECHO $seo "$text" - - text=`$ECHO $sec " %Blogdir%b: ${logdir}" | sed -e "s/%B//g" -e "s/%b//g" 2>/dev/null` - $as_echo "$as_me:${as_lineno-$LINENO}: $text" >&5 - - - text=`$ECHO $seo " %Byawsdir%b: ${yawsdir}" | sed -e "s/%B/${colored_echo_bold}/g" -e "s/%b/${colored_echo_norm}/g" 2>/dev/null` - $ECHO $seo "$text" - - text=`$ECHO $sec " %Byawsdir%b: ${yawsdir}" | sed -e "s/%B//g" -e "s/%b//g" 2>/dev/null` - $as_echo "$as_me:${as_lineno-$LINENO}: $text" >&5 - - - text=`$ECHO $seo " %Bdocdir%b: ${docdir}" | sed -e "s/%B/${colored_echo_bold}/g" -e "s/%b/${colored_echo_norm}/g" 2>/dev/null` - $ECHO $seo "$text" - - text=`$ECHO $sec " %Bdocdir%b: ${docdir}" | sed -e "s/%B//g" -e "s/%b//g" 2>/dev/null` - $as_echo "$as_me:${as_lineno-$LINENO}: $text" >&5 - - - text=`$ECHO $seo " %Bmandir%b: ${mandir}" | sed -e "s/%B/${colored_echo_bold}/g" -e "s/%b/${colored_echo_norm}/g" 2>/dev/null` - $ECHO $seo "$text" - - text=`$ECHO $sec " %Bmandir%b: ${mandir}" | sed -e "s/%B//g" -e "s/%b//g" 2>/dev/null` - $as_echo "$as_me:${as_lineno-$LINENO}: $text" >&5 - -echo - - text=`$ECHO $seo " %BErlang root dir%b: ${ERLANG_ROOT_DIR}" | sed -e "s/%B/${colored_echo_bold}/g" -e "s/%b/${colored_echo_norm}/g" 2>/dev/null` - $ECHO $seo "$text" - - text=`$ECHO $sec " %BErlang root dir%b: ${ERLANG_ROOT_DIR}" | sed -e "s/%B//g" -e "s/%b//g" 2>/dev/null` - $as_echo "$as_me:${as_lineno-$LINENO}: $text" >&5 - - - text=`$ECHO $seo " %BErlang lib dir%b: ${ERLANG_LIB_DIR}" | sed -e "s/%B/${colored_echo_bold}/g" -e "s/%b/${colored_echo_norm}/g" 2>/dev/null` - $ECHO $seo "$text" - - text=`$ECHO $sec " %BErlang lib dir%b: ${ERLANG_LIB_DIR}" | sed -e "s/%B//g" -e "s/%b//g" 2>/dev/null` - $as_echo "$as_me:${as_lineno-$LINENO}: $text" >&5 - - - text=`$ECHO $seo " %BErlang compiler%b: ${ERLC}" | sed -e "s/%B/${colored_echo_bold}/g" -e "s/%b/${colored_echo_norm}/g" 2>/dev/null` - $ECHO $seo "$text" - - text=`$ECHO $sec " %BErlang compiler%b: ${ERLC}" | sed -e "s/%B//g" -e "s/%b//g" 2>/dev/null` - $as_echo "$as_me:${as_lineno-$LINENO}: $text" >&5 - - - text=`$ECHO $seo " %BErlang emulator%b: ${ERL}" | sed -e "s/%B/${colored_echo_bold}/g" -e "s/%b/${colored_echo_norm}/g" 2>/dev/null` - $ECHO $seo "$text" - - text=`$ECHO $sec " %BErlang emulator%b: ${ERL}" | sed -e "s/%B//g" -e "s/%b//g" 2>/dev/null` - $as_echo "$as_me:${as_lineno-$LINENO}: $text" >&5 - - - text=`$ECHO $seo " %BWindows Erlang emulator%b: ${WERL}" | sed -e "s/%B/${colored_echo_bold}/g" -e "s/%b/${colored_echo_norm}/g" 2>/dev/null` - $ECHO $seo "$text" - - text=`$ECHO $sec " %BWindows Erlang emulator%b: ${WERL}" | sed -e "s/%B//g" -e "s/%b//g" 2>/dev/null` - $as_echo "$as_me:${as_lineno-$LINENO}: $text" >&5 - - - text=`$ECHO $seo " %BErlang interpreter%b: ${ESCRIPT}" | sed -e "s/%B/${colored_echo_bold}/g" -e "s/%b/${colored_echo_norm}/g" 2>/dev/null` - $ECHO $seo "$text" - - text=`$ECHO $sec " %BErlang interpreter%b: ${ESCRIPT}" | sed -e "s/%B//g" -e "s/%b//g" 2>/dev/null` - $as_echo "$as_me:${as_lineno-$LINENO}: $text" >&5 - - - text=`$ECHO $seo " %BErlang dialyzer tool%b: ${DIALYZER}" | sed -e "s/%B/${colored_echo_bold}/g" -e "s/%b/${colored_echo_norm}/g" 2>/dev/null` - $ECHO $seo "$text" - - text=`$ECHO $sec " %BErlang dialyzer tool%b: ${DIALYZER}" | sed -e "s/%B//g" -e "s/%b//g" 2>/dev/null` - $as_echo "$as_me:${as_lineno-$LINENO}: $text" >&5 - - - text=`$ECHO $seo " %BErlang ct_run tool%b: ${CT_RUN}" | sed -e "s/%B/${colored_echo_bold}/g" -e "s/%b/${colored_echo_norm}/g" 2>/dev/null` - $ECHO $seo "$text" - - text=`$ECHO $sec " %BErlang ct_run tool%b: ${CT_RUN}" | sed -e "s/%B//g" -e "s/%b//g" 2>/dev/null` - $as_echo "$as_me:${as_lineno-$LINENO}: $text" >&5 - -echo diff -Nru yaws-2.0.6+dfsg/configure.ac yaws-2.0.7+dfsg/configure.ac --- yaws-2.0.6+dfsg/configure.ac 2017-01-27 15:41:40.000000000 +0000 +++ yaws-2.0.7+dfsg/configure.ac 2019-07-14 13:01:11.000000000 +0000 @@ -74,10 +74,8 @@ AC_ARG_ENABLE([pam], AC_HELP_STRING([--disable-pam], - [disable pam auth]), - enable_pam="$enableval", - enable_pam="yes") -AM_CONDITIONAL(WITH_EPAM, [test "x${enable_pam}" = "xyes"]) + [disable pam auth])) +AM_CONDITIONAL(WITH_EPAM, [test "x${enable_pam}" != "xno"]) APPDEPS= AC_ARG_ENABLE(crypto, @@ -205,10 +203,10 @@ ERLANG_CHECK_ERTS ERLANG_CHECK_RELEASE -dnl Require Erlang >=R16B01 (ERTS 5.10.2) is required. -AX_COMPARE_VERSION([${ERLANG_ERTS_VER}], [ge], [5.10.2], +dnl Require Erlang >=R17 (ERTS 6.0) is required. +AX_COMPARE_VERSION([${ERLANG_ERTS_VER}], [ge], [6.0], [], - [AC_MSG_ERROR([Erlang R16B01 or higher is required but only Erlang $ERLANG_RELEASE was found!])]) + [AC_MSG_ERROR([Erlang R17 or higher is required but only Erlang $ERLANG_RELEASE was found!])]) dnl Determine directories for installation. if test "x${prefix}" != "xNONE" -a "x${ERLANG_INSTALL_LIB_DIR}" = "x"; then @@ -290,20 +288,43 @@ AC_MSG_RESULT([$host_os]) dnl Sigh, pam headers do not seem to have a standard place. On FreeBSD and - dnl Linuces I've seen they are in /usr/include/security, but MacOS has them - dnl in /usr/include/pam. + dnl Linuxes I've seen they are in /usr/include/security, but MacOS has them + dnl in /usr/include/pam, /usr/include/security, or under a special SDK directory. EPAM_CFLAGS= + EPAM_INCLUDE= if test "x$enable_pam" != "xno"; then AC_CHECK_HEADERS([security/pam_appl.h pam/pam_appl.h pam_appl.h],[break]) + case "$host_os" in + darwin*) + if ! test -d /usr/include; then + AC_CHECK_PROGS([XCRUN], [xcrun]) + if test "x$XCRUN" != "x"; then + AC_MSG_CHECKING([for $XCRUN --show-sdk-platform-path]) + platform_dir=`$XCRUN --show-sdk-platform-path` + sdk_dir=`find $platform_dir -type d -name MacOSX.sdk 2>/dev/null` + if test "x$sdk_dir" != "x"; then + AC_MSG_RESULT([$sdk_dir]) + EPAM_INCLUDE="$sdk_dir" + else + AC_MSG_RESULT([no]) + fi + fi + fi + ;; + + *) + ;; + esac if test "x$ac_cv_header_security_pam_appl_h" = "xyes" ; then - EPAM_CFLAGS="-I/usr/include/security" + EPAM_CFLAGS='-I$(EPAM_INCLUDE)/usr/include/security' elif test "x$ac_cv_header_pam_pam_appl_h" = "xyes" ; then - EPAM_CFLAGS="-I/usr/include/pam" + EPAM_CFLAGS='-I$(EPAM_INCLUDE)/usr/include/pam' elif test "x$ac_cv_header_pam_appl_h" = "xno" ; then AC_MSG_ERROR("Could not find pam_appl.h required for pam authentication") fi AC_CHECK_LIB(pam,pam_start,[],[AC_MSG_ERROR("Could not find pam library")]) fi + AC_SUBST(EPAM_INCLUDE) AC_SUBST(EPAM_CFLAGS) ;; esac @@ -312,23 +333,6 @@ AM_CONDITIONAL(MINGW, [test "x$MINGW" = "xtrue"]) AM_CONDITIONAL(WINDOWS, [test "x$MINGW" = "xtrue" -o "x$CYGWIN" = "xtrue"]) -dnl check sendfile support: -dnl - HAVE_SENDFILE: say if sendfile syscall is supported - -HAVE_SENDFILE=false - -dnl Disabled because the yaws driver is not compiled for windows -if test "$WINDOWS" = true; then - AC_MSG_CHECKING([for sendfile]) - AC_MSG_RESULT([no]) -else - AC_LANG(C) - AC_CHECK_LIB([c],[sendfile],[HAVE_SENDFILE=true]) -fi - -AM_CONDITIONAL(HAVE_SENDFILE, [test "x$HAVE_SENDFILE" = "xtrue"]) -AC_SUBST(HAVE_SENDFILE) - dnl ------------------------------------------------------------------ dnl Check for programs used during Yaws compilation/installation dnl ------------------------------------------------------------------ diff -Nru yaws-2.0.6+dfsg/contrib/ymnesia.erl yaws-2.0.7+dfsg/contrib/ymnesia.erl --- yaws-2.0.6+dfsg/contrib/ymnesia.erl 2016-07-03 10:01:00.000000000 +0000 +++ yaws-2.0.7+dfsg/contrib/ymnesia.erl 2019-07-14 13:01:11.000000000 +0000 @@ -29,8 +29,6 @@ -export([out/1]). --import(lists, [map/2, foldl/3, reverse/1]). - -include("../include/yaws_api.hrl"). @@ -76,7 +74,7 @@ select_pattern(Name, Ls) -> Wp = ?MNESIA(table_info, [l2a(Name), wild_pattern]), - mk_select_pattern(map(fun(A) -> a2l(A) end,get_attributes(l2a(Name))), + mk_select_pattern(lists:map(fun(A) -> a2l(A) end,get_attributes(l2a(Name))), Ls, Wp, 2). mk_select_pattern([A|As], [{A,V}|T], Wp, N) -> @@ -149,7 +147,7 @@ table(Cbox, Sp, Table) when is_atom(Table) -> case catch ?MNESIA(table_info, [Table, attributes]) of Headers when is_list(Headers) -> - Vp = view_pattern(Cbox, map(fun(X) -> a2l(X) end, Headers)), + Vp = view_pattern(Cbox, lists:map(fun(X) -> a2l(X) end, Headers)), {Q, Result} = do_query(Sp), {ehtml, [{head, [], @@ -180,29 +178,28 @@ Rows = get_tables(), [{'div', [], [{table, [], - map(fun(Row) -> - {tr, [], - {form, [{action, "table.yaws"}, - {method, "post"}, - {name, Row}], - [{td, [], sublnk(a2l(Row))} | - mk_input_fields(Row)]}} - end, Rows)}]}]. + lists:map(fun(Row) -> + {tr, [], + {form, [{action, "table.yaws"}, + {method, "post"}, + {name, Row}], + [{td, [], sublnk(a2l(Row))} | + mk_input_fields(Row)]}} + end, Rows)}]}]. %%% Create each table cell; consisting of the attribute name and an input field. mk_input_fields(Table) -> As = get_attributes(Table), Max = max_noof_attrs(), - map(fun(0) -> - {td, [], []}; - (Attribute) -> - A = a2l(Attribute), - {td, [], - [{input, [{type, "checkbox"}, {name, "cbox_"++A}]}, - {span, [{class, "attribute"}], A}, - {input, [{type, "text"}, {name, A}]}]} - end, As ++ lists:duplicate(Max-length(As), 0)). - + lists:map(fun(0) -> + {td, [], []}; + (Attribute) -> + A = a2l(Attribute), + {td, [], + [{input, [{type, "checkbox"}, {name, "cbox_"++A}]}, + {span, [{class, "attribute"}], A}, + {input, [{type, "text"}, {name, A}]}]} + end, As ++ lists:duplicate(Max-length(As), 0)). extract_cbox(L) -> extract_cbox(L, [], []). @@ -212,7 +209,7 @@ extract_cbox([H|T], Cs, Rs) -> extract_cbox(T, Cs, [H|Rs]); extract_cbox([], Cs, Rs) -> - {reverse(Cs), reverse(Rs)}. + {lists:reverse(Cs), lists:reverse(Rs)}. %%% Build the result table. @@ -221,10 +218,10 @@ [{table, [], [{tr, [], [{th, [], a2l(X)} || X <- vp(Vp,Headers)]} | - map(fun(Row) -> - {tr, [], - [{td, [], massage(W)} || W <- vp(Vp,Row)]} - end, Rows)]}]}]. + lists:map(fun(Row) -> + {tr, [], + [{td, [], massage(W)} || W <- vp(Vp,Row)]} + end, Rows)]}]}]. %%% Match the view pattern to select which entries to let through. vp([], L) -> L; @@ -262,9 +259,9 @@ ?MNESIA(table_info, [Table, attributes]). max_noof_attrs() -> - foldl(fun(Table, Max) -> - erlang:max(length(get_attributes(Table)), Max) - end, 0, get_tables()). + lists:foldl(fun(Table, Max) -> + erlang:max(length(get_attributes(Table)), Max) + end, 0, get_tables()). a2l(A) when is_atom(A) -> atom_to_list(A); @@ -278,7 +275,7 @@ Val. t2l(L) -> - map(fun(T) -> tail(tuple_to_list(T)) end, L). + lists:map(fun(T) -> tail(tuple_to_list(T)) end, L). tail([]) -> []; tail(L) -> tl(L). diff -Nru yaws-2.0.6+dfsg/c_src/Makefile.am yaws-2.0.7+dfsg/c_src/Makefile.am --- yaws-2.0.6+dfsg/c_src/Makefile.am 2016-07-03 10:01:00.000000000 +0000 +++ yaws-2.0.7+dfsg/c_src/Makefile.am 2019-07-14 13:01:11.000000000 +0000 @@ -15,13 +15,6 @@ setuid_drv_la_LDFLAGS = -module -avoid-version setuid_drv_la_SOURCES = setuid_drv.c -if HAVE_SENDFILE - lib_LTLIBRARIES += yaws_sendfile_drv.la - yaws_sendfile_drv_la_CFLAGS = -DHAVE_SENDFILE $(EXTRAINCLUDE) -I$(ERLANG_ERTS_DIR)/include - yaws_sendfile_drv_la_LDFLAGS = -module -avoid-version - yaws_sendfile_drv_la_SOURCES = yaws_sendfile_drv.c hashtable.c hashtable.h hashtable_private.h -endif - all-local: post-build clean-local: @@ -34,9 +27,6 @@ $(AM_V_at)$(INSTALL) -m 644 epam @top_builddir@/priv endif $(AM_V_at)$(INSTALL) -m 644 .libs/setuid_drv.so @top_builddir@/priv/lib -if HAVE_SENDFILE - $(AM_V_at)$(INSTALL) -m 644 .libs/yaws_sendfile_drv.so @top_builddir@/priv/lib -endif # Local Variables: # tab-width: 8 diff -Nru yaws-2.0.6+dfsg/c_src/Makefile.in yaws-2.0.7+dfsg/c_src/Makefile.in --- yaws-2.0.6+dfsg/c_src/Makefile.in 2018-06-26 09:17:08.000000000 +0000 +++ yaws-2.0.7+dfsg/c_src/Makefile.in 1970-01-01 00:00:00.000000000 +0000 @@ -1,868 +0,0 @@ -# Makefile.in generated by automake 1.15.1 from Makefile.am. -# @configure_input@ - -# Copyright (C) 1994-2017 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@ -am__is_gnu_make = { \ - if test -z '$(MAKELEVEL)'; then \ - false; \ - elif test -n '$(MAKE_HOST)'; then \ - true; \ - elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ - true; \ - else \ - false; \ - fi; \ -} -am__make_running_with_option = \ - case $${target_option-} in \ - ?) ;; \ - *) echo "am__make_running_with_option: internal error: invalid" \ - "target option '$${target_option-}' specified" >&2; \ - exit 1;; \ - esac; \ - has_opt=no; \ - sane_makeflags=$$MAKEFLAGS; \ - if $(am__is_gnu_make); then \ - sane_makeflags=$$MFLAGS; \ - else \ - case $$MAKEFLAGS in \ - *\\[\ \ ]*) \ - bs=\\; \ - sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ - | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ - esac; \ - fi; \ - skip_next=no; \ - strip_trailopt () \ - { \ - flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ - }; \ - for flg in $$sane_makeflags; do \ - test $$skip_next = yes && { skip_next=no; continue; }; \ - case $$flg in \ - *=*|--*) continue;; \ - -*I) strip_trailopt 'I'; skip_next=yes;; \ - -*I?*) strip_trailopt 'I';; \ - -*O) strip_trailopt 'O'; skip_next=yes;; \ - -*O?*) strip_trailopt 'O';; \ - -*l) strip_trailopt 'l'; skip_next=yes;; \ - -*l?*) strip_trailopt 'l';; \ - -[dEDm]) skip_next=yes;; \ - -[JT]) skip_next=yes;; \ - esac; \ - case $$flg in \ - *$$target_option*) has_opt=yes; break;; \ - esac; \ - done; \ - test $$has_opt = yes -am__make_dryrun = (target_option=n; $(am__make_running_with_option)) -am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) -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@ -@WITH_EPAM_TRUE@bin_PROGRAMS = epam$(EXEEXT) -@HAVE_SENDFILE_TRUE@am__append_1 = yaws_sendfile_drv.la -subdir = c_src -ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/m4/ax_compare_version.m4 \ - $(top_srcdir)/m4/colored-echo.m4 $(top_srcdir)/m4/erlang.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)/configure.ac -am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ - $(ACLOCAL_M4) -DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON) -mkinstalldirs = $(install_sh) -d -CONFIG_CLEAN_FILES = -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__uninstall_files_from_dir = { \ - test -z "$$files" \ - || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \ - || { echo " ( cd '$$dir' && rm -f" $$files ")"; \ - $(am__cd) "$$dir" && rm -f $$files; }; \ - } -am__installdirs = "$(DESTDIR)$(libdir)" "$(DESTDIR)$(bindir)" -LTLIBRARIES = $(lib_LTLIBRARIES) -setuid_drv_la_LIBADD = -am_setuid_drv_la_OBJECTS = setuid_drv_la-setuid_drv.lo -setuid_drv_la_OBJECTS = $(am_setuid_drv_la_OBJECTS) -AM_V_lt = $(am__v_lt_@AM_V@) -am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@) -am__v_lt_0 = --silent -am__v_lt_1 = -setuid_drv_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ - $(LIBTOOLFLAGS) --mode=link $(CCLD) $(setuid_drv_la_CFLAGS) \ - $(CFLAGS) $(setuid_drv_la_LDFLAGS) $(LDFLAGS) -o $@ -yaws_sendfile_drv_la_LIBADD = -am__yaws_sendfile_drv_la_SOURCES_DIST = yaws_sendfile_drv.c \ - hashtable.c hashtable.h hashtable_private.h -@HAVE_SENDFILE_TRUE@am_yaws_sendfile_drv_la_OBJECTS = \ -@HAVE_SENDFILE_TRUE@ yaws_sendfile_drv_la-yaws_sendfile_drv.lo \ -@HAVE_SENDFILE_TRUE@ yaws_sendfile_drv_la-hashtable.lo -yaws_sendfile_drv_la_OBJECTS = $(am_yaws_sendfile_drv_la_OBJECTS) -yaws_sendfile_drv_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \ - $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \ - $(yaws_sendfile_drv_la_CFLAGS) $(CFLAGS) \ - $(yaws_sendfile_drv_la_LDFLAGS) $(LDFLAGS) -o $@ -@HAVE_SENDFILE_TRUE@am_yaws_sendfile_drv_la_rpath = -rpath $(libdir) -PROGRAMS = $(bin_PROGRAMS) -am__epam_SOURCES_DIST = epam.c -@WITH_EPAM_TRUE@am_epam_OBJECTS = epam-epam.$(OBJEXT) -epam_OBJECTS = $(am_epam_OBJECTS) -epam_DEPENDENCIES = -epam_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ - $(LIBTOOLFLAGS) --mode=link $(CCLD) $(epam_CFLAGS) $(CFLAGS) \ - $(epam_LDFLAGS) $(LDFLAGS) -o $@ -AM_V_P = $(am__v_P_@AM_V@) -am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) -am__v_P_0 = false -am__v_P_1 = : -AM_V_GEN = $(am__v_GEN_@AM_V@) -am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) -am__v_GEN_0 = @echo " GEN " $@; -am__v_GEN_1 = -AM_V_at = $(am__v_at_@AM_V@) -am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) -am__v_at_0 = @ -am__v_at_1 = -DEFAULT_INCLUDES = -I.@am__isrc@ -depcomp = $(SHELL) $(top_srcdir)/ac-aux/depcomp -am__depfiles_maybe = depfiles -am__mv = mv -f -COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ - $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ - $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \ - $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ - $(AM_CFLAGS) $(CFLAGS) -AM_V_CC = $(am__v_CC_@AM_V@) -am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@) -am__v_CC_0 = @echo " CC " $@; -am__v_CC_1 = -CCLD = $(CC) -LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ - $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ - $(AM_LDFLAGS) $(LDFLAGS) -o $@ -AM_V_CCLD = $(am__v_CCLD_@AM_V@) -am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@) -am__v_CCLD_0 = @echo " CCLD " $@; -am__v_CCLD_1 = -SOURCES = $(setuid_drv_la_SOURCES) $(yaws_sendfile_drv_la_SOURCES) \ - $(epam_SOURCES) -DIST_SOURCES = $(setuid_drv_la_SOURCES) \ - $(am__yaws_sendfile_drv_la_SOURCES_DIST) \ - $(am__epam_SOURCES_DIST) -am__can_run_installinfo = \ - case $$AM_UPDATE_INFO_DIR in \ - n|no|NO) false;; \ - *) (install-info --version) >/dev/null 2>&1;; \ - esac -am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) -# Read a list of newline-separated strings from the standard input, -# and print each of them once, without duplicates. Input order is -# *not* preserved. -am__uniquify_input = $(AWK) '\ - BEGIN { nonempty = 0; } \ - { items[$$0] = 1; nonempty = 1; } \ - END { if (nonempty) { for (i in items) print i; }; } \ -' -# Make sure the list of sources is unique. This is necessary because, -# e.g., the same source file might be shared among _SOURCES variables -# for different programs/libraries. -am__define_uniq_tagged_files = \ - list='$(am__tagged_files)'; \ - unique=`for i in $$list; do \ - if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ - done | $(am__uniquify_input)` -ETAGS = etags -CTAGS = ctags -am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/ac-aux/depcomp -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) -ACLOCAL = @ACLOCAL@ -AMTAR = @AMTAR@ -AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ -APPDEPS = @APPDEPS@ -AR = @AR@ -AUTOCONF = @AUTOCONF@ -AUTOHEADER = @AUTOHEADER@ -AUTOMAKE = @AUTOMAKE@ -AWK = @AWK@ -CADAVER = @CADAVER@ -CC = @CC@ -CCDEPMODE = @CCDEPMODE@ -CFLAGS = @CFLAGS@ -CONFIG_STATUS_DEPENDENCIES = @CONFIG_STATUS_DEPENDENCIES@ -CPP = @CPP@ -CPPFLAGS = @CPPFLAGS@ -CT_RUN = @CT_RUN@ -CURL = @CURL@ -CYGPATH_W = @CYGPATH_W@ -DEFAULT_CHARSET = @DEFAULT_CHARSET@ -DEFS = @DEFS@ -DEPDIR = @DEPDIR@ -DIALYZER = @DIALYZER@ -DLLTOOL = @DLLTOOL@ -DSYMUTIL = @DSYMUTIL@ -DUMPBIN = @DUMPBIN@ -DVILATEX = @DVILATEX@ -DVIPS = @DVIPS@ -ECHO_C = @ECHO_C@ -ECHO_N = @ECHO_N@ -ECHO_T = @ECHO_T@ -EGREP = @EGREP@ -EPAM_CFLAGS = @EPAM_CFLAGS@ -EPSTOPDF = @EPSTOPDF@ -ERL = @ERL@ -ERLANG_ERTS_DIR = @ERLANG_ERTS_DIR@ -ERLANG_ERTS_VER = @ERLANG_ERTS_VER@ -ERLANG_INSTALL_LIB_DIR = @ERLANG_INSTALL_LIB_DIR@ -ERLANG_INSTALL_LIB_DIR_yapp = @ERLANG_INSTALL_LIB_DIR_yapp@ -ERLANG_INSTALL_LIB_DIR_yaws = @ERLANG_INSTALL_LIB_DIR_yaws@ -ERLANG_LIB_DIR = @ERLANG_LIB_DIR@ -ERLANG_LIB_DIR_common_test = @ERLANG_LIB_DIR_common_test@ -ERLANG_LIB_DIR_compiler = @ERLANG_LIB_DIR_compiler@ -ERLANG_LIB_DIR_crypto = @ERLANG_LIB_DIR_crypto@ -ERLANG_LIB_DIR_erlsom = @ERLANG_LIB_DIR_erlsom@ -ERLANG_LIB_DIR_erts = @ERLANG_LIB_DIR_erts@ -ERLANG_LIB_DIR_eunit = @ERLANG_LIB_DIR_eunit@ -ERLANG_LIB_DIR_inets = @ERLANG_LIB_DIR_inets@ -ERLANG_LIB_DIR_kernel = @ERLANG_LIB_DIR_kernel@ -ERLANG_LIB_DIR_mnesia = @ERLANG_LIB_DIR_mnesia@ -ERLANG_LIB_DIR_public_key = @ERLANG_LIB_DIR_public_key@ -ERLANG_LIB_DIR_sasl = @ERLANG_LIB_DIR_sasl@ -ERLANG_LIB_DIR_ssl = @ERLANG_LIB_DIR_ssl@ -ERLANG_LIB_DIR_stdlib = @ERLANG_LIB_DIR_stdlib@ -ERLANG_LIB_DIR_tools = @ERLANG_LIB_DIR_tools@ -ERLANG_LIB_DIR_xmerl = @ERLANG_LIB_DIR_xmerl@ -ERLANG_LIB_DIR_xmlrpc = @ERLANG_LIB_DIR_xmlrpc@ -ERLANG_LIB_VER_common_test = @ERLANG_LIB_VER_common_test@ -ERLANG_LIB_VER_compiler = @ERLANG_LIB_VER_compiler@ -ERLANG_LIB_VER_crypto = @ERLANG_LIB_VER_crypto@ -ERLANG_LIB_VER_erlsom = @ERLANG_LIB_VER_erlsom@ -ERLANG_LIB_VER_erts = @ERLANG_LIB_VER_erts@ -ERLANG_LIB_VER_eunit = @ERLANG_LIB_VER_eunit@ -ERLANG_LIB_VER_inets = @ERLANG_LIB_VER_inets@ -ERLANG_LIB_VER_kernel = @ERLANG_LIB_VER_kernel@ -ERLANG_LIB_VER_mnesia = @ERLANG_LIB_VER_mnesia@ -ERLANG_LIB_VER_public_key = @ERLANG_LIB_VER_public_key@ -ERLANG_LIB_VER_sasl = @ERLANG_LIB_VER_sasl@ -ERLANG_LIB_VER_ssl = @ERLANG_LIB_VER_ssl@ -ERLANG_LIB_VER_stdlib = @ERLANG_LIB_VER_stdlib@ -ERLANG_LIB_VER_tools = @ERLANG_LIB_VER_tools@ -ERLANG_LIB_VER_xmerl = @ERLANG_LIB_VER_xmerl@ -ERLANG_LIB_VER_xmlrpc = @ERLANG_LIB_VER_xmlrpc@ -ERLANG_RELEASE = @ERLANG_RELEASE@ -ERLANG_ROOT_DIR = @ERLANG_ROOT_DIR@ -ERLC = @ERLC@ -ERLCFLAGS = @ERLCFLAGS@ -ERL_LIBS = @ERL_LIBS@ -ESCRIPT = @ESCRIPT@ -EXEEXT = @EXEEXT@ -EXTRAINCLUDE = @EXTRAINCLUDE@ -FGREP = @FGREP@ -GREP = @GREP@ -HAVE_SENDFILE = @HAVE_SENDFILE@ -INSTALL = @INSTALL@ -INSTALL_BUILDER = @INSTALL_BUILDER@ -INSTALL_DATA = @INSTALL_DATA@ -INSTALL_PROGRAM = @INSTALL_PROGRAM@ -INSTALL_SCRIPT = @INSTALL_SCRIPT@ -INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ -LD = @LD@ -LDFLAGS = @LDFLAGS@ -LIBOBJS = @LIBOBJS@ -LIBS = @LIBS@ -LIBTOOL = @LIBTOOL@ -LIPO = @LIPO@ -LN_S = @LN_S@ -LTLIBOBJS = @LTLIBOBJS@ -LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@ -MAKEINFO = @MAKEINFO@ -MAN = @MAN@ -MANIFEST_TOOL = @MANIFEST_TOOL@ -MKDIR_P = @MKDIR_P@ -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_URL = @PACKAGE_URL@ -PACKAGE_VERSION = @PACKAGE_VERSION@ -PATH_SEPARATOR = @PATH_SEPARATOR@ -PDFLATEX = @PDFLATEX@ -PS2PDF = @PS2PDF@ -RANLIB = @RANLIB@ -SED = @SED@ -SET_MAKE = @SET_MAKE@ -SHELL = @SHELL@ -STRIP = @STRIP@ -TODOS = @TODOS@ -UNIX2DOS = @UNIX2DOS@ -VERSION = @VERSION@ -WERL = @WERL@ -YAPP_VSN = @YAPP_VSN@ -YAWS_VSN = @YAWS_VSN@ -abs_builddir = @abs_builddir@ -abs_srcdir = @abs_srcdir@ -abs_top_builddir = @abs_top_builddir@ -abs_top_srcdir = @abs_top_srcdir@ -ac_ct_AR = @ac_ct_AR@ -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@ -appsdir = @appsdir@ -bindir = $(ERLANG_INSTALL_LIB_DIR_yaws)/priv -build = @build@ -build_alias = @build_alias@ -build_cpu = @build_cpu@ -build_os = @build_os@ -build_vendor = @build_vendor@ -builddir = @builddir@ -confdir = @confdir@ -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 = $(ERLANG_INSTALL_LIB_DIR_yaws)/priv/lib -libexecdir = @libexecdir@ -localedir = @localedir@ -localstatedir = @localstatedir@ -logdir = @logdir@ -mandir = @mandir@ -mkdir_p = @mkdir_p@ -oldincludedir = @oldincludedir@ -pdfdir = @pdfdir@ -prefix = @prefix@ -program_transform_name = @program_transform_name@ -psdir = @psdir@ -runstatedir = @runstatedir@ -sbindir = @sbindir@ -sharedstatedir = @sharedstatedir@ -srcdir = @srcdir@ -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@ -wwwdir = @wwwdir@ -yappdir = @yappdir@ -yawsdir = @yawsdir@ -@WITH_EPAM_TRUE@epam_CFLAGS = $(EPAM_CFLAGS) $(EXTRAINCLUDE) -I$(ERLANG_ERTS_DIR)/include -@WITH_EPAM_TRUE@epam_LDFLAGS = -@WITH_EPAM_TRUE@epam_LDADD = -@WITH_EPAM_TRUE@epam_SOURCES = epam.c -lib_LTLIBRARIES = setuid_drv.la $(am__append_1) -setuid_drv_la_CFLAGS = $(EXTRAINCLUDE) -I$(ERLANG_ERTS_DIR)/include -setuid_drv_la_LDFLAGS = -module -avoid-version -setuid_drv_la_SOURCES = setuid_drv.c -@HAVE_SENDFILE_TRUE@yaws_sendfile_drv_la_CFLAGS = -DHAVE_SENDFILE $(EXTRAINCLUDE) -I$(ERLANG_ERTS_DIR)/include -@HAVE_SENDFILE_TRUE@yaws_sendfile_drv_la_LDFLAGS = -module -avoid-version -@HAVE_SENDFILE_TRUE@yaws_sendfile_drv_la_SOURCES = yaws_sendfile_drv.c hashtable.c hashtable.h hashtable_private.h -all: all-am - -.SUFFIXES: -.SUFFIXES: .c .lo .o .obj -$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) - @for dep in $?; do \ - case '$(am__configure_deps)' in \ - *$$dep*) \ - ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ - && { if test -f $@; then exit 0; else break; fi; }; \ - exit 1;; \ - esac; \ - done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign c_src/Makefile'; \ - $(am__cd) $(top_srcdir) && \ - $(AUTOMAKE) --foreign c_src/Makefile -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - @case '$?' in \ - *config.status*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ - *) \ - echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ - esac; - -$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh - -$(top_srcdir)/configure: $(am__configure_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(ACLOCAL_M4): $(am__aclocal_m4_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(am__aclocal_m4_deps): - -install-libLTLIBRARIES: $(lib_LTLIBRARIES) - @$(NORMAL_INSTALL) - @list='$(lib_LTLIBRARIES)'; test -n "$(libdir)" || list=; \ - list2=; for p in $$list; do \ - if test -f $$p; then \ - list2="$$list2 $$p"; \ - else :; fi; \ - done; \ - test -z "$$list2" || { \ - echo " $(MKDIR_P) '$(DESTDIR)$(libdir)'"; \ - $(MKDIR_P) "$(DESTDIR)$(libdir)" || exit 1; \ - echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(libdir)'"; \ - $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(libdir)"; \ - } - -uninstall-libLTLIBRARIES: - @$(NORMAL_UNINSTALL) - @list='$(lib_LTLIBRARIES)'; test -n "$(libdir)" || list=; \ - for p in $$list; do \ - $(am__strip_dir) \ - echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(libdir)/$$f'"; \ - $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(libdir)/$$f"; \ - done - -clean-libLTLIBRARIES: - -test -z "$(lib_LTLIBRARIES)" || rm -f $(lib_LTLIBRARIES) - @list='$(lib_LTLIBRARIES)'; \ - locs=`for p in $$list; do echo $$p; done | \ - sed 's|^[^/]*$$|.|; s|/[^/]*$$||; s|$$|/so_locations|' | \ - sort -u`; \ - test -z "$$locs" || { \ - echo rm -f $${locs}; \ - rm -f $${locs}; \ - } - -setuid_drv.la: $(setuid_drv_la_OBJECTS) $(setuid_drv_la_DEPENDENCIES) $(EXTRA_setuid_drv_la_DEPENDENCIES) - $(AM_V_CCLD)$(setuid_drv_la_LINK) -rpath $(libdir) $(setuid_drv_la_OBJECTS) $(setuid_drv_la_LIBADD) $(LIBS) - -yaws_sendfile_drv.la: $(yaws_sendfile_drv_la_OBJECTS) $(yaws_sendfile_drv_la_DEPENDENCIES) $(EXTRA_yaws_sendfile_drv_la_DEPENDENCIES) - $(AM_V_CCLD)$(yaws_sendfile_drv_la_LINK) $(am_yaws_sendfile_drv_la_rpath) $(yaws_sendfile_drv_la_OBJECTS) $(yaws_sendfile_drv_la_LIBADD) $(LIBS) -install-binPROGRAMS: $(bin_PROGRAMS) - @$(NORMAL_INSTALL) - @list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \ - if test -n "$$list"; then \ - echo " $(MKDIR_P) '$(DESTDIR)$(bindir)'"; \ - $(MKDIR_P) "$(DESTDIR)$(bindir)" || exit 1; \ - fi; \ - for p in $$list; do echo "$$p $$p"; done | \ - sed 's/$(EXEEXT)$$//' | \ - while read p p1; do if test -f $$p \ - || test -f $$p1 \ - ; then echo "$$p"; echo "$$p"; else :; fi; \ - done | \ - sed -e 'p;s,.*/,,;n;h' \ - -e 's|.*|.|' \ - -e 'p;x;s,.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/' | \ - sed 'N;N;N;s,\n, ,g' | \ - $(AWK) 'BEGIN { files["."] = ""; dirs["."] = 1 } \ - { d=$$3; if (dirs[d] != 1) { print "d", d; dirs[d] = 1 } \ - if ($$2 == $$4) files[d] = files[d] " " $$1; \ - else { print "f", $$3 "/" $$4, $$1; } } \ - END { for (d in files) print "f", d, files[d] }' | \ - while read type dir files; do \ - if test "$$dir" = .; then dir=; else dir=/$$dir; fi; \ - test -z "$$files" || { \ - echo " $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL_PROGRAM) $$files '$(DESTDIR)$(bindir)$$dir'"; \ - $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL_PROGRAM) $$files "$(DESTDIR)$(bindir)$$dir" || exit $$?; \ - } \ - ; done - -uninstall-binPROGRAMS: - @$(NORMAL_UNINSTALL) - @list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \ - files=`for p in $$list; do echo "$$p"; done | \ - sed -e 'h;s,^.*/,,;s/$(EXEEXT)$$//;$(transform)' \ - -e 's/$$/$(EXEEXT)/' \ - `; \ - test -n "$$list" || exit 0; \ - echo " ( cd '$(DESTDIR)$(bindir)' && rm -f" $$files ")"; \ - cd "$(DESTDIR)$(bindir)" && rm -f $$files - -clean-binPROGRAMS: - @list='$(bin_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 - -epam$(EXEEXT): $(epam_OBJECTS) $(epam_DEPENDENCIES) $(EXTRA_epam_DEPENDENCIES) - @rm -f epam$(EXEEXT) - $(AM_V_CCLD)$(epam_LINK) $(epam_OBJECTS) $(epam_LDADD) $(LIBS) - -mostlyclean-compile: - -rm -f *.$(OBJEXT) - -distclean-compile: - -rm -f *.tab.c - -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/epam-epam.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/setuid_drv_la-setuid_drv.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/yaws_sendfile_drv_la-hashtable.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/yaws_sendfile_drv_la-yaws_sendfile_drv.Plo@am__quote@ - -.c.o: -@am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ $< - -.c.obj: -@am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'` - -.c.lo: -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LTCOMPILE) -c -o $@ $< - -setuid_drv_la-setuid_drv.lo: setuid_drv.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(setuid_drv_la_CFLAGS) $(CFLAGS) -MT setuid_drv_la-setuid_drv.lo -MD -MP -MF $(DEPDIR)/setuid_drv_la-setuid_drv.Tpo -c -o setuid_drv_la-setuid_drv.lo `test -f 'setuid_drv.c' || echo '$(srcdir)/'`setuid_drv.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/setuid_drv_la-setuid_drv.Tpo $(DEPDIR)/setuid_drv_la-setuid_drv.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='setuid_drv.c' object='setuid_drv_la-setuid_drv.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(setuid_drv_la_CFLAGS) $(CFLAGS) -c -o setuid_drv_la-setuid_drv.lo `test -f 'setuid_drv.c' || echo '$(srcdir)/'`setuid_drv.c - -yaws_sendfile_drv_la-yaws_sendfile_drv.lo: yaws_sendfile_drv.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(yaws_sendfile_drv_la_CFLAGS) $(CFLAGS) -MT yaws_sendfile_drv_la-yaws_sendfile_drv.lo -MD -MP -MF $(DEPDIR)/yaws_sendfile_drv_la-yaws_sendfile_drv.Tpo -c -o yaws_sendfile_drv_la-yaws_sendfile_drv.lo `test -f 'yaws_sendfile_drv.c' || echo '$(srcdir)/'`yaws_sendfile_drv.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/yaws_sendfile_drv_la-yaws_sendfile_drv.Tpo $(DEPDIR)/yaws_sendfile_drv_la-yaws_sendfile_drv.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='yaws_sendfile_drv.c' object='yaws_sendfile_drv_la-yaws_sendfile_drv.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(yaws_sendfile_drv_la_CFLAGS) $(CFLAGS) -c -o yaws_sendfile_drv_la-yaws_sendfile_drv.lo `test -f 'yaws_sendfile_drv.c' || echo '$(srcdir)/'`yaws_sendfile_drv.c - -yaws_sendfile_drv_la-hashtable.lo: hashtable.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(yaws_sendfile_drv_la_CFLAGS) $(CFLAGS) -MT yaws_sendfile_drv_la-hashtable.lo -MD -MP -MF $(DEPDIR)/yaws_sendfile_drv_la-hashtable.Tpo -c -o yaws_sendfile_drv_la-hashtable.lo `test -f 'hashtable.c' || echo '$(srcdir)/'`hashtable.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/yaws_sendfile_drv_la-hashtable.Tpo $(DEPDIR)/yaws_sendfile_drv_la-hashtable.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='hashtable.c' object='yaws_sendfile_drv_la-hashtable.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(yaws_sendfile_drv_la_CFLAGS) $(CFLAGS) -c -o yaws_sendfile_drv_la-hashtable.lo `test -f 'hashtable.c' || echo '$(srcdir)/'`hashtable.c - -epam-epam.o: epam.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(epam_CFLAGS) $(CFLAGS) -MT epam-epam.o -MD -MP -MF $(DEPDIR)/epam-epam.Tpo -c -o epam-epam.o `test -f 'epam.c' || echo '$(srcdir)/'`epam.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/epam-epam.Tpo $(DEPDIR)/epam-epam.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='epam.c' object='epam-epam.o' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(epam_CFLAGS) $(CFLAGS) -c -o epam-epam.o `test -f 'epam.c' || echo '$(srcdir)/'`epam.c - -epam-epam.obj: epam.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(epam_CFLAGS) $(CFLAGS) -MT epam-epam.obj -MD -MP -MF $(DEPDIR)/epam-epam.Tpo -c -o epam-epam.obj `if test -f 'epam.c'; then $(CYGPATH_W) 'epam.c'; else $(CYGPATH_W) '$(srcdir)/epam.c'; fi` -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/epam-epam.Tpo $(DEPDIR)/epam-epam.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='epam.c' object='epam-epam.obj' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(epam_CFLAGS) $(CFLAGS) -c -o epam-epam.obj `if test -f 'epam.c'; then $(CYGPATH_W) 'epam.c'; else $(CYGPATH_W) '$(srcdir)/epam.c'; fi` - -mostlyclean-libtool: - -rm -f *.lo - -clean-libtool: - -rm -rf .libs _libs - -ID: $(am__tagged_files) - $(am__define_uniq_tagged_files); mkid -fID $$unique -tags: tags-am -TAGS: tags - -tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) - set x; \ - here=`pwd`; \ - $(am__define_uniq_tagged_files); \ - 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-am - -CTAGS: ctags -ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) - $(am__define_uniq_tagged_files); \ - 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" -cscopelist: cscopelist-am - -cscopelist-am: $(am__tagged_files) - list='$(am__tagged_files)'; \ - case "$(srcdir)" in \ - [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ - *) sdir=$(subdir)/$(srcdir) ;; \ - esac; \ - for i in $$list; do \ - if test -f "$$i"; then \ - echo "$(subdir)/$$i"; \ - else \ - echo "$$sdir/$$i"; \ - fi; \ - done >> $(top_builddir)/cscope.files - -distclean-tags: - -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags - -distdir: $(DISTFILES) - @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - list='$(DISTFILES)'; \ - 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 $(LTLIBRARIES) $(PROGRAMS) all-local -install-binPROGRAMS: install-libLTLIBRARIES - -installdirs: - for dir in "$(DESTDIR)$(libdir)" "$(DESTDIR)$(bindir)"; do \ - test -z "$$dir" || $(MKDIR_P) "$$dir"; \ - done -install: install-am -install-exec: install-exec-am -install-data: install-data-am -uninstall: uninstall-am - -install-am: all-am - @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am - -installcheck: installcheck-am -install-strip: - if test -z '$(STRIP)'; then \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - install; \ - else \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ - fi -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-binPROGRAMS clean-generic clean-libLTLIBRARIES \ - clean-libtool clean-local mostlyclean-am - -distclean: distclean-am - -rm -rf ./$(DEPDIR) - -rm -f Makefile -distclean-am: clean-am distclean-compile distclean-generic \ - distclean-tags - -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-binPROGRAMS install-libLTLIBRARIES - -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 -rf ./$(DEPDIR) - -rm -f Makefile -maintainer-clean-am: distclean-am maintainer-clean-generic - -mostlyclean: mostlyclean-am - -mostlyclean-am: mostlyclean-compile mostlyclean-generic \ - mostlyclean-libtool - -pdf: pdf-am - -pdf-am: - -ps: ps-am - -ps-am: - -uninstall-am: uninstall-binPROGRAMS uninstall-libLTLIBRARIES - -.MAKE: install-am install-strip - -.PHONY: CTAGS GTAGS TAGS all all-am all-local check check-am clean \ - clean-binPROGRAMS clean-generic clean-libLTLIBRARIES \ - clean-libtool clean-local cscopelist-am ctags ctags-am \ - distclean distclean-compile distclean-generic \ - distclean-libtool distclean-tags distdir dvi dvi-am html \ - html-am info info-am install install-am install-binPROGRAMS \ - install-data install-data-am install-dvi install-dvi-am \ - install-exec install-exec-am install-html install-html-am \ - install-info install-info-am install-libLTLIBRARIES \ - install-man install-pdf install-pdf-am install-ps \ - install-ps-am install-strip installcheck installcheck-am \ - installdirs maintainer-clean maintainer-clean-generic \ - mostlyclean mostlyclean-compile mostlyclean-generic \ - mostlyclean-libtool pdf pdf-am ps ps-am tags tags-am uninstall \ - uninstall-am uninstall-binPROGRAMS uninstall-libLTLIBRARIES - -.PRECIOUS: Makefile - - -all-local: post-build - -clean-local: - $(AM_V_at)rm -f @top_builddir@/priv/epam - $(AM_V_at)rm -fr @top_builddir@/priv/lib - -post-build: $(bin_PROGRAMS) $(lib_LTLIBRARIES) - $(AM_V_at)$(INSTALL) -d @top_builddir@/priv/lib -@WITH_EPAM_TRUE@ $(AM_V_at)$(INSTALL) -m 644 epam @top_builddir@/priv - $(AM_V_at)$(INSTALL) -m 644 .libs/setuid_drv.so @top_builddir@/priv/lib -@HAVE_SENDFILE_TRUE@ $(AM_V_at)$(INSTALL) -m 644 .libs/yaws_sendfile_drv.so @top_builddir@/priv/lib - -# Local Variables: -# tab-width: 8 -# End: - -# Tell versions [3.59,3.63) of GNU make to not export all variables. -# Otherwise a system limit (for SysV at least) may be exceeded. -.NOEXPORT: diff -Nru yaws-2.0.6+dfsg/c_src/yaws_sendfile_drv.c yaws-2.0.7+dfsg/c_src/yaws_sendfile_drv.c --- yaws-2.0.6+dfsg/c_src/yaws_sendfile_drv.c 2016-07-03 10:01:00.000000000 +0000 +++ yaws-2.0.7+dfsg/c_src/yaws_sendfile_drv.c 1970-01-01 00:00:00.000000000 +0000 @@ -1,332 +0,0 @@ -/* Interface to sendfile system call for Yaws */ -/* author: vinoski@ieee.org */ -/* Created : 09 Nov 2008 by Steve Vinoski */ - -#ifdef HAVE_SENDFILE - -#include -#include -#include -#include -#include -#include -#include -#include -#if defined(__linux__) -#include -#elif (defined(__APPLE__) && defined(__MACH__)) || defined(__FreeBSD__) -#include -#include -#endif - -#include "erl_driver.h" -#ifndef ERL_DRV_NIL -#include "erl_driver_compat.h" -#endif - -/* - * previously drv_output(..., int len) - * since R15B drv_output(..., ErlDrvSizeT len) - * use int if OTP < R15B - */ -#if ERL_DRV_EXTENDED_MAJOR_VERSION < 2 -typedef int ErlDrvSizeT; -#endif - -#include "hashtable.h" - -#define lshift_index(s, i, shift, t) (((t)((unsigned char*)(s))[i]) << (shift)) -#define lshift32(s, i, shift) lshift_index(s, i, shift, uint32_t) -#define lshift64(s, i, shift) lshift_index(s, i, shift, uint64_t) -#define get_int32(s) (lshift32(s,0,24) | lshift32(s,1,16) | lshift32(s,2,8) | lshift32(s,3,0)) -#define get_int64(s) (lshift64(s,0,56) | lshift64(s,1,48) | lshift64(s,2,40) | lshift64(s,3,32) | \ - lshift64(s,4,24) | lshift64(s,5,16) | lshift64(s,6,8) | lshift64(s,7,0)) - -#define put_shift(i, s, idx, shift) (((unsigned char*)(s))[idx] = ((unsigned char)((i) >> (shift)) & 0XFF)) -#define put_int32(i, s) do { \ - put_shift(i, s, 0, 24); \ - put_shift(i, s, 1, 16); \ - put_shift(i, s, 2, 8); \ - put_shift(i, s, 3, 0); \ - } while(0) -#define put_int64(i, s) do { \ - put_shift(i, s, 0, 56); \ - put_shift(i, s, 1, 48); \ - put_shift(i, s, 2, 40); \ - put_shift(i, s, 3, 32); \ - put_shift(i, s, 4, 24); \ - put_shift(i, s, 5, 16); \ - put_shift(i, s, 6, 8); \ - put_shift(i, s, 7, 0); \ - } while(0) - -typedef union { - void* hashkey; - ErlDrvEvent ev_data; -#ifdef _LP64 - uint64_t socket_fd; -#else - uint32_t socket_fd; -#endif -} SocketFd; - -typedef struct { - off_t offset; - size_t count; - ssize_t total; - int file_fd; -} Transfer; - -typedef struct hashtable* Transfers; - -typedef struct { - ErlDrvPort port; - Transfers xfer_table; -} Desc; - - -static unsigned int fdhash(void* k) -{ - return ((SocketFd*)&k)->socket_fd; -} - -static int fdeq(void* k1, void* k2) -{ - return k1 == k2; -} - -static ErlDrvData yaws_sendfile_drv_start(ErlDrvPort port, char* buf) -{ - Desc* d = (Desc*)driver_alloc(sizeof(Desc)); - if (d == NULL) return (ErlDrvData) -1; - d->port = port; - d->xfer_table = create_hashtable(8192, fdhash, fdeq); - if (d->xfer_table == NULL) { - driver_free(d); - return (ErlDrvData) -1; - } - return (ErlDrvData)d; -} - -static void yaws_sendfile_drv_stop(ErlDrvData handle) -{ - Desc* d = (Desc*)handle; - hashtable_destroy(d->xfer_table, 1); - driver_free(d); -} - -typedef union { - off_t offset; - size_t size; - ssize_t count; - uint64_t bits; - unsigned char bytes[8]; -} U64_t; - -typedef union { - char* buffer; - struct { - U64_t offset; - U64_t count; - uint32_t out_fd; - char filename[1]; - }* args; - struct { - U64_t count; - uint32_t out_fd; - unsigned char success; - char errno_string[1]; - }* result; -} Buffer; - -static ErlDrvSizeT set_error_buffer(Buffer* b, int socket_fd, int err) -{ - char* s, *t; - ErlDrvSizeT result_size = sizeof *(b->result); - memset(b->result, 0, result_size); - put_int32(socket_fd, &(b->result->out_fd)); - s = erl_errno_id(err); - if (strcmp(s, "unknown") == 0 && err == EOVERFLOW) { - s = "EOVERFLOW"; - } - for (t = b->result->errno_string; *s; s++, t++) { - *t = tolower(*s); - } - *t = '\0'; - return result_size - 1 + t - b->result->errno_string; -} - -static ssize_t yaws_sendfile_call(int out_fd, int in_fd, - off_t* offset, size_t count) -{ -#if defined(__linux__) - off_t cur = *offset; - ssize_t retval = sendfile(out_fd, in_fd, offset, count); - if (retval >= 0 && retval != count) { - if (*offset == cur) { - *offset += retval; - } - retval = -1; - errno = EAGAIN; - } else if (retval < 0 && errno == EINTR) { - errno = EAGAIN; - } - return retval; -#elif defined(__APPLE__) && defined(__MACH__) - off_t len = count; - int retval = sendfile(in_fd, out_fd, *offset, &len, NULL, 0); - if (retval < 0 && (errno == EAGAIN || errno == EINTR)) { - *offset += len; - errno = EAGAIN; - } - return retval == 0 ? len : retval; -#elif defined(__FreeBSD__) - off_t len = 0; - int retval = sendfile(in_fd, out_fd, *offset, count, NULL, &len, 0); - if (retval < 0 && (errno == EAGAIN || errno == EINTR)) { - *offset += len; - errno = EAGAIN; - } - return retval == 0 ? len : retval; -#else - errno = ENOSYS; - return -1; -#endif -} - -static void yaws_sendfile_drv_output(ErlDrvData handle, char* buf, - ErlDrvSizeT buflen) -{ - int fd, socket_fd; - Desc* d = (Desc*)handle; - Buffer b; - b.buffer = buf; - socket_fd = get_int32(&(b.args->out_fd)); - fd = open(b.args->filename, O_RDONLY | O_NONBLOCK); - if (fd < 0) { - ErlDrvSizeT out_buflen = set_error_buffer(&b, socket_fd, errno); - driver_output(d->port, buf, out_buflen); - } else { - Transfer* xfer; - SocketFd sfd; - sfd.socket_fd = socket_fd; - xfer = (Transfer*)hashtable_search(d->xfer_table, sfd.hashkey); - if (xfer == NULL) { - /* Transfer objects are intentionally not freed until the - driver stops, or if an insertion error occurs below. */ - xfer = (Transfer*)malloc(sizeof(Transfer)); - if (xfer == NULL) { - ErlDrvSizeT out_buflen = set_error_buffer(&b, socket_fd, - ENOMEM); - driver_output(d->port, buf, out_buflen); - return; - } - if (!hashtable_insert(d->xfer_table, sfd.hashkey, xfer)) { - ErlDrvSizeT out_buflen = set_error_buffer(&b, socket_fd, - ENOMEM); - driver_output(d->port, buf, out_buflen); - free(xfer); - return; - } - } - xfer->file_fd = fd; - xfer->offset = get_int64(&(b.args->offset.offset)); - xfer->count = get_int64(&(b.args->count.size)); - xfer->total = 0; -#if defined(ERL_DRV_USE) && defined(ERL_DRV_WRITE) - driver_select(d->port, sfd.ev_data, ERL_DRV_USE|ERL_DRV_WRITE, 1); -#else - driver_select(d->port, sfd.ev_data, DO_WRITE, 1); -#endif - } -} - - -static void yaws_sendfile_drv_ready_output(ErlDrvData handle, ErlDrvEvent ev) -{ - Desc* d = (Desc*)handle; - ssize_t result; - off_t cur_offset; - Transfer* xfer; - SocketFd* sfd = (SocketFd*)&ev; - xfer = (Transfer*)hashtable_search(d->xfer_table, sfd->hashkey); - if (xfer == NULL) { - /* fatal error, something is very wrong */ - driver_failure_atom(d->port, "socket_fd_not_found"); - return; - } - cur_offset = xfer->offset; - result = yaws_sendfile_call(sfd->socket_fd, xfer->file_fd, - &xfer->offset, xfer->count); - if (result < 0 && (errno == EAGAIN || errno == EWOULDBLOCK || - errno == EINPROGRESS || errno == EALREADY)) { - if (xfer->offset != cur_offset) { - off_t written = xfer->offset - cur_offset; - xfer->count -= written; - xfer->total += written; - } - } else { - int save_errno = errno; - ErlDrvSizeT out_buflen; - char buf[36]; - Buffer b; - b.buffer = buf; - memset(buf, 0, sizeof buf); -#ifdef ERL_DRV_WRITE - driver_select(d->port, ev, ERL_DRV_WRITE, 0); -#else - driver_select(d->port, ev, DO_WRITE, 0); -#endif - close(xfer->file_fd); - if (result < 0) { - out_buflen = set_error_buffer(&b, sfd->socket_fd, save_errno); - } else { - uint64_t total = xfer->total + result; - put_int64(total, &(b.result->count.count)); - put_int32(sfd->socket_fd, &(b.result->out_fd)); - b.result->success = 1; - b.result->errno_string[0] = '\0'; - out_buflen = sizeof(*b.result); - } - xfer->file_fd = -1; - xfer->offset = xfer->count = xfer->total = 0; - driver_output(d->port, buf, out_buflen); - } -} - -static ErlDrvEntry yaws_sendfile_driver_entry = { - NULL, - yaws_sendfile_drv_start, - yaws_sendfile_drv_stop, - yaws_sendfile_drv_output, - NULL, - yaws_sendfile_drv_ready_output, - "yaws_sendfile_drv", - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - ERL_DRV_EXTENDED_MARKER, - ERL_DRV_EXTENDED_MAJOR_VERSION, - ERL_DRV_EXTENDED_MINOR_VERSION, - 0, - NULL, - NULL, - NULL -}; - -DRIVER_INIT(yaws_sendfile_drv) -{ - return &yaws_sendfile_driver_entry; -} - -#else - -#error "yaws_sendfile_drv not supported on this platform" - -#endif /* HAVE_SENDFILE */ diff -Nru yaws-2.0.6+dfsg/debian/changelog yaws-2.0.7+dfsg/debian/changelog --- yaws-2.0.6+dfsg/debian/changelog 2020-02-25 08:20:29.000000000 +0000 +++ yaws-2.0.7+dfsg/debian/changelog 2020-02-27 09:30:10.000000000 +0000 @@ -1,3 +1,13 @@ +yaws (2.0.7+dfsg-1) unstable; urgency=medium + + * New upstream release. + * Switch to github for fetching new releases in debian/watch. + * Bump standards version to 4.5.0. + * Make the yaws-doc package multi-arch foreign. + * Improve the fix concerned with loading extra CGI environmant variables. + + -- Sergei Golovan Thu, 27 Feb 2020 12:30:10 +0300 + yaws (2.0.6+dfsg-3) unstable; urgency=medium * Use verbose build output. diff -Nru yaws-2.0.6+dfsg/debian/control yaws-2.0.7+dfsg/debian/control --- yaws-2.0.6+dfsg/debian/control 2020-02-25 08:20:29.000000000 +0000 +++ yaws-2.0.7+dfsg/debian/control 2020-02-27 09:30:10.000000000 +0000 @@ -7,7 +7,7 @@ erlang-dev (>= 1:13.b.1-3), erlang-edoc, erlang-mnesia, erlang-dialyzer Build-Depends-Indep: texlive-latex-base, texlive-latex-recommended, texlive-latex-extra, texlive-fonts-recommended, texlive-font-utils, texlive-extra-utils, ghostscript -Standards-Version: 4.1.3 +Standards-Version: 4.5.0 Homepage: http://yaws.hyber.org/ Vcs-Browser: https://salsa.debian.org/erlang-team/packages/yaws Vcs-Git: https://salsa.debian.org/erlang-team/packages/yaws.git @@ -57,6 +57,7 @@ Package: yaws-doc Section: doc Architecture: all +Multi-arch: foreign Depends: ${misc:Depends} Suggests: erlang-yaws, yaws Replaces: yaws (<< 1.87) diff -Nru yaws-2.0.6+dfsg/debian/patches/extracgivars.patch yaws-2.0.7+dfsg/debian/patches/extracgivars.patch --- yaws-2.0.6+dfsg/debian/patches/extracgivars.patch 2020-02-25 08:20:29.000000000 +0000 +++ yaws-2.0.7+dfsg/debian/patches/extracgivars.patch 2020-02-27 09:30:10.000000000 +0000 @@ -5,12 +5,13 @@ --- a/src/yaws_config.erl +++ b/src/yaws_config.erl -@@ -2398,7 +2398,7 @@ +@@ -2477,8 +2477,7 @@ fload(FD, extra_cgi_vars, GC, C1, Lno+1, ?NEXTLINE); ['<', "/extra_cgi_vars", '>'] -> - C1 = C#sconf{extra_cgi_vars = [EVars | C#sconf.extra_cgi_vars]}, -+ C1 = C#sconf{extra_cgi_vars = C#sconf.extra_cgi_vars}, - fload(FD, server, GC, C1, Lno+1, ?NEXTLINE); +- fload(FD, server, GC, C1, Lno+1, ?NEXTLINE); ++ fload(FD, server, GC, C, Lno+1, ?NEXTLINE); [H|T] -> + {error, ?F("Unexpected input ~p at line ~w", [[H|T], Lno])}; diff -Nru yaws-2.0.6+dfsg/debian/patches/fcgierrorreport.patch yaws-2.0.7+dfsg/debian/patches/fcgierrorreport.patch --- yaws-2.0.6+dfsg/debian/patches/fcgierrorreport.patch 2020-02-25 08:20:29.000000000 +0000 +++ yaws-2.0.7+dfsg/debian/patches/fcgierrorreport.patch 2020-02-27 09:30:10.000000000 +0000 @@ -5,7 +5,7 @@ --- a/src/yaws_server.erl +++ b/src/yaws_server.erl -@@ -2491,7 +2491,6 @@ +@@ -2505,7 +2505,6 @@ ); handle_ut(CliSock, ARG, UT = #urltype{type = fcgi}, N) -> diff -Nru yaws-2.0.6+dfsg/debian/watch yaws-2.0.7+dfsg/debian/watch --- yaws-2.0.6+dfsg/debian/watch 2020-02-25 08:20:29.000000000 +0000 +++ yaws-2.0.7+dfsg/debian/watch 2020-02-27 09:30:10.000000000 +0000 @@ -3,4 +3,5 @@ opts="dversionmangle=s/\+dfsg\d*$//, \ oversionmangle=s/$/+dfsg/, \ repack, compression=xz" \ - http://yaws.hyber.org/download/yaws-(.*)\.tar\.gz + https://github.com/klacke/yaws/releases \ + /klacke/yaws/archive/yaws-([.\d]+).tar.gz diff -Nru yaws-2.0.6+dfsg/dialyzer_checker yaws-2.0.7+dfsg/dialyzer_checker --- yaws-2.0.6+dfsg/dialyzer_checker 1970-01-01 00:00:00.000000000 +0000 +++ yaws-2.0.7+dfsg/dialyzer_checker 2019-07-14 13:01:11.000000000 +0000 @@ -0,0 +1,16 @@ +#!/usr/bin/env python + +import re + +count = 0 +with open('dialyzer_warnings') as dw: + with open('known_dialyzer_warnings') as kw: + for warn in dw: + warn = warn.strip() + pat = kw.readline().strip() + if not pat: + continue + if not re.match(pat, warn): + print '%s' % warn + count += 1 +exit(count) diff -Nru yaws-2.0.6+dfsg/doc/Makefile.in yaws-2.0.7+dfsg/doc/Makefile.in --- yaws-2.0.6+dfsg/doc/Makefile.in 2018-06-26 09:17:08.000000000 +0000 +++ yaws-2.0.7+dfsg/doc/Makefile.in 1970-01-01 00:00:00.000000000 +0000 @@ -1,574 +0,0 @@ -# Makefile.in generated by automake 1.15.1 from Makefile.am. -# @configure_input@ - -# Copyright (C) 1994-2017 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@ -am__is_gnu_make = { \ - if test -z '$(MAKELEVEL)'; then \ - false; \ - elif test -n '$(MAKE_HOST)'; then \ - true; \ - elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ - true; \ - else \ - false; \ - fi; \ -} -am__make_running_with_option = \ - case $${target_option-} in \ - ?) ;; \ - *) echo "am__make_running_with_option: internal error: invalid" \ - "target option '$${target_option-}' specified" >&2; \ - exit 1;; \ - esac; \ - has_opt=no; \ - sane_makeflags=$$MAKEFLAGS; \ - if $(am__is_gnu_make); then \ - sane_makeflags=$$MFLAGS; \ - else \ - case $$MAKEFLAGS in \ - *\\[\ \ ]*) \ - bs=\\; \ - sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ - | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ - esac; \ - fi; \ - skip_next=no; \ - strip_trailopt () \ - { \ - flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ - }; \ - for flg in $$sane_makeflags; do \ - test $$skip_next = yes && { skip_next=no; continue; }; \ - case $$flg in \ - *=*|--*) continue;; \ - -*I) strip_trailopt 'I'; skip_next=yes;; \ - -*I?*) strip_trailopt 'I';; \ - -*O) strip_trailopt 'O'; skip_next=yes;; \ - -*O?*) strip_trailopt 'O';; \ - -*l) strip_trailopt 'l'; skip_next=yes;; \ - -*l?*) strip_trailopt 'l';; \ - -[dEDm]) skip_next=yes;; \ - -[JT]) skip_next=yes;; \ - esac; \ - case $$flg in \ - *$$target_option*) has_opt=yes; break;; \ - esac; \ - done; \ - test $$has_opt = yes -am__make_dryrun = (target_option=n; $(am__make_running_with_option)) -am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) -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 = doc -ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/m4/ax_compare_version.m4 \ - $(top_srcdir)/m4/colored-echo.m4 $(top_srcdir)/m4/erlang.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)/configure.ac -am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ - $(ACLOCAL_M4) -DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON) -mkinstalldirs = $(install_sh) -d -CONFIG_CLEAN_FILES = -CONFIG_CLEAN_VPATH_FILES = -AM_V_P = $(am__v_P_@AM_V@) -am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) -am__v_P_0 = false -am__v_P_1 = : -AM_V_GEN = $(am__v_GEN_@AM_V@) -am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) -am__v_GEN_0 = @echo " GEN " $@; -am__v_GEN_1 = -AM_V_at = $(am__v_at_@AM_V@) -am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) -am__v_at_0 = @ -am__v_at_1 = -SOURCES = -DIST_SOURCES = -am__can_run_installinfo = \ - case $$AM_UPDATE_INFO_DIR in \ - n|no|NO) false;; \ - *) (install-info --version) >/dev/null 2>&1;; \ - esac -am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) -am__DIST_COMMON = $(srcdir)/Makefile.in -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) -ACLOCAL = @ACLOCAL@ -AMTAR = @AMTAR@ -AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ -APPDEPS = @APPDEPS@ -AR = @AR@ -AUTOCONF = @AUTOCONF@ -AUTOHEADER = @AUTOHEADER@ -AUTOMAKE = @AUTOMAKE@ -AWK = @AWK@ -CADAVER = @CADAVER@ -CC = @CC@ -CCDEPMODE = @CCDEPMODE@ -CFLAGS = @CFLAGS@ -CONFIG_STATUS_DEPENDENCIES = @CONFIG_STATUS_DEPENDENCIES@ -CPP = @CPP@ -CPPFLAGS = @CPPFLAGS@ -CT_RUN = @CT_RUN@ -CURL = @CURL@ -CYGPATH_W = @CYGPATH_W@ -DEFAULT_CHARSET = @DEFAULT_CHARSET@ -DEFS = @DEFS@ -DEPDIR = @DEPDIR@ -DIALYZER = @DIALYZER@ -DLLTOOL = @DLLTOOL@ -DSYMUTIL = @DSYMUTIL@ -DUMPBIN = @DUMPBIN@ -DVILATEX = @DVILATEX@ -DVIPS = @DVIPS@ -ECHO_C = @ECHO_C@ -ECHO_N = @ECHO_N@ -ECHO_T = @ECHO_T@ -EGREP = @EGREP@ -EPAM_CFLAGS = @EPAM_CFLAGS@ -EPSTOPDF = @EPSTOPDF@ -ERL = @ERL@ -ERLANG_ERTS_DIR = @ERLANG_ERTS_DIR@ -ERLANG_ERTS_VER = @ERLANG_ERTS_VER@ -ERLANG_INSTALL_LIB_DIR = @ERLANG_INSTALL_LIB_DIR@ -ERLANG_INSTALL_LIB_DIR_yapp = @ERLANG_INSTALL_LIB_DIR_yapp@ -ERLANG_INSTALL_LIB_DIR_yaws = @ERLANG_INSTALL_LIB_DIR_yaws@ -ERLANG_LIB_DIR = @ERLANG_LIB_DIR@ -ERLANG_LIB_DIR_common_test = @ERLANG_LIB_DIR_common_test@ -ERLANG_LIB_DIR_compiler = @ERLANG_LIB_DIR_compiler@ -ERLANG_LIB_DIR_crypto = @ERLANG_LIB_DIR_crypto@ -ERLANG_LIB_DIR_erlsom = @ERLANG_LIB_DIR_erlsom@ -ERLANG_LIB_DIR_erts = @ERLANG_LIB_DIR_erts@ -ERLANG_LIB_DIR_eunit = @ERLANG_LIB_DIR_eunit@ -ERLANG_LIB_DIR_inets = @ERLANG_LIB_DIR_inets@ -ERLANG_LIB_DIR_kernel = @ERLANG_LIB_DIR_kernel@ -ERLANG_LIB_DIR_mnesia = @ERLANG_LIB_DIR_mnesia@ -ERLANG_LIB_DIR_public_key = @ERLANG_LIB_DIR_public_key@ -ERLANG_LIB_DIR_sasl = @ERLANG_LIB_DIR_sasl@ -ERLANG_LIB_DIR_ssl = @ERLANG_LIB_DIR_ssl@ -ERLANG_LIB_DIR_stdlib = @ERLANG_LIB_DIR_stdlib@ -ERLANG_LIB_DIR_tools = @ERLANG_LIB_DIR_tools@ -ERLANG_LIB_DIR_xmerl = @ERLANG_LIB_DIR_xmerl@ -ERLANG_LIB_DIR_xmlrpc = @ERLANG_LIB_DIR_xmlrpc@ -ERLANG_LIB_VER_common_test = @ERLANG_LIB_VER_common_test@ -ERLANG_LIB_VER_compiler = @ERLANG_LIB_VER_compiler@ -ERLANG_LIB_VER_crypto = @ERLANG_LIB_VER_crypto@ -ERLANG_LIB_VER_erlsom = @ERLANG_LIB_VER_erlsom@ -ERLANG_LIB_VER_erts = @ERLANG_LIB_VER_erts@ -ERLANG_LIB_VER_eunit = @ERLANG_LIB_VER_eunit@ -ERLANG_LIB_VER_inets = @ERLANG_LIB_VER_inets@ -ERLANG_LIB_VER_kernel = @ERLANG_LIB_VER_kernel@ -ERLANG_LIB_VER_mnesia = @ERLANG_LIB_VER_mnesia@ -ERLANG_LIB_VER_public_key = @ERLANG_LIB_VER_public_key@ -ERLANG_LIB_VER_sasl = @ERLANG_LIB_VER_sasl@ -ERLANG_LIB_VER_ssl = @ERLANG_LIB_VER_ssl@ -ERLANG_LIB_VER_stdlib = @ERLANG_LIB_VER_stdlib@ -ERLANG_LIB_VER_tools = @ERLANG_LIB_VER_tools@ -ERLANG_LIB_VER_xmerl = @ERLANG_LIB_VER_xmerl@ -ERLANG_LIB_VER_xmlrpc = @ERLANG_LIB_VER_xmlrpc@ -ERLANG_RELEASE = @ERLANG_RELEASE@ -ERLANG_ROOT_DIR = @ERLANG_ROOT_DIR@ -ERLC = @ERLC@ -ERLCFLAGS = @ERLCFLAGS@ -ERL_LIBS = @ERL_LIBS@ -ESCRIPT = @ESCRIPT@ -EXEEXT = @EXEEXT@ -EXTRAINCLUDE = @EXTRAINCLUDE@ -FGREP = @FGREP@ -GREP = @GREP@ -HAVE_SENDFILE = @HAVE_SENDFILE@ -INSTALL = @INSTALL@ -INSTALL_BUILDER = @INSTALL_BUILDER@ -INSTALL_DATA = @INSTALL_DATA@ -INSTALL_PROGRAM = @INSTALL_PROGRAM@ -INSTALL_SCRIPT = @INSTALL_SCRIPT@ -INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ -LD = @LD@ -LDFLAGS = @LDFLAGS@ -LIBOBJS = @LIBOBJS@ -LIBS = @LIBS@ -LIBTOOL = @LIBTOOL@ -LIPO = @LIPO@ -LN_S = @LN_S@ -LTLIBOBJS = @LTLIBOBJS@ -LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@ -MAKEINFO = @MAKEINFO@ -MAN = @MAN@ -MANIFEST_TOOL = @MANIFEST_TOOL@ -MKDIR_P = @MKDIR_P@ -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_URL = @PACKAGE_URL@ -PACKAGE_VERSION = @PACKAGE_VERSION@ -PATH_SEPARATOR = @PATH_SEPARATOR@ -PDFLATEX = @PDFLATEX@ -PS2PDF = @PS2PDF@ -RANLIB = @RANLIB@ -SED = @SED@ -SET_MAKE = @SET_MAKE@ -SHELL = @SHELL@ -STRIP = @STRIP@ -TODOS = @TODOS@ -UNIX2DOS = @UNIX2DOS@ -VERSION = @VERSION@ -WERL = @WERL@ -YAPP_VSN = @YAPP_VSN@ -YAWS_VSN = @YAWS_VSN@ -abs_builddir = @abs_builddir@ -abs_srcdir = @abs_srcdir@ -abs_top_builddir = @abs_top_builddir@ -abs_top_srcdir = @abs_top_srcdir@ -ac_ct_AR = @ac_ct_AR@ -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@ -appsdir = @appsdir@ -bindir = @bindir@ -build = @build@ -build_alias = @build_alias@ -build_cpu = @build_cpu@ -build_os = @build_os@ -build_vendor = @build_vendor@ -builddir = @builddir@ -confdir = @confdir@ -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@ -logdir = @logdir@ -mandir = @mandir@ -mkdir_p = @mkdir_p@ -oldincludedir = @oldincludedir@ -pdfdir = @pdfdir@ -prefix = @prefix@ -program_transform_name = @program_transform_name@ -psdir = @psdir@ -runstatedir = @runstatedir@ -sbindir = @sbindir@ -sharedstatedir = @sharedstatedir@ -srcdir = @srcdir@ -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@ -wwwdir = @wwwdir@ -yappdir = @yappdir@ -yawsdir = @yawsdir@ -IMG_EPS = a.eps b.eps layout.eps yaws_head.eps -IMG_PDF = $(IMG_EPS:.eps=.pdf) -EXTRA_DIST = $(IMG_EPS) overview.edoc README.rss yaws.tex -all: all-am - -.SUFFIXES: -.SUFFIXES: .eps .pdf -$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) - @for dep in $?; do \ - case '$(am__configure_deps)' in \ - *$$dep*) \ - ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ - && { if test -f $@; then exit 0; else break; fi; }; \ - exit 1;; \ - esac; \ - done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign doc/Makefile'; \ - $(am__cd) $(top_srcdir) && \ - $(AUTOMAKE) --foreign doc/Makefile -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - @case '$?' in \ - *config.status*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ - *) \ - echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ - esac; - -$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh - -$(top_srcdir)/configure: $(am__configure_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(ACLOCAL_M4): $(am__aclocal_m4_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(am__aclocal_m4_deps): - -mostlyclean-libtool: - -rm -f *.lo - -clean-libtool: - -rm -rf .libs _libs -tags TAGS: - -ctags CTAGS: - -cscope cscopelist: - - -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: - if test -z '$(STRIP)'; then \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - install; \ - else \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ - fi -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." -@CAN_BUILD_DOC_FALSE@clean-local: -@CAN_BUILD_DOC_FALSE@uninstall-local: -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-data-local - -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: uninstall-local - -.MAKE: install-am install-strip - -.PHONY: all all-am check check-am clean clean-generic clean-libtool \ - clean-local cscopelist-am ctags-am distclean distclean-generic \ - distclean-libtool distdir dvi dvi-am html html-am info info-am \ - install install-am install-data install-data-am \ - install-data-local 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 tags-am uninstall \ - uninstall-am uninstall-local - -.PRECIOUS: Makefile - - -@CAN_BUILD_DOC_TRUE@doc: yaws.ps yaws.pdf - -@CAN_BUILD_DOC_TRUE@install-data-local: doc -@CAN_BUILD_DOC_TRUE@ $(AM_V_at)$(INSTALL) -d $(DESTDIR)$(docdir) -@CAN_BUILD_DOC_TRUE@ $(AM_V_at)$(INSTALL) -m 644 yaws.pdf $(DESTDIR)$(docdir) - -@CAN_BUILD_DOC_TRUE@ $(AM_V_at)$(INSTALL) -d $(DESTDIR)$(wwwdir) -@CAN_BUILD_DOC_TRUE@ $(AM_V_at)$(INSTALL) -m 644 yaws.ps $(DESTDIR)$(wwwdir) -@CAN_BUILD_DOC_TRUE@ $(AM_V_at)$(INSTALL) -m 644 yaws.pdf $(DESTDIR)$(wwwdir) - -@CAN_BUILD_DOC_TRUE@uninstall-local: -@CAN_BUILD_DOC_TRUE@ $(AM_V_at)rm -f $(DESTDIR)$(docdir)/yaws.pdf -@CAN_BUILD_DOC_TRUE@ $(AM_V_at)rm -f $(DESTDIR)$(wwwdir)/yaws.ps -@CAN_BUILD_DOC_TRUE@ $(AM_V_at)rm -f $(DESTDIR)$(wwwdir)/yaws.pdf - -@CAN_BUILD_DOC_TRUE@clean-local: -@CAN_BUILD_DOC_TRUE@ $(AM_V_at)rm -f *.ps *.dvi *.log *.aux *.pdf *.toc *.out - -@CAN_BUILD_DOC_FALSE@doc: -@CAN_BUILD_DOC_FALSE@ @echo "SKIPPED:" -@CAN_BUILD_DOC_FALSE@ @if [ -z "$(DVILATEX)" ]; then \ -@CAN_BUILD_DOC_FALSE@ echo " latex required to build documentation"; \ -@CAN_BUILD_DOC_FALSE@ fi -@CAN_BUILD_DOC_FALSE@ @if [ -z "$(DVIPS)" ]; then \ -@CAN_BUILD_DOC_FALSE@ echo " dvips required to build documentation"; \ -@CAN_BUILD_DOC_FALSE@ fi -@CAN_BUILD_DOC_FALSE@ @if [ -z "$(PDFLATEX)" ]; then \ -@CAN_BUILD_DOC_FALSE@ echo " pdflatex required to build documentation"; \ -@CAN_BUILD_DOC_FALSE@ fi -@CAN_BUILD_DOC_FALSE@ @if [ -z "$(EPSTOPDF)" ]; then \ -@CAN_BUILD_DOC_FALSE@ echo " epstopdf required to build documentation"; \ -@CAN_BUILD_DOC_FALSE@ fi - -@CAN_BUILD_DOC_FALSE@install-data-local: doc - -yaws.ps: yaws.dvi - $(AM_V_GEN)TEXINPUTS="$${TEXTINPUTS}:@srcdir@" $(DVIPS) -q -o $@ $< - -yaws.pdf: yaws.tex $(IMG_PDF) - $(AM_V_GEN)TEXINPUTS="$${TEXTINPUTS}:@srcdir@" $(PDFLATEX) yaws.tex > /dev/null - $(AM_V_at)TEXINPUTS="$${TEXTINPUTS}:@srcdir@" $(PDFLATEX) yaws.tex > /dev/null - -yaws.dvi: yaws.tex $(IMG_EPS) - $(AM_V_GEN)TEXINPUTS="$${TEXTINPUTS}:@srcdir@" $(DVILATEX) yaws.tex > /dev/null - $(AM_V_at)TEXINPUTS="$${TEXTINPUTS}:@srcdir@" $(DVILATEX) yaws.tex > /dev/null - -.eps.pdf: - $(AM_V_GEN)$(EPSTOPDF) --outfile=$@ $< > /dev/null - -.NOTPARALLEL: -# Local Variables: -# tab-width: 8 -# End: - -# Tell versions [3.59,3.63) of GNU make to not export all variables. -# Otherwise a system limit (for SysV at least) may be exceeded. -.NOEXPORT: diff -Nru yaws-2.0.6+dfsg/doc/yaws.tex yaws-2.0.7+dfsg/doc/yaws.tex --- yaws-2.0.6+dfsg/doc/yaws.tex 2018-04-11 14:14:36.000000000 +0000 +++ yaws-2.0.7+dfsg/doc/yaws.tex 2019-07-14 13:01:11.000000000 +0000 @@ -193,7 +193,7 @@ To compile and install a \Yaws\ release one of the prerequisites is a properly installed \Erlang\ system. \Yaws\ -runs on \Erlang\/OTP releases R16B01 and newer. Get \Erlang\ from +runs on \Erlang\/OTP releases R17 and newer. Get \Erlang\ from \url{http://www.erlang.org/} Compile and install is straight forward: @@ -900,6 +900,9 @@ \verb+/tmp+ is used \item \verb+list+: return file data in list form; this is the default \item \verb+binary+: return file data in binary form +\item \verb+return_error_file_path+: if an error occurs writing to a + file or if \verb+max_file_size+ is exceeded, return the file + pathname as part of the error (more on this below). \end{enumerate} \end{enumerate} @@ -907,9 +910,9 @@ data, not filenames, headers, or other parameters associated with each file. These are always returned as strings. -Just call \verb+yaws_multipart:read_multipart_form+ from your -\verb+out/1+ function and it'll return a tuple with the first element -set to one of these three atoms: +Call \verb+yaws_multipart:read_multipart_form+ from your \verb+out/1+ +function and it returns a tuple with the first element set to one of +these three atoms: \begin{itemize} \item \verb+get_more+: more data needs to be read; return this tuple @@ -950,9 +953,28 @@ \end{verbatim} Note that for the temporary file case, it's your responsibility to -delete the file when you're done with it. +delete the file when you're done with it. To ensure that you can do +this even when errors occur, include \verb+return_error_file_path+ in +the options you pass to +\verb+yaws_multipart:read_multipart_form/2+. Should an error occur, +the returned error tuple will be of this form: -Here's an example: +\begin{verbatim} +{error, {Reason, ParamName, FileName}} +\end{verbatim} + +If you supplied the \verb+{temp_file, FullFilePath}+ option, +\verb+FileName+ in the error tuple is the same as \verb+FullFilePath+, +otherwise it's the name of a temporary file \Yaws\ generated. + +If the \verb+return_error_file_path+ option is not included, the +returned error tuple will instead be: + +\begin{verbatim} +{error, {Reason, ParamName}} +\end{verbatim} + +Here's an example of calling \verb+yaws_multipart:read_multipart_form/2+: \begin{verbatim} -module(my_yaws_controller). @@ -968,7 +990,7 @@ AnotherParam = dict:find("another_param", Params); %% do something with FileName, FileContent and AnotherParam {error, Reason} -> - io:format("Error reading multipart form: ~s~n", [Reason]); + io:format("Error reading multipart form: ~p~n", [Reason]); Other -> Other end. \end{verbatim} @@ -1794,7 +1816,7 @@ \item \verb+{last_modified, What}+ - Sets the \textit{Last-Modified:} header. \item \verb+{etag, What}+ - Sets the \textit{Etag:} header. - \item \verb+{set_cookie, What}+ - Prepends a \textit{Set-Cookie:} header to + \item \verb+{set_cookie, What}+ - Appends a \textit{Set-Cookie:} header to the list of previously set \textit{Set-Cookie} headers. \item \verb+{content_range, What}+ - Sets the \textit{Content-Range:} header. @@ -1812,6 +1834,7 @@ \item \verb+{www_authenticate, What}+ - Sets the \textit{WWW-Authenticate:} header. \item \verb+{vary, What}+ - Sets the \textit{Vary:} header. + \item \verb+{accept_ranges, What}+ - Sets the \textit{Accept-Ranges:} header. \end{itemize} All other headers must be added using the normal HTTP syntax. Example: @@ -1901,14 +1924,36 @@ The \verb+{ssi, File, Delimiter, Bindings}+ statement can also occur within a deep ehtml structure. + The special directive \verb+strip_undefined+ can be specified in the + \verb+Bindings+ list, just as it can for the \verb+{bindings, ....}+ + directive, but it's ignored because treating undefined variables as + empty is the default for \verb+ssi+ bindings. \item \verb+{bindings, [{Key1, Value2}, {Key2, Value2} .....]}+ Establish variable - bindings that can be used in the page. All bindings can then be used in the - rest of \Yaws\ code (in HTML source and within \verb+erl+ tags). - In HTML source \verb+%%Key%%+ is expanded to \verb+Value+ and within \verb+erl+ tags \\ - \verb+yaws_api:binding(Key)+ can be used to extract \verb+Value+ - and \verb+yaws_api:binding_exists(Key)+ can be used to check for - the existence of a binding. + bindings that can be used in the content returned from + \verb+out/1+. All bindings can then be used in the rest of + \Yaws\ code (in HTML source and within \verb+erl+ tags). In HTML + source \verb+%%Key%%+ is expanded to \verb+Value+ and within + \verb+erl+ tags \\ \verb+yaws_api:binding(Key)+ (which calls + \verb+error+ if no such binding exists) or + \verb+yaws_api:binding_find(Key)+ (which returns \verb+undefined+ if + no such binding exists) can be used to extract \verb+Value+, and + \verb+yaws_api:binding_exists(Key)+ can be used to check for the + existence of a binding. + + If content to be returned happens to contains text that looks like a + binding, e.g. \verb+%%SomeText%%+, but no key \verb+SomeText+ is + supplied, then by default the original text is left as is. If you + prefer that anything parsed as a binding gets stripped out of + content whenever the \verb+bindings+ directive does not specify its + key, include the special directive \verb+strip_undefined+ in the + bindings list: + + \verb+{bindings, [{Key1, Value1}, strip_undefined]}+ + + The same result of stripping undefined bindings out of returned + \verb+out/1+ content can be achieved by setting + \verb+strip_undefined_bindings = true+ in the server configuration. \item \verb+{yssi, YawsFile}+ Include a yaws file. Compile it and expand as if it had occured inline. @@ -2442,21 +2487,16 @@ \verb+erlang:spawn_opt/4+ for details on these options. \item \verb+large_file_chunk_size = Integer+ --- - Set the chunk size used by \Yaws\ to send large files when - sendfile is not supported or disabled. The default value is 10240. + Set the chunk size used by \Yaws\ to send large + files. The default value is 10240. -\item \verb+large_file_sendfile = erlang | yaws | disable+ --- - Set the version of sendfile method to use to send large files (if - supported): +\item \verb+large_file_sendfile = erlang | disable+ --- + Set the version of sendfile method to use to send large files: \begin{itemize} - \item \verb+erlang+ --- use \textit{file:sendfile/5}, if - supported. - \item \verb+yaws+ --- use Yaws sendfile linked-in driver, if - supported. - \item \verb+disable+ --- do not use any sendfile method, but - \textit{gen\_tcp:send/2}. + \item \verb+erlang+ --- use \textit{file:sendfile/5}. + \item \verb+disable+ --- use \textit{gen\_tcp:send/2}. \end{itemize} - The default value is yaws. + The default value is \verb+erlang+. \item \verb+acceptor_pool_size = Integer+ --- @@ -2468,8 +2508,7 @@ \item \verb+log_wrap_size = Integer+ --- The logs written by \Yaws\ are all wrap logs, the default value at the size where they wrap around and the original gets renamed to - File.old is 1000000, 1 megabyte. This value can changed. - + File.old is 1000000, 1 megabyte. This value can be changed. If we set the value to 0 the logs will never wrap. If we want to use \Yaws\ in combination with a more traditional log wrapper such @@ -2938,9 +2977,8 @@ \item \verb+application/pdf+ \item \verb+application/x-dvi+ \item \verb+application/javascript+ - \item \verb+application/x-javascript+ \end{itemize} - Multiple \verb+mime_types+ directive can be used. + Multiple \verb+mime_types+ directives can be used. \end{itemize} \item \verb+docroot = Directory ...+ --- @@ -3418,6 +3456,18 @@ horrible sub-language of its own. It is documented in the SSL man page for "ciphers". + \item \verb+eccs = String+ --- This string specifies the + supported Elliptic Curve Cryptography (ECC). + It must be a subset of \textit{ssl:eccs()}. + For PCI DSS compliance (which is the main reason why you + would want to change this), set it on a single line to: +\begin{verbatim} +eccs = "[sect571r1, sect571k1, secp521r1, brainpoolP512r1, sect409k1, + sect409r1, brainpoolP384r1, secp384r1, sect283k1, sect283r1, + brainpoolP256r1, secp256k1, secp256r1, sect239k1, xsect233k1, + sect233r1, secp224k1, secp224r1]" +\end{verbatim} + \item \verb+secure_renegotiate = true | false+ --- Specifies whether to reject renegotiation attempt that does not live up to RFC 5746. By default \verb+secure_renegotiate+ is set to false @@ -3429,6 +3479,7 @@ disables the Erlang/OTP SSL application client renegotiation option. Defaults to true. See the \verb+ssl+ manual page at + http://www.erlang.org/doc/man/ssl.html for more details. \textbf{WARNING: This option was introduced in the SSL application @@ -3635,7 +3686,7 @@ do not match an \verb+allow+ or a \verb+deny+ directive are denied by default. - \item \verb+deny,allaw+ --- First, all \verb+deny+ directives + \item \verb+deny,allow+ --- First, all \verb+deny+ directives are evaluated; if any matches, the request is denied unless it also matches an \verb+allow+ directive. Any requests which do not match any \verb+allow+ or \verb+deny+ @@ -3653,8 +3704,99 @@ This mechanism can be used to pass data from a surrounding application into the individual .yaws pages. -\end{itemize} +\item \verb+strip_undefined_bindings = true|false+ --- + Change the behavior of the \verb+{bindings, [...]}+ + directive to treat all undefined keys found in returned + \verb+out/1+ content as if they were defined with an + empty value, resulting in all undefined bindings + effectively being stripped out of returned content. By + default, \verb+strip_undefined_bindings+ is false, which + means undefined bindings are ignored and their text is + left as is in returned content. + + This setting applies only for \verb+out/1+ content, not + to static pages or other returned content. + +\item \verb+ ... + --- + This begins and ends a configuration context for extra + response headers for this server, where directives for + adding headers, erasing headers, and modules for + handling extra response headers can be specified as follows: + + \begin{itemize} + \item \verb+add Hdr = Value+ --- Add \verb+Hdr+ with + value \verb+Value+ to the response, but only if the + response status code is one of these values: + \begin{itemize} + \item \verb+200 OK+ + \item \verb+201 Created+ + \item \verb+204 No Content+ + \item \verb+206 Partial Content+ + \item \verb+301 Moved Permanently+ + \item \verb+302 Found+ + \item \verb+303 See Other+ + \item \verb+304 Not Modified+ + \item \verb+307 Temporary Redirect+ + \item \verb+308 Permanent Redirect+ + \end{itemize} + For any other status code, \verb+Hdr+ is not added. + + \item \verb+always add Hdr = Value+ --- + Unconditionally add \verb+Hdr+ with value + \verb+Value+ to the response, regardless of the + response status code. + + \item \verb+erase Hdr+ --- Remove \verb+Hdr+ and its + associated value from the response. + + \item \verb+extramod = Module+ --- Specifies a module + to call to process extra response + headers. \Yaws\ calls + \verb+Module:extra_response_headers/3+ passing the + following arguments: + \begin{itemize} + \item Response headers --- an Erlang map holding + the response headers with header name strings as + keys and strings as header values + + \item \verb+Arg+ --- an \verb+#arg{}+ record + representing the request + + \item \verb+{StatusCode,Version}+ --- a tuple + where \verb+StatusCode+ is the numeric HTTP + status code for the response, and \verb+Version+ + is a tuple specifying the HTTP version, + e.g. \verb+{1,1}+ for HTTP 1.1. + \end{itemize} + + The \verb+Module:extra_response_headers/3+ function + should return either the original header map or a + modified map where headers have been added, changed, + or deleted. Added headers are not subject to the + status code restrictions for the \verb+add+ extra + response header directive, but the function can call + \verb+yaws_api:http_extra_response_headers_add_status_codes/0+ + to retrieve the list of the status codes for which + adding headers is normally allowed. + + For response headers that can have multiple + settings, such as \verb+Set-Cookie+, multiple values + can be specified in the extra response header map by + using a value of \verb+{multi, [Value]}+ where + \verb+[Value]+ is a list of one or more header + values. The \verb+Set-Cookie+ header is a standard + special case for which \Yaws\ converts a + \verb+multi+ header into a separate + \verb+Set-Cookie+ header for each value; for other + headers, \Yaws\ converts a \verb+multi+ header into + a single HTTP header with a comma-separated value. + \end{itemize} + + Note that extra response headers do not apply to + responses returned directly by any + \verb+DispatchModule+. +\end{itemize} \section{Directives included from .yaws\_auth files} @@ -3663,8 +3805,8 @@ This mechanism can be disabled by setting \verb+auth_skip_docroot+ to \verb+true+ in the \Yaws\ configuration. - Each row in the \verb+.yaws_auth+ file must contain a term. - The terms correspond to the auth structure in the \Yaws\ config + Each row in the \verb+.yaws_auth+ file must contain a term. + The terms correspond to the auth structure in the \Yaws\ config file. The allowed forms are: \begin{verbatim} diff -Nru yaws-2.0.6+dfsg/ebin/Makefile.in yaws-2.0.7+dfsg/ebin/Makefile.in --- yaws-2.0.6+dfsg/ebin/Makefile.in 2018-06-26 09:17:08.000000000 +0000 +++ yaws-2.0.7+dfsg/ebin/Makefile.in 1970-01-01 00:00:00.000000000 +0000 @@ -1,579 +0,0 @@ -# Makefile.in generated by automake 1.15.1 from Makefile.am. -# @configure_input@ - -# Copyright (C) 1994-2017 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@ -am__is_gnu_make = { \ - if test -z '$(MAKELEVEL)'; then \ - false; \ - elif test -n '$(MAKE_HOST)'; then \ - true; \ - elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ - true; \ - else \ - false; \ - fi; \ -} -am__make_running_with_option = \ - case $${target_option-} in \ - ?) ;; \ - *) echo "am__make_running_with_option: internal error: invalid" \ - "target option '$${target_option-}' specified" >&2; \ - exit 1;; \ - esac; \ - has_opt=no; \ - sane_makeflags=$$MAKEFLAGS; \ - if $(am__is_gnu_make); then \ - sane_makeflags=$$MFLAGS; \ - else \ - case $$MAKEFLAGS in \ - *\\[\ \ ]*) \ - bs=\\; \ - sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ - | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ - esac; \ - fi; \ - skip_next=no; \ - strip_trailopt () \ - { \ - flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ - }; \ - for flg in $$sane_makeflags; do \ - test $$skip_next = yes && { skip_next=no; continue; }; \ - case $$flg in \ - *=*|--*) continue;; \ - -*I) strip_trailopt 'I'; skip_next=yes;; \ - -*I?*) strip_trailopt 'I';; \ - -*O) strip_trailopt 'O'; skip_next=yes;; \ - -*O?*) strip_trailopt 'O';; \ - -*l) strip_trailopt 'l'; skip_next=yes;; \ - -*l?*) strip_trailopt 'l';; \ - -[dEDm]) skip_next=yes;; \ - -[JT]) skip_next=yes;; \ - esac; \ - case $$flg in \ - *$$target_option*) has_opt=yes; break;; \ - esac; \ - done; \ - test $$has_opt = yes -am__make_dryrun = (target_option=n; $(am__make_running_with_option)) -am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) -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 = ebin -ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/m4/ax_compare_version.m4 \ - $(top_srcdir)/m4/colored-echo.m4 $(top_srcdir)/m4/erlang.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)/configure.ac -am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ - $(ACLOCAL_M4) -DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON) -mkinstalldirs = $(install_sh) -d -CONFIG_CLEAN_FILES = -CONFIG_CLEAN_VPATH_FILES = -AM_V_P = $(am__v_P_@AM_V@) -am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) -am__v_P_0 = false -am__v_P_1 = : -AM_V_GEN = $(am__v_GEN_@AM_V@) -am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) -am__v_GEN_0 = @echo " GEN " $@; -am__v_GEN_1 = -AM_V_at = $(am__v_at_@AM_V@) -am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) -am__v_at_0 = @ -am__v_at_1 = -SOURCES = -DIST_SOURCES = -am__can_run_installinfo = \ - case $$AM_UPDATE_INFO_DIR in \ - n|no|NO) false;; \ - *) (install-info --version) >/dev/null 2>&1;; \ - esac -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__uninstall_files_from_dir = { \ - test -z "$$files" \ - || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \ - || { echo " ( cd '$$dir' && rm -f" $$files ")"; \ - $(am__cd) "$$dir" && rm -f $$files; }; \ - } -am__installdirs = "$(DESTDIR)$(beamdir)" -DATA = $(beam_DATA) -am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) -am__DIST_COMMON = $(srcdir)/Makefile.in -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) -ACLOCAL = @ACLOCAL@ -AMTAR = @AMTAR@ -AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ -APPDEPS = @APPDEPS@ -AR = @AR@ -AUTOCONF = @AUTOCONF@ -AUTOHEADER = @AUTOHEADER@ -AUTOMAKE = @AUTOMAKE@ -AWK = @AWK@ -CADAVER = @CADAVER@ -CC = @CC@ -CCDEPMODE = @CCDEPMODE@ -CFLAGS = @CFLAGS@ -CONFIG_STATUS_DEPENDENCIES = @CONFIG_STATUS_DEPENDENCIES@ -CPP = @CPP@ -CPPFLAGS = @CPPFLAGS@ -CT_RUN = @CT_RUN@ -CURL = @CURL@ -CYGPATH_W = @CYGPATH_W@ -DEFAULT_CHARSET = @DEFAULT_CHARSET@ -DEFS = @DEFS@ -DEPDIR = @DEPDIR@ -DIALYZER = @DIALYZER@ -DLLTOOL = @DLLTOOL@ -DSYMUTIL = @DSYMUTIL@ -DUMPBIN = @DUMPBIN@ -DVILATEX = @DVILATEX@ -DVIPS = @DVIPS@ -ECHO_C = @ECHO_C@ -ECHO_N = @ECHO_N@ -ECHO_T = @ECHO_T@ -EGREP = @EGREP@ -EPAM_CFLAGS = @EPAM_CFLAGS@ -EPSTOPDF = @EPSTOPDF@ -ERL = @ERL@ -ERLANG_ERTS_DIR = @ERLANG_ERTS_DIR@ -ERLANG_ERTS_VER = @ERLANG_ERTS_VER@ -ERLANG_INSTALL_LIB_DIR = @ERLANG_INSTALL_LIB_DIR@ -ERLANG_INSTALL_LIB_DIR_yapp = @ERLANG_INSTALL_LIB_DIR_yapp@ -ERLANG_INSTALL_LIB_DIR_yaws = @ERLANG_INSTALL_LIB_DIR_yaws@ -ERLANG_LIB_DIR = @ERLANG_LIB_DIR@ -ERLANG_LIB_DIR_common_test = @ERLANG_LIB_DIR_common_test@ -ERLANG_LIB_DIR_compiler = @ERLANG_LIB_DIR_compiler@ -ERLANG_LIB_DIR_crypto = @ERLANG_LIB_DIR_crypto@ -ERLANG_LIB_DIR_erlsom = @ERLANG_LIB_DIR_erlsom@ -ERLANG_LIB_DIR_erts = @ERLANG_LIB_DIR_erts@ -ERLANG_LIB_DIR_eunit = @ERLANG_LIB_DIR_eunit@ -ERLANG_LIB_DIR_inets = @ERLANG_LIB_DIR_inets@ -ERLANG_LIB_DIR_kernel = @ERLANG_LIB_DIR_kernel@ -ERLANG_LIB_DIR_mnesia = @ERLANG_LIB_DIR_mnesia@ -ERLANG_LIB_DIR_public_key = @ERLANG_LIB_DIR_public_key@ -ERLANG_LIB_DIR_sasl = @ERLANG_LIB_DIR_sasl@ -ERLANG_LIB_DIR_ssl = @ERLANG_LIB_DIR_ssl@ -ERLANG_LIB_DIR_stdlib = @ERLANG_LIB_DIR_stdlib@ -ERLANG_LIB_DIR_tools = @ERLANG_LIB_DIR_tools@ -ERLANG_LIB_DIR_xmerl = @ERLANG_LIB_DIR_xmerl@ -ERLANG_LIB_DIR_xmlrpc = @ERLANG_LIB_DIR_xmlrpc@ -ERLANG_LIB_VER_common_test = @ERLANG_LIB_VER_common_test@ -ERLANG_LIB_VER_compiler = @ERLANG_LIB_VER_compiler@ -ERLANG_LIB_VER_crypto = @ERLANG_LIB_VER_crypto@ -ERLANG_LIB_VER_erlsom = @ERLANG_LIB_VER_erlsom@ -ERLANG_LIB_VER_erts = @ERLANG_LIB_VER_erts@ -ERLANG_LIB_VER_eunit = @ERLANG_LIB_VER_eunit@ -ERLANG_LIB_VER_inets = @ERLANG_LIB_VER_inets@ -ERLANG_LIB_VER_kernel = @ERLANG_LIB_VER_kernel@ -ERLANG_LIB_VER_mnesia = @ERLANG_LIB_VER_mnesia@ -ERLANG_LIB_VER_public_key = @ERLANG_LIB_VER_public_key@ -ERLANG_LIB_VER_sasl = @ERLANG_LIB_VER_sasl@ -ERLANG_LIB_VER_ssl = @ERLANG_LIB_VER_ssl@ -ERLANG_LIB_VER_stdlib = @ERLANG_LIB_VER_stdlib@ -ERLANG_LIB_VER_tools = @ERLANG_LIB_VER_tools@ -ERLANG_LIB_VER_xmerl = @ERLANG_LIB_VER_xmerl@ -ERLANG_LIB_VER_xmlrpc = @ERLANG_LIB_VER_xmlrpc@ -ERLANG_RELEASE = @ERLANG_RELEASE@ -ERLANG_ROOT_DIR = @ERLANG_ROOT_DIR@ -ERLC = @ERLC@ -ERLCFLAGS = @ERLCFLAGS@ -ERL_LIBS = @ERL_LIBS@ -ESCRIPT = @ESCRIPT@ -EXEEXT = @EXEEXT@ -EXTRAINCLUDE = @EXTRAINCLUDE@ -FGREP = @FGREP@ -GREP = @GREP@ -HAVE_SENDFILE = @HAVE_SENDFILE@ -INSTALL = @INSTALL@ -INSTALL_BUILDER = @INSTALL_BUILDER@ -INSTALL_DATA = @INSTALL_DATA@ -INSTALL_PROGRAM = @INSTALL_PROGRAM@ -INSTALL_SCRIPT = @INSTALL_SCRIPT@ -INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ -LD = @LD@ -LDFLAGS = @LDFLAGS@ -LIBOBJS = @LIBOBJS@ -LIBS = @LIBS@ -LIBTOOL = @LIBTOOL@ -LIPO = @LIPO@ -LN_S = @LN_S@ -LTLIBOBJS = @LTLIBOBJS@ -LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@ -MAKEINFO = @MAKEINFO@ -MAN = @MAN@ -MANIFEST_TOOL = @MANIFEST_TOOL@ -MKDIR_P = @MKDIR_P@ -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_URL = @PACKAGE_URL@ -PACKAGE_VERSION = @PACKAGE_VERSION@ -PATH_SEPARATOR = @PATH_SEPARATOR@ -PDFLATEX = @PDFLATEX@ -PS2PDF = @PS2PDF@ -RANLIB = @RANLIB@ -SED = @SED@ -SET_MAKE = @SET_MAKE@ -SHELL = @SHELL@ -STRIP = @STRIP@ -TODOS = @TODOS@ -UNIX2DOS = @UNIX2DOS@ -VERSION = @VERSION@ -WERL = @WERL@ -YAPP_VSN = @YAPP_VSN@ -YAWS_VSN = @YAWS_VSN@ -abs_builddir = @abs_builddir@ -abs_srcdir = @abs_srcdir@ -abs_top_builddir = @abs_top_builddir@ -abs_top_srcdir = @abs_top_srcdir@ -ac_ct_AR = @ac_ct_AR@ -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@ -appsdir = @appsdir@ -bindir = @bindir@ -build = @build@ -build_alias = @build_alias@ -build_cpu = @build_cpu@ -build_os = @build_os@ -build_vendor = @build_vendor@ -builddir = @builddir@ -confdir = @confdir@ -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@ -logdir = @logdir@ -mandir = @mandir@ -mkdir_p = @mkdir_p@ -oldincludedir = @oldincludedir@ -pdfdir = @pdfdir@ -prefix = @prefix@ -program_transform_name = @program_transform_name@ -psdir = @psdir@ -runstatedir = @runstatedir@ -sbindir = @sbindir@ -sharedstatedir = @sharedstatedir@ -srcdir = @srcdir@ -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@ -wwwdir = @wwwdir@ -yappdir = @yappdir@ -yawsdir = @yawsdir@ -beamdir = $(ERLANG_INSTALL_LIB_DIR_yaws)/ebin -APP_FILES = yaws.app yaws.appup -BEAM_FILES = *.beam -beam_DATA = $(APP_FILES) $(BEAM_FILES) -all: all-am - -.SUFFIXES: -$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) - @for dep in $?; do \ - case '$(am__configure_deps)' in \ - *$$dep*) \ - ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ - && { if test -f $@; then exit 0; else break; fi; }; \ - exit 1;; \ - esac; \ - done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign ebin/Makefile'; \ - $(am__cd) $(top_srcdir) && \ - $(AUTOMAKE) --foreign ebin/Makefile -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - @case '$?' in \ - *config.status*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ - *) \ - echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ - esac; - -$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh - -$(top_srcdir)/configure: $(am__configure_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(ACLOCAL_M4): $(am__aclocal_m4_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(am__aclocal_m4_deps): - -mostlyclean-libtool: - -rm -f *.lo - -clean-libtool: - -rm -rf .libs _libs -install-beamDATA: $(beam_DATA) - @$(NORMAL_INSTALL) - @list='$(beam_DATA)'; test -n "$(beamdir)" || list=; \ - if test -n "$$list"; then \ - echo " $(MKDIR_P) '$(DESTDIR)$(beamdir)'"; \ - $(MKDIR_P) "$(DESTDIR)$(beamdir)" || exit 1; \ - fi; \ - 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)$(beamdir)'"; \ - $(INSTALL_DATA) $$files "$(DESTDIR)$(beamdir)" || exit $$?; \ - done - -uninstall-beamDATA: - @$(NORMAL_UNINSTALL) - @list='$(beam_DATA)'; test -n "$(beamdir)" || list=; \ - files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ - dir='$(DESTDIR)$(beamdir)'; $(am__uninstall_files_from_dir) -tags TAGS: - -ctags CTAGS: - -cscope cscopelist: - - -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 $(DATA) -installdirs: - for dir in "$(DESTDIR)$(beamdir)"; do \ - test -z "$$dir" || $(MKDIR_P) "$$dir"; \ - done -install: install-am -install-exec: install-exec-am -install-data: install-data-am -uninstall: uninstall-am - -install-am: all-am - @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am - -installcheck: installcheck-am -install-strip: - if test -z '$(STRIP)'; then \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - install; \ - else \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ - fi -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-beamDATA - -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: uninstall-beamDATA - -.MAKE: install-am install-strip - -.PHONY: all all-am check check-am clean clean-generic clean-libtool \ - clean-local cscopelist-am ctags-am distclean distclean-generic \ - distclean-libtool distdir dvi dvi-am html html-am info info-am \ - install install-am install-beamDATA 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 tags-am uninstall \ - uninstall-am uninstall-beamDATA - -.PRECIOUS: Makefile - - -clean-local: - $(AM_V_at)rm -f $(APP_FILES) $(BEAM_FILES) - -# Local Variables: -# tab-width: 8 -# End: - -# Tell versions [3.59,3.63) of GNU make to not export all variables. -# Otherwise a system limit (for SysV at least) may be exceeded. -.NOEXPORT: diff -Nru yaws-2.0.6+dfsg/examples/ebin/Makefile.in yaws-2.0.7+dfsg/examples/ebin/Makefile.in --- yaws-2.0.6+dfsg/examples/ebin/Makefile.in 2018-06-26 09:17:08.000000000 +0000 +++ yaws-2.0.7+dfsg/examples/ebin/Makefile.in 1970-01-01 00:00:00.000000000 +0000 @@ -1,578 +0,0 @@ -# Makefile.in generated by automake 1.15.1 from Makefile.am. -# @configure_input@ - -# Copyright (C) 1994-2017 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@ -am__is_gnu_make = { \ - if test -z '$(MAKELEVEL)'; then \ - false; \ - elif test -n '$(MAKE_HOST)'; then \ - true; \ - elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ - true; \ - else \ - false; \ - fi; \ -} -am__make_running_with_option = \ - case $${target_option-} in \ - ?) ;; \ - *) echo "am__make_running_with_option: internal error: invalid" \ - "target option '$${target_option-}' specified" >&2; \ - exit 1;; \ - esac; \ - has_opt=no; \ - sane_makeflags=$$MAKEFLAGS; \ - if $(am__is_gnu_make); then \ - sane_makeflags=$$MFLAGS; \ - else \ - case $$MAKEFLAGS in \ - *\\[\ \ ]*) \ - bs=\\; \ - sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ - | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ - esac; \ - fi; \ - skip_next=no; \ - strip_trailopt () \ - { \ - flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ - }; \ - for flg in $$sane_makeflags; do \ - test $$skip_next = yes && { skip_next=no; continue; }; \ - case $$flg in \ - *=*|--*) continue;; \ - -*I) strip_trailopt 'I'; skip_next=yes;; \ - -*I?*) strip_trailopt 'I';; \ - -*O) strip_trailopt 'O'; skip_next=yes;; \ - -*O?*) strip_trailopt 'O';; \ - -*l) strip_trailopt 'l'; skip_next=yes;; \ - -*l?*) strip_trailopt 'l';; \ - -[dEDm]) skip_next=yes;; \ - -[JT]) skip_next=yes;; \ - esac; \ - case $$flg in \ - *$$target_option*) has_opt=yes; break;; \ - esac; \ - done; \ - test $$has_opt = yes -am__make_dryrun = (target_option=n; $(am__make_running_with_option)) -am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) -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 = examples/ebin -ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/m4/ax_compare_version.m4 \ - $(top_srcdir)/m4/colored-echo.m4 $(top_srcdir)/m4/erlang.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)/configure.ac -am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ - $(ACLOCAL_M4) -DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON) -mkinstalldirs = $(install_sh) -d -CONFIG_CLEAN_FILES = -CONFIG_CLEAN_VPATH_FILES = -AM_V_P = $(am__v_P_@AM_V@) -am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) -am__v_P_0 = false -am__v_P_1 = : -AM_V_GEN = $(am__v_GEN_@AM_V@) -am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) -am__v_GEN_0 = @echo " GEN " $@; -am__v_GEN_1 = -AM_V_at = $(am__v_at_@AM_V@) -am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) -am__v_at_0 = @ -am__v_at_1 = -SOURCES = -DIST_SOURCES = -am__can_run_installinfo = \ - case $$AM_UPDATE_INFO_DIR in \ - n|no|NO) false;; \ - *) (install-info --version) >/dev/null 2>&1;; \ - esac -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__uninstall_files_from_dir = { \ - test -z "$$files" \ - || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \ - || { echo " ( cd '$$dir' && rm -f" $$files ")"; \ - $(am__cd) "$$dir" && rm -f $$files; }; \ - } -am__installdirs = "$(DESTDIR)$(beamdir)" -DATA = $(beam_DATA) -am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) -am__DIST_COMMON = $(srcdir)/Makefile.in -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) -ACLOCAL = @ACLOCAL@ -AMTAR = @AMTAR@ -AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ -APPDEPS = @APPDEPS@ -AR = @AR@ -AUTOCONF = @AUTOCONF@ -AUTOHEADER = @AUTOHEADER@ -AUTOMAKE = @AUTOMAKE@ -AWK = @AWK@ -CADAVER = @CADAVER@ -CC = @CC@ -CCDEPMODE = @CCDEPMODE@ -CFLAGS = @CFLAGS@ -CONFIG_STATUS_DEPENDENCIES = @CONFIG_STATUS_DEPENDENCIES@ -CPP = @CPP@ -CPPFLAGS = @CPPFLAGS@ -CT_RUN = @CT_RUN@ -CURL = @CURL@ -CYGPATH_W = @CYGPATH_W@ -DEFAULT_CHARSET = @DEFAULT_CHARSET@ -DEFS = @DEFS@ -DEPDIR = @DEPDIR@ -DIALYZER = @DIALYZER@ -DLLTOOL = @DLLTOOL@ -DSYMUTIL = @DSYMUTIL@ -DUMPBIN = @DUMPBIN@ -DVILATEX = @DVILATEX@ -DVIPS = @DVIPS@ -ECHO_C = @ECHO_C@ -ECHO_N = @ECHO_N@ -ECHO_T = @ECHO_T@ -EGREP = @EGREP@ -EPAM_CFLAGS = @EPAM_CFLAGS@ -EPSTOPDF = @EPSTOPDF@ -ERL = @ERL@ -ERLANG_ERTS_DIR = @ERLANG_ERTS_DIR@ -ERLANG_ERTS_VER = @ERLANG_ERTS_VER@ -ERLANG_INSTALL_LIB_DIR = @ERLANG_INSTALL_LIB_DIR@ -ERLANG_INSTALL_LIB_DIR_yapp = @ERLANG_INSTALL_LIB_DIR_yapp@ -ERLANG_INSTALL_LIB_DIR_yaws = @ERLANG_INSTALL_LIB_DIR_yaws@ -ERLANG_LIB_DIR = @ERLANG_LIB_DIR@ -ERLANG_LIB_DIR_common_test = @ERLANG_LIB_DIR_common_test@ -ERLANG_LIB_DIR_compiler = @ERLANG_LIB_DIR_compiler@ -ERLANG_LIB_DIR_crypto = @ERLANG_LIB_DIR_crypto@ -ERLANG_LIB_DIR_erlsom = @ERLANG_LIB_DIR_erlsom@ -ERLANG_LIB_DIR_erts = @ERLANG_LIB_DIR_erts@ -ERLANG_LIB_DIR_eunit = @ERLANG_LIB_DIR_eunit@ -ERLANG_LIB_DIR_inets = @ERLANG_LIB_DIR_inets@ -ERLANG_LIB_DIR_kernel = @ERLANG_LIB_DIR_kernel@ -ERLANG_LIB_DIR_mnesia = @ERLANG_LIB_DIR_mnesia@ -ERLANG_LIB_DIR_public_key = @ERLANG_LIB_DIR_public_key@ -ERLANG_LIB_DIR_sasl = @ERLANG_LIB_DIR_sasl@ -ERLANG_LIB_DIR_ssl = @ERLANG_LIB_DIR_ssl@ -ERLANG_LIB_DIR_stdlib = @ERLANG_LIB_DIR_stdlib@ -ERLANG_LIB_DIR_tools = @ERLANG_LIB_DIR_tools@ -ERLANG_LIB_DIR_xmerl = @ERLANG_LIB_DIR_xmerl@ -ERLANG_LIB_DIR_xmlrpc = @ERLANG_LIB_DIR_xmlrpc@ -ERLANG_LIB_VER_common_test = @ERLANG_LIB_VER_common_test@ -ERLANG_LIB_VER_compiler = @ERLANG_LIB_VER_compiler@ -ERLANG_LIB_VER_crypto = @ERLANG_LIB_VER_crypto@ -ERLANG_LIB_VER_erlsom = @ERLANG_LIB_VER_erlsom@ -ERLANG_LIB_VER_erts = @ERLANG_LIB_VER_erts@ -ERLANG_LIB_VER_eunit = @ERLANG_LIB_VER_eunit@ -ERLANG_LIB_VER_inets = @ERLANG_LIB_VER_inets@ -ERLANG_LIB_VER_kernel = @ERLANG_LIB_VER_kernel@ -ERLANG_LIB_VER_mnesia = @ERLANG_LIB_VER_mnesia@ -ERLANG_LIB_VER_public_key = @ERLANG_LIB_VER_public_key@ -ERLANG_LIB_VER_sasl = @ERLANG_LIB_VER_sasl@ -ERLANG_LIB_VER_ssl = @ERLANG_LIB_VER_ssl@ -ERLANG_LIB_VER_stdlib = @ERLANG_LIB_VER_stdlib@ -ERLANG_LIB_VER_tools = @ERLANG_LIB_VER_tools@ -ERLANG_LIB_VER_xmerl = @ERLANG_LIB_VER_xmerl@ -ERLANG_LIB_VER_xmlrpc = @ERLANG_LIB_VER_xmlrpc@ -ERLANG_RELEASE = @ERLANG_RELEASE@ -ERLANG_ROOT_DIR = @ERLANG_ROOT_DIR@ -ERLC = @ERLC@ -ERLCFLAGS = @ERLCFLAGS@ -ERL_LIBS = @ERL_LIBS@ -ESCRIPT = @ESCRIPT@ -EXEEXT = @EXEEXT@ -EXTRAINCLUDE = @EXTRAINCLUDE@ -FGREP = @FGREP@ -GREP = @GREP@ -HAVE_SENDFILE = @HAVE_SENDFILE@ -INSTALL = @INSTALL@ -INSTALL_BUILDER = @INSTALL_BUILDER@ -INSTALL_DATA = @INSTALL_DATA@ -INSTALL_PROGRAM = @INSTALL_PROGRAM@ -INSTALL_SCRIPT = @INSTALL_SCRIPT@ -INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ -LD = @LD@ -LDFLAGS = @LDFLAGS@ -LIBOBJS = @LIBOBJS@ -LIBS = @LIBS@ -LIBTOOL = @LIBTOOL@ -LIPO = @LIPO@ -LN_S = @LN_S@ -LTLIBOBJS = @LTLIBOBJS@ -LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@ -MAKEINFO = @MAKEINFO@ -MAN = @MAN@ -MANIFEST_TOOL = @MANIFEST_TOOL@ -MKDIR_P = @MKDIR_P@ -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_URL = @PACKAGE_URL@ -PACKAGE_VERSION = @PACKAGE_VERSION@ -PATH_SEPARATOR = @PATH_SEPARATOR@ -PDFLATEX = @PDFLATEX@ -PS2PDF = @PS2PDF@ -RANLIB = @RANLIB@ -SED = @SED@ -SET_MAKE = @SET_MAKE@ -SHELL = @SHELL@ -STRIP = @STRIP@ -TODOS = @TODOS@ -UNIX2DOS = @UNIX2DOS@ -VERSION = @VERSION@ -WERL = @WERL@ -YAPP_VSN = @YAPP_VSN@ -YAWS_VSN = @YAWS_VSN@ -abs_builddir = @abs_builddir@ -abs_srcdir = @abs_srcdir@ -abs_top_builddir = @abs_top_builddir@ -abs_top_srcdir = @abs_top_srcdir@ -ac_ct_AR = @ac_ct_AR@ -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@ -appsdir = @appsdir@ -bindir = @bindir@ -build = @build@ -build_alias = @build_alias@ -build_cpu = @build_cpu@ -build_os = @build_os@ -build_vendor = @build_vendor@ -builddir = @builddir@ -confdir = @confdir@ -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@ -logdir = @logdir@ -mandir = @mandir@ -mkdir_p = @mkdir_p@ -oldincludedir = @oldincludedir@ -pdfdir = @pdfdir@ -prefix = @prefix@ -program_transform_name = @program_transform_name@ -psdir = @psdir@ -runstatedir = @runstatedir@ -sbindir = @sbindir@ -sharedstatedir = @sharedstatedir@ -srcdir = @srcdir@ -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@ -wwwdir = @wwwdir@ -yappdir = @yappdir@ -yawsdir = @yawsdir@ -beamdir = $(ERLANG_INSTALL_LIB_DIR_yaws)/examples/ebin -BEAM_FILES = *.beam -beam_DATA = $(BEAM_FILES) -all: all-am - -.SUFFIXES: -$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) - @for dep in $?; do \ - case '$(am__configure_deps)' in \ - *$$dep*) \ - ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ - && { if test -f $@; then exit 0; else break; fi; }; \ - exit 1;; \ - esac; \ - done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign examples/ebin/Makefile'; \ - $(am__cd) $(top_srcdir) && \ - $(AUTOMAKE) --foreign examples/ebin/Makefile -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - @case '$?' in \ - *config.status*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ - *) \ - echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ - esac; - -$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh - -$(top_srcdir)/configure: $(am__configure_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(ACLOCAL_M4): $(am__aclocal_m4_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(am__aclocal_m4_deps): - -mostlyclean-libtool: - -rm -f *.lo - -clean-libtool: - -rm -rf .libs _libs -install-beamDATA: $(beam_DATA) - @$(NORMAL_INSTALL) - @list='$(beam_DATA)'; test -n "$(beamdir)" || list=; \ - if test -n "$$list"; then \ - echo " $(MKDIR_P) '$(DESTDIR)$(beamdir)'"; \ - $(MKDIR_P) "$(DESTDIR)$(beamdir)" || exit 1; \ - fi; \ - 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)$(beamdir)'"; \ - $(INSTALL_DATA) $$files "$(DESTDIR)$(beamdir)" || exit $$?; \ - done - -uninstall-beamDATA: - @$(NORMAL_UNINSTALL) - @list='$(beam_DATA)'; test -n "$(beamdir)" || list=; \ - files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ - dir='$(DESTDIR)$(beamdir)'; $(am__uninstall_files_from_dir) -tags TAGS: - -ctags CTAGS: - -cscope cscopelist: - - -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 $(DATA) -installdirs: - for dir in "$(DESTDIR)$(beamdir)"; do \ - test -z "$$dir" || $(MKDIR_P) "$$dir"; \ - done -install: install-am -install-exec: install-exec-am -install-data: install-data-am -uninstall: uninstall-am - -install-am: all-am - @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am - -installcheck: installcheck-am -install-strip: - if test -z '$(STRIP)'; then \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - install; \ - else \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ - fi -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-beamDATA - -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: uninstall-beamDATA - -.MAKE: install-am install-strip - -.PHONY: all all-am check check-am clean clean-generic clean-libtool \ - clean-local cscopelist-am ctags-am distclean distclean-generic \ - distclean-libtool distdir dvi dvi-am html html-am info info-am \ - install install-am install-beamDATA 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 tags-am uninstall \ - uninstall-am uninstall-beamDATA - -.PRECIOUS: Makefile - - -clean-local: - $(AM_V_at)rm -f $(BEAM_FILES) - -# Local Variables: -# tab-width: 8 -# End: - -# Tell versions [3.59,3.63) of GNU make to not export all variables. -# Otherwise a system limit (for SysV at least) may be exceeded. -.NOEXPORT: diff -Nru yaws-2.0.6+dfsg/examples/include/Makefile.in yaws-2.0.7+dfsg/examples/include/Makefile.in --- yaws-2.0.6+dfsg/examples/include/Makefile.in 2018-06-26 09:17:08.000000000 +0000 +++ yaws-2.0.7+dfsg/examples/include/Makefile.in 1970-01-01 00:00:00.000000000 +0000 @@ -1,578 +0,0 @@ -# Makefile.in generated by automake 1.15.1 from Makefile.am. -# @configure_input@ - -# Copyright (C) 1994-2017 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@ -am__is_gnu_make = { \ - if test -z '$(MAKELEVEL)'; then \ - false; \ - elif test -n '$(MAKE_HOST)'; then \ - true; \ - elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ - true; \ - else \ - false; \ - fi; \ -} -am__make_running_with_option = \ - case $${target_option-} in \ - ?) ;; \ - *) echo "am__make_running_with_option: internal error: invalid" \ - "target option '$${target_option-}' specified" >&2; \ - exit 1;; \ - esac; \ - has_opt=no; \ - sane_makeflags=$$MAKEFLAGS; \ - if $(am__is_gnu_make); then \ - sane_makeflags=$$MFLAGS; \ - else \ - case $$MAKEFLAGS in \ - *\\[\ \ ]*) \ - bs=\\; \ - sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ - | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ - esac; \ - fi; \ - skip_next=no; \ - strip_trailopt () \ - { \ - flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ - }; \ - for flg in $$sane_makeflags; do \ - test $$skip_next = yes && { skip_next=no; continue; }; \ - case $$flg in \ - *=*|--*) continue;; \ - -*I) strip_trailopt 'I'; skip_next=yes;; \ - -*I?*) strip_trailopt 'I';; \ - -*O) strip_trailopt 'O'; skip_next=yes;; \ - -*O?*) strip_trailopt 'O';; \ - -*l) strip_trailopt 'l'; skip_next=yes;; \ - -*l?*) strip_trailopt 'l';; \ - -[dEDm]) skip_next=yes;; \ - -[JT]) skip_next=yes;; \ - esac; \ - case $$flg in \ - *$$target_option*) has_opt=yes; break;; \ - esac; \ - done; \ - test $$has_opt = yes -am__make_dryrun = (target_option=n; $(am__make_running_with_option)) -am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) -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 = examples/include -ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/m4/ax_compare_version.m4 \ - $(top_srcdir)/m4/colored-echo.m4 $(top_srcdir)/m4/erlang.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)/configure.ac -am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ - $(ACLOCAL_M4) -DIST_COMMON = $(srcdir)/Makefile.am $(dist_inc_DATA) \ - $(am__DIST_COMMON) -mkinstalldirs = $(install_sh) -d -CONFIG_CLEAN_FILES = -CONFIG_CLEAN_VPATH_FILES = -AM_V_P = $(am__v_P_@AM_V@) -am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) -am__v_P_0 = false -am__v_P_1 = : -AM_V_GEN = $(am__v_GEN_@AM_V@) -am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) -am__v_GEN_0 = @echo " GEN " $@; -am__v_GEN_1 = -AM_V_at = $(am__v_at_@AM_V@) -am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) -am__v_at_0 = @ -am__v_at_1 = -SOURCES = -DIST_SOURCES = -am__can_run_installinfo = \ - case $$AM_UPDATE_INFO_DIR in \ - n|no|NO) false;; \ - *) (install-info --version) >/dev/null 2>&1;; \ - esac -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__uninstall_files_from_dir = { \ - test -z "$$files" \ - || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \ - || { echo " ( cd '$$dir' && rm -f" $$files ")"; \ - $(am__cd) "$$dir" && rm -f $$files; }; \ - } -am__installdirs = "$(DESTDIR)$(incdir)" -DATA = $(dist_inc_DATA) -am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) -am__DIST_COMMON = $(srcdir)/Makefile.in -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) -ACLOCAL = @ACLOCAL@ -AMTAR = @AMTAR@ -AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ -APPDEPS = @APPDEPS@ -AR = @AR@ -AUTOCONF = @AUTOCONF@ -AUTOHEADER = @AUTOHEADER@ -AUTOMAKE = @AUTOMAKE@ -AWK = @AWK@ -CADAVER = @CADAVER@ -CC = @CC@ -CCDEPMODE = @CCDEPMODE@ -CFLAGS = @CFLAGS@ -CONFIG_STATUS_DEPENDENCIES = @CONFIG_STATUS_DEPENDENCIES@ -CPP = @CPP@ -CPPFLAGS = @CPPFLAGS@ -CT_RUN = @CT_RUN@ -CURL = @CURL@ -CYGPATH_W = @CYGPATH_W@ -DEFAULT_CHARSET = @DEFAULT_CHARSET@ -DEFS = @DEFS@ -DEPDIR = @DEPDIR@ -DIALYZER = @DIALYZER@ -DLLTOOL = @DLLTOOL@ -DSYMUTIL = @DSYMUTIL@ -DUMPBIN = @DUMPBIN@ -DVILATEX = @DVILATEX@ -DVIPS = @DVIPS@ -ECHO_C = @ECHO_C@ -ECHO_N = @ECHO_N@ -ECHO_T = @ECHO_T@ -EGREP = @EGREP@ -EPAM_CFLAGS = @EPAM_CFLAGS@ -EPSTOPDF = @EPSTOPDF@ -ERL = @ERL@ -ERLANG_ERTS_DIR = @ERLANG_ERTS_DIR@ -ERLANG_ERTS_VER = @ERLANG_ERTS_VER@ -ERLANG_INSTALL_LIB_DIR = @ERLANG_INSTALL_LIB_DIR@ -ERLANG_INSTALL_LIB_DIR_yapp = @ERLANG_INSTALL_LIB_DIR_yapp@ -ERLANG_INSTALL_LIB_DIR_yaws = @ERLANG_INSTALL_LIB_DIR_yaws@ -ERLANG_LIB_DIR = @ERLANG_LIB_DIR@ -ERLANG_LIB_DIR_common_test = @ERLANG_LIB_DIR_common_test@ -ERLANG_LIB_DIR_compiler = @ERLANG_LIB_DIR_compiler@ -ERLANG_LIB_DIR_crypto = @ERLANG_LIB_DIR_crypto@ -ERLANG_LIB_DIR_erlsom = @ERLANG_LIB_DIR_erlsom@ -ERLANG_LIB_DIR_erts = @ERLANG_LIB_DIR_erts@ -ERLANG_LIB_DIR_eunit = @ERLANG_LIB_DIR_eunit@ -ERLANG_LIB_DIR_inets = @ERLANG_LIB_DIR_inets@ -ERLANG_LIB_DIR_kernel = @ERLANG_LIB_DIR_kernel@ -ERLANG_LIB_DIR_mnesia = @ERLANG_LIB_DIR_mnesia@ -ERLANG_LIB_DIR_public_key = @ERLANG_LIB_DIR_public_key@ -ERLANG_LIB_DIR_sasl = @ERLANG_LIB_DIR_sasl@ -ERLANG_LIB_DIR_ssl = @ERLANG_LIB_DIR_ssl@ -ERLANG_LIB_DIR_stdlib = @ERLANG_LIB_DIR_stdlib@ -ERLANG_LIB_DIR_tools = @ERLANG_LIB_DIR_tools@ -ERLANG_LIB_DIR_xmerl = @ERLANG_LIB_DIR_xmerl@ -ERLANG_LIB_DIR_xmlrpc = @ERLANG_LIB_DIR_xmlrpc@ -ERLANG_LIB_VER_common_test = @ERLANG_LIB_VER_common_test@ -ERLANG_LIB_VER_compiler = @ERLANG_LIB_VER_compiler@ -ERLANG_LIB_VER_crypto = @ERLANG_LIB_VER_crypto@ -ERLANG_LIB_VER_erlsom = @ERLANG_LIB_VER_erlsom@ -ERLANG_LIB_VER_erts = @ERLANG_LIB_VER_erts@ -ERLANG_LIB_VER_eunit = @ERLANG_LIB_VER_eunit@ -ERLANG_LIB_VER_inets = @ERLANG_LIB_VER_inets@ -ERLANG_LIB_VER_kernel = @ERLANG_LIB_VER_kernel@ -ERLANG_LIB_VER_mnesia = @ERLANG_LIB_VER_mnesia@ -ERLANG_LIB_VER_public_key = @ERLANG_LIB_VER_public_key@ -ERLANG_LIB_VER_sasl = @ERLANG_LIB_VER_sasl@ -ERLANG_LIB_VER_ssl = @ERLANG_LIB_VER_ssl@ -ERLANG_LIB_VER_stdlib = @ERLANG_LIB_VER_stdlib@ -ERLANG_LIB_VER_tools = @ERLANG_LIB_VER_tools@ -ERLANG_LIB_VER_xmerl = @ERLANG_LIB_VER_xmerl@ -ERLANG_LIB_VER_xmlrpc = @ERLANG_LIB_VER_xmlrpc@ -ERLANG_RELEASE = @ERLANG_RELEASE@ -ERLANG_ROOT_DIR = @ERLANG_ROOT_DIR@ -ERLC = @ERLC@ -ERLCFLAGS = @ERLCFLAGS@ -ERL_LIBS = @ERL_LIBS@ -ESCRIPT = @ESCRIPT@ -EXEEXT = @EXEEXT@ -EXTRAINCLUDE = @EXTRAINCLUDE@ -FGREP = @FGREP@ -GREP = @GREP@ -HAVE_SENDFILE = @HAVE_SENDFILE@ -INSTALL = @INSTALL@ -INSTALL_BUILDER = @INSTALL_BUILDER@ -INSTALL_DATA = @INSTALL_DATA@ -INSTALL_PROGRAM = @INSTALL_PROGRAM@ -INSTALL_SCRIPT = @INSTALL_SCRIPT@ -INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ -LD = @LD@ -LDFLAGS = @LDFLAGS@ -LIBOBJS = @LIBOBJS@ -LIBS = @LIBS@ -LIBTOOL = @LIBTOOL@ -LIPO = @LIPO@ -LN_S = @LN_S@ -LTLIBOBJS = @LTLIBOBJS@ -LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@ -MAKEINFO = @MAKEINFO@ -MAN = @MAN@ -MANIFEST_TOOL = @MANIFEST_TOOL@ -MKDIR_P = @MKDIR_P@ -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_URL = @PACKAGE_URL@ -PACKAGE_VERSION = @PACKAGE_VERSION@ -PATH_SEPARATOR = @PATH_SEPARATOR@ -PDFLATEX = @PDFLATEX@ -PS2PDF = @PS2PDF@ -RANLIB = @RANLIB@ -SED = @SED@ -SET_MAKE = @SET_MAKE@ -SHELL = @SHELL@ -STRIP = @STRIP@ -TODOS = @TODOS@ -UNIX2DOS = @UNIX2DOS@ -VERSION = @VERSION@ -WERL = @WERL@ -YAPP_VSN = @YAPP_VSN@ -YAWS_VSN = @YAWS_VSN@ -abs_builddir = @abs_builddir@ -abs_srcdir = @abs_srcdir@ -abs_top_builddir = @abs_top_builddir@ -abs_top_srcdir = @abs_top_srcdir@ -ac_ct_AR = @ac_ct_AR@ -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@ -appsdir = @appsdir@ -bindir = @bindir@ -build = @build@ -build_alias = @build_alias@ -build_cpu = @build_cpu@ -build_os = @build_os@ -build_vendor = @build_vendor@ -builddir = @builddir@ -confdir = @confdir@ -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@ -logdir = @logdir@ -mandir = @mandir@ -mkdir_p = @mkdir_p@ -oldincludedir = @oldincludedir@ -pdfdir = @pdfdir@ -prefix = @prefix@ -program_transform_name = @program_transform_name@ -psdir = @psdir@ -runstatedir = @runstatedir@ -sbindir = @sbindir@ -sharedstatedir = @sharedstatedir@ -srcdir = @srcdir@ -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@ -wwwdir = @wwwdir@ -yappdir = @yappdir@ -yawsdir = @yawsdir@ -incdir = $(ERLANG_INSTALL_LIB_DIR_yaws)/examples/include -dist_inc_DATA = -all: all-am - -.SUFFIXES: -$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) - @for dep in $?; do \ - case '$(am__configure_deps)' in \ - *$$dep*) \ - ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ - && { if test -f $@; then exit 0; else break; fi; }; \ - exit 1;; \ - esac; \ - done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign examples/include/Makefile'; \ - $(am__cd) $(top_srcdir) && \ - $(AUTOMAKE) --foreign examples/include/Makefile -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - @case '$?' in \ - *config.status*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ - *) \ - echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ - esac; - -$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh - -$(top_srcdir)/configure: $(am__configure_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(ACLOCAL_M4): $(am__aclocal_m4_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(am__aclocal_m4_deps): - -mostlyclean-libtool: - -rm -f *.lo - -clean-libtool: - -rm -rf .libs _libs -install-dist_incDATA: $(dist_inc_DATA) - @$(NORMAL_INSTALL) - @list='$(dist_inc_DATA)'; test -n "$(incdir)" || list=; \ - if test -n "$$list"; then \ - echo " $(MKDIR_P) '$(DESTDIR)$(incdir)'"; \ - $(MKDIR_P) "$(DESTDIR)$(incdir)" || exit 1; \ - fi; \ - 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)$(incdir)'"; \ - $(INSTALL_DATA) $$files "$(DESTDIR)$(incdir)" || exit $$?; \ - done - -uninstall-dist_incDATA: - @$(NORMAL_UNINSTALL) - @list='$(dist_inc_DATA)'; test -n "$(incdir)" || list=; \ - files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ - dir='$(DESTDIR)$(incdir)'; $(am__uninstall_files_from_dir) -tags TAGS: - -ctags CTAGS: - -cscope cscopelist: - - -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 $(DATA) -installdirs: - for dir in "$(DESTDIR)$(incdir)"; do \ - test -z "$$dir" || $(MKDIR_P) "$$dir"; \ - done -install: install-am -install-exec: install-exec-am -install-data: install-data-am -uninstall: uninstall-am - -install-am: all-am - @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am - -installcheck: installcheck-am -install-strip: - if test -z '$(STRIP)'; then \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - install; \ - else \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ - fi -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-data-local install-dist_incDATA - -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: uninstall-dist_incDATA - -.MAKE: install-am install-strip - -.PHONY: all all-am check check-am clean clean-generic clean-libtool \ - cscopelist-am ctags-am distclean distclean-generic \ - distclean-libtool distdir dvi dvi-am html html-am info info-am \ - install install-am install-data install-data-am \ - install-data-local install-dist_incDATA 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 \ - tags-am uninstall uninstall-am uninstall-dist_incDATA - -.PRECIOUS: Makefile - - -# Add custom install target because there is no header to install -install-data-local: - $(AM_V_at)$(INSTALL) -d $(DESTDIR)$(ERLANG_INSTALL_LIB_DIR_yaws)/examples/include -# Local Variables: -# tab-width: 8 -# End: - -# Tell versions [3.59,3.63) of GNU make to not export all variables. -# Otherwise a system limit (for SysV at least) may be exceeded. -.NOEXPORT: diff -Nru yaws-2.0.6+dfsg/examples/src/Makefile.in yaws-2.0.7+dfsg/examples/src/Makefile.in --- yaws-2.0.6+dfsg/examples/src/Makefile.in 2018-06-26 09:17:08.000000000 +0000 +++ yaws-2.0.7+dfsg/examples/src/Makefile.in 1970-01-01 00:00:00.000000000 +0000 @@ -1,540 +0,0 @@ -# Makefile.in generated by automake 1.15.1 from Makefile.am. -# @configure_input@ - -# Copyright (C) 1994-2017 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@ -am__is_gnu_make = { \ - if test -z '$(MAKELEVEL)'; then \ - false; \ - elif test -n '$(MAKE_HOST)'; then \ - true; \ - elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ - true; \ - else \ - false; \ - fi; \ -} -am__make_running_with_option = \ - case $${target_option-} in \ - ?) ;; \ - *) echo "am__make_running_with_option: internal error: invalid" \ - "target option '$${target_option-}' specified" >&2; \ - exit 1;; \ - esac; \ - has_opt=no; \ - sane_makeflags=$$MAKEFLAGS; \ - if $(am__is_gnu_make); then \ - sane_makeflags=$$MFLAGS; \ - else \ - case $$MAKEFLAGS in \ - *\\[\ \ ]*) \ - bs=\\; \ - sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ - | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ - esac; \ - fi; \ - skip_next=no; \ - strip_trailopt () \ - { \ - flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ - }; \ - for flg in $$sane_makeflags; do \ - test $$skip_next = yes && { skip_next=no; continue; }; \ - case $$flg in \ - *=*|--*) continue;; \ - -*I) strip_trailopt 'I'; skip_next=yes;; \ - -*I?*) strip_trailopt 'I';; \ - -*O) strip_trailopt 'O'; skip_next=yes;; \ - -*O?*) strip_trailopt 'O';; \ - -*l) strip_trailopt 'l'; skip_next=yes;; \ - -*l?*) strip_trailopt 'l';; \ - -[dEDm]) skip_next=yes;; \ - -[JT]) skip_next=yes;; \ - esac; \ - case $$flg in \ - *$$target_option*) has_opt=yes; break;; \ - esac; \ - done; \ - test $$has_opt = yes -am__make_dryrun = (target_option=n; $(am__make_running_with_option)) -am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) -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 = examples/src -ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/m4/ax_compare_version.m4 \ - $(top_srcdir)/m4/colored-echo.m4 $(top_srcdir)/m4/erlang.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)/configure.ac -am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ - $(ACLOCAL_M4) -DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON) -mkinstalldirs = $(install_sh) -d -CONFIG_CLEAN_FILES = -CONFIG_CLEAN_VPATH_FILES = -AM_V_P = $(am__v_P_@AM_V@) -am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) -am__v_P_0 = false -am__v_P_1 = : -AM_V_GEN = $(am__v_GEN_@AM_V@) -am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) -am__v_GEN_0 = @echo " GEN " $@; -am__v_GEN_1 = -AM_V_at = $(am__v_at_@AM_V@) -am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) -am__v_at_0 = @ -am__v_at_1 = -SOURCES = -DIST_SOURCES = -am__can_run_installinfo = \ - case $$AM_UPDATE_INFO_DIR in \ - n|no|NO) false;; \ - *) (install-info --version) >/dev/null 2>&1;; \ - esac -am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) -am__DIST_COMMON = $(srcdir)/Makefile.in -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) -ACLOCAL = @ACLOCAL@ -AMTAR = @AMTAR@ -AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ -APPDEPS = @APPDEPS@ -AR = @AR@ -AUTOCONF = @AUTOCONF@ -AUTOHEADER = @AUTOHEADER@ -AUTOMAKE = @AUTOMAKE@ -AWK = @AWK@ -CADAVER = @CADAVER@ -CC = @CC@ -CCDEPMODE = @CCDEPMODE@ -CFLAGS = @CFLAGS@ -CONFIG_STATUS_DEPENDENCIES = @CONFIG_STATUS_DEPENDENCIES@ -CPP = @CPP@ -CPPFLAGS = @CPPFLAGS@ -CT_RUN = @CT_RUN@ -CURL = @CURL@ -CYGPATH_W = @CYGPATH_W@ -DEFAULT_CHARSET = @DEFAULT_CHARSET@ -DEFS = @DEFS@ -DEPDIR = @DEPDIR@ -DIALYZER = @DIALYZER@ -DLLTOOL = @DLLTOOL@ -DSYMUTIL = @DSYMUTIL@ -DUMPBIN = @DUMPBIN@ -DVILATEX = @DVILATEX@ -DVIPS = @DVIPS@ -ECHO_C = @ECHO_C@ -ECHO_N = @ECHO_N@ -ECHO_T = @ECHO_T@ -EGREP = @EGREP@ -EPAM_CFLAGS = @EPAM_CFLAGS@ -EPSTOPDF = @EPSTOPDF@ -ERL = @ERL@ -ERLANG_ERTS_DIR = @ERLANG_ERTS_DIR@ -ERLANG_ERTS_VER = @ERLANG_ERTS_VER@ -ERLANG_INSTALL_LIB_DIR = @ERLANG_INSTALL_LIB_DIR@ -ERLANG_INSTALL_LIB_DIR_yapp = @ERLANG_INSTALL_LIB_DIR_yapp@ -ERLANG_INSTALL_LIB_DIR_yaws = @ERLANG_INSTALL_LIB_DIR_yaws@ -ERLANG_LIB_DIR = @ERLANG_LIB_DIR@ -ERLANG_LIB_DIR_common_test = @ERLANG_LIB_DIR_common_test@ -ERLANG_LIB_DIR_compiler = @ERLANG_LIB_DIR_compiler@ -ERLANG_LIB_DIR_crypto = @ERLANG_LIB_DIR_crypto@ -ERLANG_LIB_DIR_erlsom = @ERLANG_LIB_DIR_erlsom@ -ERLANG_LIB_DIR_erts = @ERLANG_LIB_DIR_erts@ -ERLANG_LIB_DIR_eunit = @ERLANG_LIB_DIR_eunit@ -ERLANG_LIB_DIR_inets = @ERLANG_LIB_DIR_inets@ -ERLANG_LIB_DIR_kernel = @ERLANG_LIB_DIR_kernel@ -ERLANG_LIB_DIR_mnesia = @ERLANG_LIB_DIR_mnesia@ -ERLANG_LIB_DIR_public_key = @ERLANG_LIB_DIR_public_key@ -ERLANG_LIB_DIR_sasl = @ERLANG_LIB_DIR_sasl@ -ERLANG_LIB_DIR_ssl = @ERLANG_LIB_DIR_ssl@ -ERLANG_LIB_DIR_stdlib = @ERLANG_LIB_DIR_stdlib@ -ERLANG_LIB_DIR_tools = @ERLANG_LIB_DIR_tools@ -ERLANG_LIB_DIR_xmerl = @ERLANG_LIB_DIR_xmerl@ -ERLANG_LIB_DIR_xmlrpc = @ERLANG_LIB_DIR_xmlrpc@ -ERLANG_LIB_VER_common_test = @ERLANG_LIB_VER_common_test@ -ERLANG_LIB_VER_compiler = @ERLANG_LIB_VER_compiler@ -ERLANG_LIB_VER_crypto = @ERLANG_LIB_VER_crypto@ -ERLANG_LIB_VER_erlsom = @ERLANG_LIB_VER_erlsom@ -ERLANG_LIB_VER_erts = @ERLANG_LIB_VER_erts@ -ERLANG_LIB_VER_eunit = @ERLANG_LIB_VER_eunit@ -ERLANG_LIB_VER_inets = @ERLANG_LIB_VER_inets@ -ERLANG_LIB_VER_kernel = @ERLANG_LIB_VER_kernel@ -ERLANG_LIB_VER_mnesia = @ERLANG_LIB_VER_mnesia@ -ERLANG_LIB_VER_public_key = @ERLANG_LIB_VER_public_key@ -ERLANG_LIB_VER_sasl = @ERLANG_LIB_VER_sasl@ -ERLANG_LIB_VER_ssl = @ERLANG_LIB_VER_ssl@ -ERLANG_LIB_VER_stdlib = @ERLANG_LIB_VER_stdlib@ -ERLANG_LIB_VER_tools = @ERLANG_LIB_VER_tools@ -ERLANG_LIB_VER_xmerl = @ERLANG_LIB_VER_xmerl@ -ERLANG_LIB_VER_xmlrpc = @ERLANG_LIB_VER_xmlrpc@ -ERLANG_RELEASE = @ERLANG_RELEASE@ -ERLANG_ROOT_DIR = @ERLANG_ROOT_DIR@ -ERLC = @ERLC@ -ERLCFLAGS = @ERLCFLAGS@ -ERL_LIBS = @ERL_LIBS@ -ESCRIPT = @ESCRIPT@ -EXEEXT = @EXEEXT@ -EXTRAINCLUDE = @EXTRAINCLUDE@ -FGREP = @FGREP@ -GREP = @GREP@ -HAVE_SENDFILE = @HAVE_SENDFILE@ -INSTALL = @INSTALL@ -INSTALL_BUILDER = @INSTALL_BUILDER@ -INSTALL_DATA = @INSTALL_DATA@ -INSTALL_PROGRAM = @INSTALL_PROGRAM@ -INSTALL_SCRIPT = @INSTALL_SCRIPT@ -INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ -LD = @LD@ -LDFLAGS = @LDFLAGS@ -LIBOBJS = @LIBOBJS@ -LIBS = @LIBS@ -LIBTOOL = @LIBTOOL@ -LIPO = @LIPO@ -LN_S = @LN_S@ -LTLIBOBJS = @LTLIBOBJS@ -LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@ -MAKEINFO = @MAKEINFO@ -MAN = @MAN@ -MANIFEST_TOOL = @MANIFEST_TOOL@ -MKDIR_P = @MKDIR_P@ -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_URL = @PACKAGE_URL@ -PACKAGE_VERSION = @PACKAGE_VERSION@ -PATH_SEPARATOR = @PATH_SEPARATOR@ -PDFLATEX = @PDFLATEX@ -PS2PDF = @PS2PDF@ -RANLIB = @RANLIB@ -SED = @SED@ -SET_MAKE = @SET_MAKE@ -SHELL = @SHELL@ -STRIP = @STRIP@ -TODOS = @TODOS@ -UNIX2DOS = @UNIX2DOS@ -VERSION = @VERSION@ -WERL = @WERL@ -YAPP_VSN = @YAPP_VSN@ -YAWS_VSN = @YAWS_VSN@ -abs_builddir = @abs_builddir@ -abs_srcdir = @abs_srcdir@ -abs_top_builddir = @abs_top_builddir@ -abs_top_srcdir = @abs_top_srcdir@ -ac_ct_AR = @ac_ct_AR@ -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@ -appsdir = @appsdir@ -bindir = @bindir@ -build = @build@ -build_alias = @build_alias@ -build_cpu = @build_cpu@ -build_os = @build_os@ -build_vendor = @build_vendor@ -builddir = @builddir@ -confdir = @confdir@ -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@ -logdir = @logdir@ -mandir = @mandir@ -mkdir_p = @mkdir_p@ -oldincludedir = @oldincludedir@ -pdfdir = @pdfdir@ -prefix = @prefix@ -program_transform_name = @program_transform_name@ -psdir = @psdir@ -runstatedir = @runstatedir@ -sbindir = @sbindir@ -sharedstatedir = @sharedstatedir@ -srcdir = @srcdir@ -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@ -wwwdir = @wwwdir@ -yappdir = @yappdir@ -yawsdir = @yawsdir@ -MODULES = advanced_echo_callback.erl \ - authmod_gssapi.erl \ - basic_echo_callback.erl \ - basic_echo_callback_extended.erl \ - server_sent_events.erl - -EXTRA_DIST = $(MODULES) -EBIN_DIR = @builddir@/../ebin -EBIN_FILES = $(MODULES:%.erl=$(EBIN_DIR)/%.beam) -ERLC_FLAGS = $(ERLC_GENERIC_FLAGS) -all: all-am - -.SUFFIXES: -$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) - @for dep in $?; do \ - case '$(am__configure_deps)' in \ - *$$dep*) \ - ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ - && { if test -f $@; then exit 0; else break; fi; }; \ - exit 1;; \ - esac; \ - done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign examples/src/Makefile'; \ - $(am__cd) $(top_srcdir) && \ - $(AUTOMAKE) --foreign examples/src/Makefile -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - @case '$?' in \ - *config.status*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ - *) \ - echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ - esac; - -$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh - -$(top_srcdir)/configure: $(am__configure_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(ACLOCAL_M4): $(am__aclocal_m4_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(am__aclocal_m4_deps): - -mostlyclean-libtool: - -rm -f *.lo - -clean-libtool: - -rm -rf .libs _libs -tags TAGS: - -ctags CTAGS: - -cscope cscopelist: - - -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 all-local -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: - if test -z '$(STRIP)'; then \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - install; \ - else \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ - fi -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 distclean-local - -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 all-local check check-am clean clean-generic \ - clean-libtool cscopelist-am ctags-am distclean \ - distclean-generic distclean-libtool distclean-local 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 tags-am uninstall \ - uninstall-am - -.PRECIOUS: Makefile - -include @top_srcdir@/include.mk - -include @top_srcdir@/erlang_deps.mk - -all-local: $(EBIN_FILES) - -$(EBIN_DIR)/%.beam: %.erl - $(AM_V_at)$(ERLC) $(ERLC_FLAGS) -M -MF $(@:$(EBIN_DIR)/%.beam=$(DEPDIR)/%.Pbeam) -MT $@ $< - $(AM_V_ERLC)$(ERLC) $(ERLC_FLAGS) -o $(EBIN_DIR) $< - -distclean-local: - $(AM_V_at)rm -fr $(DEPDIR) - -# Local Variables: -# tab-width: 8 -# End: - -# Tell versions [3.59,3.63) of GNU make to not export all variables. -# Otherwise a system limit (for SysV at least) may be exceeded. -.NOEXPORT: diff -Nru yaws-2.0.6+dfsg/.gitignore yaws-2.0.7+dfsg/.gitignore --- yaws-2.0.6+dfsg/.gitignore 1970-01-01 00:00:00.000000000 +0000 +++ yaws-2.0.7+dfsg/.gitignore 2019-07-14 13:01:11.000000000 +0000 @@ -0,0 +1,94 @@ +*.Pbeam +*.beam +*.o +*.lo +*.la +*.so +*.access +*.dat +*.exe +*~ +autom4te.cache +libtool +auth.log +report.log +ac-aux/ +aclocal.m4 +autom4te.cache/ +m4/libtool.m4 +m4/lt*.m4 +config.h* +config.log* +config.status* +configure +Makefile +Makefile.in +.deps +c_src/.libs +c_src/epam +c_src/*.d +erl_crash.dump +yaws.pc +yaws.plt +src/mime_types.erl +src/yaws_generated.erl +src/yaws_charset.hrl +src/yaws_appdeps.hrl +ebin/yaws.app +ebin/yaws.appup +priv/epam +testsuite/logs +testsuite/*/temp +testsuite/analyze_coverdata.escript +testsuite/cover_to_html.sh +testsuite/run_common_test +testsuite/testsuite.hrl +testsuite/yaws.coverspec +www/yaws.pdf +www/yaws.ps +doc/a.pdf +doc/b.pdf +doc/layout.pdf +doc/yaws.aux +doc/yaws.dvi +doc/yaws.log +doc/yaws.out +doc/yaws.pdf +doc/yaws.ps +doc/yaws.toc +doc/yaws_head.pdf +man/*.pdf +scripts/make-release +win32/build.xml +dialyzer_warnings +rel/yaws +deps +etc/ +var/ +bin/ +yaws_logs/ +.eunit/* +.rebar/* +yaws-*.tar.gz +applications/yapp/doc/edoc-info +applications/yapp/doc/erlang.png +applications/yapp/doc/index.html +applications/yapp/doc/modules-frame.html +applications/yapp/doc/overview-summary.html +applications/yapp/doc/packages-frame.html +applications/yapp/doc/stylesheet.css +applications/yapp/doc/yapp.html +applications/yapp/doc/yapp_app.html +applications/yapp/doc/yapp_ets_server.html +applications/yapp/doc/yapp_event_handler.html +applications/yapp/doc/yapp_handler.html +applications/yapp/doc/yapp_mnesia_server.html +applications/yapp/doc/yapp_registry.html +applications/yapp/doc/yapp_server.html +applications/yapp/doc/yapp_sup.html +applications/yapp/ebin/yapp.app +applications/yapp/ebin/yapp.appup +applications/wiki/scripts/addFile +applications/wiki/scripts/getPassword +applications/wiki/scripts/importFiles +applications/wiki/scripts/updateWiki diff -Nru yaws-2.0.6+dfsg/include/Makefile.in yaws-2.0.7+dfsg/include/Makefile.in --- yaws-2.0.6+dfsg/include/Makefile.in 2018-06-26 09:17:08.000000000 +0000 +++ yaws-2.0.7+dfsg/include/Makefile.in 1970-01-01 00:00:00.000000000 +0000 @@ -1,583 +0,0 @@ -# Makefile.in generated by automake 1.15.1 from Makefile.am. -# @configure_input@ - -# Copyright (C) 1994-2017 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@ -am__is_gnu_make = { \ - if test -z '$(MAKELEVEL)'; then \ - false; \ - elif test -n '$(MAKE_HOST)'; then \ - true; \ - elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ - true; \ - else \ - false; \ - fi; \ -} -am__make_running_with_option = \ - case $${target_option-} in \ - ?) ;; \ - *) echo "am__make_running_with_option: internal error: invalid" \ - "target option '$${target_option-}' specified" >&2; \ - exit 1;; \ - esac; \ - has_opt=no; \ - sane_makeflags=$$MAKEFLAGS; \ - if $(am__is_gnu_make); then \ - sane_makeflags=$$MFLAGS; \ - else \ - case $$MAKEFLAGS in \ - *\\[\ \ ]*) \ - bs=\\; \ - sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ - | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ - esac; \ - fi; \ - skip_next=no; \ - strip_trailopt () \ - { \ - flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ - }; \ - for flg in $$sane_makeflags; do \ - test $$skip_next = yes && { skip_next=no; continue; }; \ - case $$flg in \ - *=*|--*) continue;; \ - -*I) strip_trailopt 'I'; skip_next=yes;; \ - -*I?*) strip_trailopt 'I';; \ - -*O) strip_trailopt 'O'; skip_next=yes;; \ - -*O?*) strip_trailopt 'O';; \ - -*l) strip_trailopt 'l'; skip_next=yes;; \ - -*l?*) strip_trailopt 'l';; \ - -[dEDm]) skip_next=yes;; \ - -[JT]) skip_next=yes;; \ - esac; \ - case $$flg in \ - *$$target_option*) has_opt=yes; break;; \ - esac; \ - done; \ - test $$has_opt = yes -am__make_dryrun = (target_option=n; $(am__make_running_with_option)) -am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) -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 = include -ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/m4/ax_compare_version.m4 \ - $(top_srcdir)/m4/colored-echo.m4 $(top_srcdir)/m4/erlang.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)/configure.ac -am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ - $(ACLOCAL_M4) -DIST_COMMON = $(srcdir)/Makefile.am $(dist_inc_DATA) \ - $(am__DIST_COMMON) -mkinstalldirs = $(install_sh) -d -CONFIG_CLEAN_FILES = -CONFIG_CLEAN_VPATH_FILES = -AM_V_P = $(am__v_P_@AM_V@) -am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) -am__v_P_0 = false -am__v_P_1 = : -AM_V_GEN = $(am__v_GEN_@AM_V@) -am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) -am__v_GEN_0 = @echo " GEN " $@; -am__v_GEN_1 = -AM_V_at = $(am__v_at_@AM_V@) -am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) -am__v_at_0 = @ -am__v_at_1 = -SOURCES = -DIST_SOURCES = -am__can_run_installinfo = \ - case $$AM_UPDATE_INFO_DIR in \ - n|no|NO) false;; \ - *) (install-info --version) >/dev/null 2>&1;; \ - esac -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__uninstall_files_from_dir = { \ - test -z "$$files" \ - || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \ - || { echo " ( cd '$$dir' && rm -f" $$files ")"; \ - $(am__cd) "$$dir" && rm -f $$files; }; \ - } -am__installdirs = "$(DESTDIR)$(incdir)" -DATA = $(dist_inc_DATA) -am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) -am__DIST_COMMON = $(srcdir)/Makefile.in -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) -ACLOCAL = @ACLOCAL@ -AMTAR = @AMTAR@ -AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ -APPDEPS = @APPDEPS@ -AR = @AR@ -AUTOCONF = @AUTOCONF@ -AUTOHEADER = @AUTOHEADER@ -AUTOMAKE = @AUTOMAKE@ -AWK = @AWK@ -CADAVER = @CADAVER@ -CC = @CC@ -CCDEPMODE = @CCDEPMODE@ -CFLAGS = @CFLAGS@ -CONFIG_STATUS_DEPENDENCIES = @CONFIG_STATUS_DEPENDENCIES@ -CPP = @CPP@ -CPPFLAGS = @CPPFLAGS@ -CT_RUN = @CT_RUN@ -CURL = @CURL@ -CYGPATH_W = @CYGPATH_W@ -DEFAULT_CHARSET = @DEFAULT_CHARSET@ -DEFS = @DEFS@ -DEPDIR = @DEPDIR@ -DIALYZER = @DIALYZER@ -DLLTOOL = @DLLTOOL@ -DSYMUTIL = @DSYMUTIL@ -DUMPBIN = @DUMPBIN@ -DVILATEX = @DVILATEX@ -DVIPS = @DVIPS@ -ECHO_C = @ECHO_C@ -ECHO_N = @ECHO_N@ -ECHO_T = @ECHO_T@ -EGREP = @EGREP@ -EPAM_CFLAGS = @EPAM_CFLAGS@ -EPSTOPDF = @EPSTOPDF@ -ERL = @ERL@ -ERLANG_ERTS_DIR = @ERLANG_ERTS_DIR@ -ERLANG_ERTS_VER = @ERLANG_ERTS_VER@ -ERLANG_INSTALL_LIB_DIR = @ERLANG_INSTALL_LIB_DIR@ -ERLANG_INSTALL_LIB_DIR_yapp = @ERLANG_INSTALL_LIB_DIR_yapp@ -ERLANG_INSTALL_LIB_DIR_yaws = @ERLANG_INSTALL_LIB_DIR_yaws@ -ERLANG_LIB_DIR = @ERLANG_LIB_DIR@ -ERLANG_LIB_DIR_common_test = @ERLANG_LIB_DIR_common_test@ -ERLANG_LIB_DIR_compiler = @ERLANG_LIB_DIR_compiler@ -ERLANG_LIB_DIR_crypto = @ERLANG_LIB_DIR_crypto@ -ERLANG_LIB_DIR_erlsom = @ERLANG_LIB_DIR_erlsom@ -ERLANG_LIB_DIR_erts = @ERLANG_LIB_DIR_erts@ -ERLANG_LIB_DIR_eunit = @ERLANG_LIB_DIR_eunit@ -ERLANG_LIB_DIR_inets = @ERLANG_LIB_DIR_inets@ -ERLANG_LIB_DIR_kernel = @ERLANG_LIB_DIR_kernel@ -ERLANG_LIB_DIR_mnesia = @ERLANG_LIB_DIR_mnesia@ -ERLANG_LIB_DIR_public_key = @ERLANG_LIB_DIR_public_key@ -ERLANG_LIB_DIR_sasl = @ERLANG_LIB_DIR_sasl@ -ERLANG_LIB_DIR_ssl = @ERLANG_LIB_DIR_ssl@ -ERLANG_LIB_DIR_stdlib = @ERLANG_LIB_DIR_stdlib@ -ERLANG_LIB_DIR_tools = @ERLANG_LIB_DIR_tools@ -ERLANG_LIB_DIR_xmerl = @ERLANG_LIB_DIR_xmerl@ -ERLANG_LIB_DIR_xmlrpc = @ERLANG_LIB_DIR_xmlrpc@ -ERLANG_LIB_VER_common_test = @ERLANG_LIB_VER_common_test@ -ERLANG_LIB_VER_compiler = @ERLANG_LIB_VER_compiler@ -ERLANG_LIB_VER_crypto = @ERLANG_LIB_VER_crypto@ -ERLANG_LIB_VER_erlsom = @ERLANG_LIB_VER_erlsom@ -ERLANG_LIB_VER_erts = @ERLANG_LIB_VER_erts@ -ERLANG_LIB_VER_eunit = @ERLANG_LIB_VER_eunit@ -ERLANG_LIB_VER_inets = @ERLANG_LIB_VER_inets@ -ERLANG_LIB_VER_kernel = @ERLANG_LIB_VER_kernel@ -ERLANG_LIB_VER_mnesia = @ERLANG_LIB_VER_mnesia@ -ERLANG_LIB_VER_public_key = @ERLANG_LIB_VER_public_key@ -ERLANG_LIB_VER_sasl = @ERLANG_LIB_VER_sasl@ -ERLANG_LIB_VER_ssl = @ERLANG_LIB_VER_ssl@ -ERLANG_LIB_VER_stdlib = @ERLANG_LIB_VER_stdlib@ -ERLANG_LIB_VER_tools = @ERLANG_LIB_VER_tools@ -ERLANG_LIB_VER_xmerl = @ERLANG_LIB_VER_xmerl@ -ERLANG_LIB_VER_xmlrpc = @ERLANG_LIB_VER_xmlrpc@ -ERLANG_RELEASE = @ERLANG_RELEASE@ -ERLANG_ROOT_DIR = @ERLANG_ROOT_DIR@ -ERLC = @ERLC@ -ERLCFLAGS = @ERLCFLAGS@ -ERL_LIBS = @ERL_LIBS@ -ESCRIPT = @ESCRIPT@ -EXEEXT = @EXEEXT@ -EXTRAINCLUDE = @EXTRAINCLUDE@ -FGREP = @FGREP@ -GREP = @GREP@ -HAVE_SENDFILE = @HAVE_SENDFILE@ -INSTALL = @INSTALL@ -INSTALL_BUILDER = @INSTALL_BUILDER@ -INSTALL_DATA = @INSTALL_DATA@ -INSTALL_PROGRAM = @INSTALL_PROGRAM@ -INSTALL_SCRIPT = @INSTALL_SCRIPT@ -INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ -LD = @LD@ -LDFLAGS = @LDFLAGS@ -LIBOBJS = @LIBOBJS@ -LIBS = @LIBS@ -LIBTOOL = @LIBTOOL@ -LIPO = @LIPO@ -LN_S = @LN_S@ -LTLIBOBJS = @LTLIBOBJS@ -LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@ -MAKEINFO = @MAKEINFO@ -MAN = @MAN@ -MANIFEST_TOOL = @MANIFEST_TOOL@ -MKDIR_P = @MKDIR_P@ -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_URL = @PACKAGE_URL@ -PACKAGE_VERSION = @PACKAGE_VERSION@ -PATH_SEPARATOR = @PATH_SEPARATOR@ -PDFLATEX = @PDFLATEX@ -PS2PDF = @PS2PDF@ -RANLIB = @RANLIB@ -SED = @SED@ -SET_MAKE = @SET_MAKE@ -SHELL = @SHELL@ -STRIP = @STRIP@ -TODOS = @TODOS@ -UNIX2DOS = @UNIX2DOS@ -VERSION = @VERSION@ -WERL = @WERL@ -YAPP_VSN = @YAPP_VSN@ -YAWS_VSN = @YAWS_VSN@ -abs_builddir = @abs_builddir@ -abs_srcdir = @abs_srcdir@ -abs_top_builddir = @abs_top_builddir@ -abs_top_srcdir = @abs_top_srcdir@ -ac_ct_AR = @ac_ct_AR@ -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@ -appsdir = @appsdir@ -bindir = @bindir@ -build = @build@ -build_alias = @build_alias@ -build_cpu = @build_cpu@ -build_os = @build_os@ -build_vendor = @build_vendor@ -builddir = @builddir@ -confdir = @confdir@ -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@ -logdir = @logdir@ -mandir = @mandir@ -mkdir_p = @mkdir_p@ -oldincludedir = @oldincludedir@ -pdfdir = @pdfdir@ -prefix = @prefix@ -program_transform_name = @program_transform_name@ -psdir = @psdir@ -runstatedir = @runstatedir@ -sbindir = @sbindir@ -sharedstatedir = @sharedstatedir@ -srcdir = @srcdir@ -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@ -wwwdir = @wwwdir@ -yappdir = @yappdir@ -yawsdir = @yawsdir@ -incdir = $(ERLANG_INSTALL_LIB_DIR_yaws)/include -dist_inc_DATA = yaws_api.hrl \ - yaws_dav.hrl \ - yaws.hrl \ - yaws_lock.hrl \ - yaws_soap.hrl \ - soap.hrl \ - wsdl11soap12.hrl \ - soap-envelope.hrl - -all: all-am - -.SUFFIXES: -$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) - @for dep in $?; do \ - case '$(am__configure_deps)' in \ - *$$dep*) \ - ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ - && { if test -f $@; then exit 0; else break; fi; }; \ - exit 1;; \ - esac; \ - done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign include/Makefile'; \ - $(am__cd) $(top_srcdir) && \ - $(AUTOMAKE) --foreign include/Makefile -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - @case '$?' in \ - *config.status*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ - *) \ - echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ - esac; - -$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh - -$(top_srcdir)/configure: $(am__configure_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(ACLOCAL_M4): $(am__aclocal_m4_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(am__aclocal_m4_deps): - -mostlyclean-libtool: - -rm -f *.lo - -clean-libtool: - -rm -rf .libs _libs -install-dist_incDATA: $(dist_inc_DATA) - @$(NORMAL_INSTALL) - @list='$(dist_inc_DATA)'; test -n "$(incdir)" || list=; \ - if test -n "$$list"; then \ - echo " $(MKDIR_P) '$(DESTDIR)$(incdir)'"; \ - $(MKDIR_P) "$(DESTDIR)$(incdir)" || exit 1; \ - fi; \ - 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)$(incdir)'"; \ - $(INSTALL_DATA) $$files "$(DESTDIR)$(incdir)" || exit $$?; \ - done - -uninstall-dist_incDATA: - @$(NORMAL_UNINSTALL) - @list='$(dist_inc_DATA)'; test -n "$(incdir)" || list=; \ - files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ - dir='$(DESTDIR)$(incdir)'; $(am__uninstall_files_from_dir) -tags TAGS: - -ctags CTAGS: - -cscope cscopelist: - - -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 $(DATA) -installdirs: - for dir in "$(DESTDIR)$(incdir)"; do \ - test -z "$$dir" || $(MKDIR_P) "$$dir"; \ - done -install: install-am -install-exec: install-exec-am -install-data: install-data-am -uninstall: uninstall-am - -install-am: all-am - @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am - -installcheck: installcheck-am -install-strip: - if test -z '$(STRIP)'; then \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - install; \ - else \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ - fi -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-dist_incDATA - -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: uninstall-dist_incDATA - -.MAKE: install-am install-strip - -.PHONY: all all-am check check-am clean clean-generic clean-libtool \ - cscopelist-am ctags-am distclean distclean-generic \ - distclean-libtool distdir dvi dvi-am html html-am info info-am \ - install install-am install-data install-data-am \ - install-dist_incDATA 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 tags-am uninstall \ - uninstall-am uninstall-dist_incDATA - -.PRECIOUS: Makefile - - -# Local Variables: -# tab-width: 8 -# End: - -# Tell versions [3.59,3.63) of GNU make to not export all variables. -# Otherwise a system limit (for SysV at least) may be exceeded. -.NOEXPORT: diff -Nru yaws-2.0.6+dfsg/include/yaws_api.hrl yaws-2.0.7+dfsg/include/yaws_api.hrl --- yaws-2.0.6+dfsg/include/yaws_api.hrl 2016-07-03 10:01:00.000000000 +0000 +++ yaws-2.0.7+dfsg/include/yaws_api.hrl 2019-07-14 13:01:11.000000000 +0000 @@ -5,8 +5,6 @@ %%% Created : 24 Jan 2002 by Claes Wikstrom %%%---------------------------------------------------------------------- --author('klacke@hyber.org'). - -record(arg, { clisock, % the socket leading to the peer client client_ip_port, % {ClientIp, ClientPort} tuple diff -Nru yaws-2.0.6+dfsg/include/yaws.hrl yaws-2.0.7+dfsg/include/yaws.hrl --- yaws-2.0.6+dfsg/include/yaws.hrl 2018-06-26 09:15:17.000000000 +0000 +++ yaws-2.0.7+dfsg/include/yaws.hrl 2019-07-14 13:01:11.000000000 +0000 @@ -19,8 +19,6 @@ -define(GC_PICK_FIRST_VIRTHOST_ON_NOMATCH, 64). -define(GC_USE_FDSRV, 128). -define(GC_USE_ERLANG_SENDFILE, 256). --define(GC_USE_YAWS_SENDFILE, 512). - -define(GC_DEF, ?GC_FAIL_ON_BIND_ERR). @@ -39,8 +37,6 @@ ((GC#gconf.flags band ?GC_PICK_FIRST_VIRTHOST_ON_NOMATCH) /= 0)). -define(gc_use_erlang_sendfile(GC), ((GC#gconf.flags band ?GC_USE_ERLANG_SENDFILE) /= 0)). --define(gc_use_yaws_sendfile(GC), - ((GC#gconf.flags band ?GC_USE_YAWS_SENDFILE) /= 0)). -define(gc_set_tty_trace(GC, Bool), GC#gconf{flags = yaws:flag(GC#gconf.flags,?GC_TTY_TRACE, Bool)}). @@ -58,9 +54,6 @@ ?GC_PICK_FIRST_VIRTHOST_ON_NOMATCH,Bool)}). -define(gc_set_use_erlang_sendfile(GC, Bool), GC#gconf{flags = yaws:flag(GC#gconf.flags,?GC_USE_ERLANG_SENDFILE,Bool)}). --define(gc_set_use_yaws_sendfile(GC, Bool), - GC#gconf{flags = yaws:flag(GC#gconf.flags,?GC_USE_YAWS_SENDFILE,Bool)}). - %% global conf -record(gconf,{ @@ -86,7 +79,7 @@ large_file_chunk_size = 10240, mnesia_dir = [], - log_wrap_size = 10000000, % wrap logs after 10M + log_wrap_size = 1000000, % wrap logs after 1M cache_refresh_secs = 30, % seconds (auto zero when debug) include_dir = [], % list of inc dirs for .yaws files phpexe = "/usr/bin/php-cgi", % cgi capable php executable @@ -134,26 +127,26 @@ false -> undefined end, protocol_version, - require_sni = false + require_sni = false, + eccs }). %% flags for sconfs --define(SC_ACCESS_LOG, 1). --define(SC_AUTH_LOG, 2). --define(SC_ADD_PORT, 4). --define(SC_STATISTICS, 8). --define(SC_TILDE_EXPAND, 16). --define(SC_DIR_LISTINGS, 32). --define(SC_DEFLATE, 64). --define(SC_DIR_ALL_ZIP, 128). --define(SC_DAV, 256). --define(SC_FCGI_TRACE_PROTOCOL, 512). --define(SC_FCGI_LOG_APP_ERROR, 1024). --define(SC_FORWARD_PROXY, 2048). --define(SC_AUTH_SKIP_DOCROOT, 4096). - - +-define(SC_ACCESS_LOG, (1 bsl 0)). +-define(SC_AUTH_LOG, (1 bsl 1)). +-define(SC_ADD_PORT, (1 bsl 2)). +-define(SC_STATISTICS, (1 bsl 3)). +-define(SC_TILDE_EXPAND, (1 bsl 4)). +-define(SC_DIR_LISTINGS, (1 bsl 5)). +-define(SC_DEFLATE, (1 bsl 6)). +-define(SC_DIR_ALL_ZIP, (1 bsl 7)). +-define(SC_DAV, (1 bsl 8)). +-define(SC_FCGI_TRACE_PROTOCOL, (1 bsl 9)). +-define(SC_FCGI_LOG_APP_ERROR, (1 bsl 10)). +-define(SC_FORWARD_PROXY, (1 bsl 11)). +-define(SC_AUTH_SKIP_DOCROOT, (1 bsl 12)). +-define(SC_STRIP_UNDEF_BINDINGS, (1 bsl 13)). -define(SC_DEF, ?SC_ACCESS_LOG bor ?SC_ADD_PORT bor ?SC_AUTH_LOG). @@ -183,7 +176,8 @@ (((SC)#sconf.flags band ?SC_FORWARD_PROXY) /= 0)). -define(sc_auth_skip_docroot(SC), (((SC)#sconf.flags band ?SC_AUTH_SKIP_DOCROOT) /= 0)). - +-define(sc_strip_undef_bindings(SC), + (((SC)#sconf.flags band ?SC_STRIP_UNDEF_BINDINGS) /= 0)). -define(sc_set_access_log(SC, Bool), SC#sconf{flags = yaws:flag(SC#sconf.flags, ?SC_ACCESS_LOG, Bool)}). @@ -212,7 +206,11 @@ -define(sc_set_forward_proxy(SC, Bool), SC#sconf{flags = yaws:flag(SC#sconf.flags, ?SC_FORWARD_PROXY, Bool)}). -define(sc_set_auth_skip_docroot(SC, Bool), - SC#sconf{flags = yaws:flag(SC#sconf.flags,?SC_AUTH_SKIP_DOCROOT,Bool)}). + SC#sconf{flags = yaws:flag(SC#sconf.flags, ?SC_AUTH_SKIP_DOCROOT, + Bool)}). +-define(sc_set_strip_undef_bindings(SC, Bool), + SC#sconf{flags = yaws:flag(SC#sconf.flags, ?SC_STRIP_UNDEF_BINDINGS, + Bool)}). %% server conf @@ -266,7 +264,8 @@ deflate_options, % undefined | #deflate{} mime_types_info, % undefined | #mime_types_info{} % if undefined, global config is used - dispatch_mod % custom dispatch module + dispatch_mod, % custom dispatch module + extra_response_headers = [] % configured extra response headers }). @@ -294,8 +293,7 @@ {"application", "postscript"}, {"application", "pdf"}, {"application", "x-dvi"}, - {"application", "javascript"}, - {"application", "x-javascript"} + {"application", "javascript"} ]). %% Internal record used to initialize a zlib stream for compression @@ -373,6 +371,7 @@ transfer_encoding, www_authenticate, vary, + accept_ranges, other % misc other headers }). diff -Nru yaws-2.0.6+dfsg/include.mk yaws-2.0.7+dfsg/include.mk --- yaws-2.0.6+dfsg/include.mk 2016-07-03 10:01:00.000000000 +0000 +++ yaws-2.0.7+dfsg/include.mk 2019-07-14 13:01:11.000000000 +0000 @@ -8,10 +8,6 @@ -I $(top_srcdir)/include -I $(srcdir)/../include \ -I $(top_builddir)/include -I $(builddir)/../include -ifeq ($(HAVE_SENDFILE),true) - ERLC_GENERIC_FLAGS += -DHAVE_SENDFILE -endif - # Local Variables: # tab-width: 8 # End: diff -Nru yaws-2.0.6+dfsg/known_dialyzer_warnings yaws-2.0.7+dfsg/known_dialyzer_warnings --- yaws-2.0.6+dfsg/known_dialyzer_warnings 2017-01-27 15:41:40.000000000 +0000 +++ yaws-2.0.7+dfsg/known_dialyzer_warnings 2019-07-14 13:01:11.000000000 +0000 @@ -1,17 +1,13 @@ -yaws.erl:1677: The pattern 'false' can never match the type [[any()]] -yaws.erl:2759: Guard test Ret::'file' == 'fd' can never succeed -yaws.erl:2767: Guard test Ret::'file' == 'binfd' can never succeed -yaws_api.erl:2606: The pattern 'false' can never match the type 'true' -yaws_config.erl:671: The pattern 'false' can never match the type 'true' -yaws_ctl.erl:518: Function hup/1 has no local return -yaws_ctl.erl:523: Function stop/1 has no local return -yaws_ctl.erl:527: Function status/1 has no local return -yaws_ctl.erl:530: Function load/1 has no local return -yaws_ctl.erl:548: Function trace/1 has no local return -yaws_ctl.erl:551: Function debug_dump/1 has no local return -yaws_ctl.erl:554: Function stats/1 has no local return -yaws_ctl.erl:556: Function running_config/1 has no local return -yaws_revproxy.erl:668: The pattern 'true' can never match the type 'false' -yaws_sendfile.erl:53: The pattern 'false' can never match the type 'true' -yaws_sup_restarts.erl:49: The pattern 'false' can never match the type 'true' +yaws.erl:\d+: Guard test Ret *:: *'file' == 'fd' can never succeed +yaws.erl:\d+: Guard test Ret *:: *'file' == 'binfd' can never succeed +yaws_api.erl:\d+: The pattern 'false' can never match the type 'true' +yaws_ctl.erl:\d+: Function hup/1 has no local return +yaws_ctl.erl:\d+: Function stop/1 has no local return +yaws_ctl.erl:\d+: Function status/1 has no local return +yaws_ctl.erl:\d+: Function load/1 has no local return +yaws_ctl.erl:\d+: Function trace/1 has no local return +yaws_ctl.erl:\d+: Function debug_dump/1 has no local return +yaws_ctl.erl:\d+: Function stats/1 has no local return +yaws_ctl.erl:\d+: Function running_config/1 has no local return +yaws_revproxy.erl:\d+: The pattern 'true' can never match the type 'false' diff -Nru yaws-2.0.6+dfsg/m4/libtool.m4 yaws-2.0.7+dfsg/m4/libtool.m4 --- yaws-2.0.6+dfsg/m4/libtool.m4 2018-06-26 09:17:04.000000000 +0000 +++ yaws-2.0.7+dfsg/m4/libtool.m4 1970-01-01 00:00:00.000000000 +0000 @@ -1,8387 +0,0 @@ -# libtool.m4 - Configure libtool for the host system. -*-Autoconf-*- -# -# Copyright (C) 1996-2001, 2003-2015 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) 2014 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 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 this program. If not, see . -]) - -# serial 58 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.62])dnl We use AC_PATH_PROGS_FEATURE_CHECK -AC_REQUIRE([AC_CONFIG_AUX_DIR_DEFAULT])dnl -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 - -_LT_SHELL_INIT([SHELL=${CONFIG_SHELL-/bin/sh}]) - -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_PREPARE_CC_BASENAME -# ----------------------- -m4_defun([_LT_PREPARE_CC_BASENAME], [ -# Calculate cc_basename. Skip known compiler wrappers and cross-prefix. -func_cc_basename () -{ - for cc_temp in @S|@*""; do - case $cc_temp in - compile | *[[\\/]]compile | ccache | *[[\\/]]ccache ) ;; - distcc | *[[\\/]]distcc | purify | *[[\\/]]purify ) ;; - \-*) ;; - *) break;; - esac - done - func_cc_basename_result=`$ECHO "$cc_temp" | $SED "s%.*/%%; s%^$host_alias-%%"` -} -])# _LT_PREPARE_CC_BASENAME - - -# _LT_CC_BASENAME(CC) -# ------------------- -# It would be clearer to call AC_REQUIREs from _LT_PREPARE_CC_BASENAME, -# but that macro is also expanded into generated libtool script, which -# arranges for $SED and $ECHO to be set by different means. -m4_defun([_LT_CC_BASENAME], -[m4_require([_LT_PREPARE_CC_BASENAME])dnl -AC_REQUIRE([_LT_DECL_SED])dnl -AC_REQUIRE([_LT_PROG_ECHO_BACKSLASH])dnl -func_cc_basename $1 -cc_basename=$func_cc_basename_result -]) - - -# _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 -AC_REQUIRE([_LT_PREPARE_SED_QUOTE_VARS])dnl -AC_REQUIRE([_LT_PROG_ECHO_BACKSLASH])dnl - -_LT_DECL([], [PATH_SEPARATOR], [1], [The PATH separator for the build system])dnl -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_PATH_CONVERSION_FUNCTIONS])dnl -m4_require([_LT_CMD_RELOAD])dnl -m4_require([_LT_CHECK_MAGIC_METHOD])dnl -m4_require([_LT_CHECK_SHAREDLIB_FROM_LINKLIB])dnl -m4_require([_LT_CMD_OLD_ARCHIVE])dnl -m4_require([_LT_CMD_GLOBAL_SYMBOLS])dnl -m4_require([_LT_WITH_SYSROOT])dnl -m4_require([_LT_CMD_TRUNCATE])dnl - -_LT_CONFIG_LIBTOOL_INIT([ -# See if we are running on zsh, and set the options that 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 - -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 set != "${COLLECT_NAMES+set}"; then - COLLECT_NAMES= - export COLLECT_NAMES - fi - ;; -esac - -# 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_PREPARE_SED_QUOTE_VARS -# -------------------------- -# Define a few sed substitution that help us do robust quoting. -m4_defun([_LT_PREPARE_SED_QUOTE_VARS], -[# Backslashify metacharacters that are still active within -# double-quoted strings. -sed_quote_subst='s/\([["`$\\]]\)/\\\1/g' - -# Same as above, but do not quote variable references. -double_quote_subst='s/\([["`\\]]\)/\\\1/g' - -# Sed substitution to delay expansion of an escaped shell variable in a -# double_quote_subst'ed string. -delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g' - -# Sed substitution to delay expansion of an escaped single quote. -delay_single_quote_subst='s/'\''/'\'\\\\\\\'\''/g' - -# Sed substitution to avoid accidental globbing in evaled expressions -no_glob_subst='s/\*/\\\*/g' -]) - -# _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 "$][$1" | $SED "$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 "$" | $SED "$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' - -# A function that is used when there is no print builtin or printf. -func_fallback_echo () -{ - eval 'cat <<_LTECHO_EOF -\$[]1 -_LTECHO_EOF' -} - -# Quote evaled strings. -for var in lt_decl_all_varnames([[ \ -]], lt_decl_quote_varnames); do - case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in - *[[\\\\\\\`\\"\\\$]]*) - eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED \\"\\\$sed_quote_subst\\"\\\`\\\\\\"" ## exclude from sc_prohibit_nested_quotes - ;; - *) - 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 \\\\""\\\\\$\$var"\\\\"\` in - *[[\\\\\\\`\\"\\\$]]*) - eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED -e \\"\\\$double_quote_subst\\" -e \\"\\\$sed_quote_subst\\" -e \\"\\\$delay_variable_subst\\"\\\`\\\\\\"" ## exclude from sc_prohibit_nested_quotes - ;; - *) - eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\"" - ;; - esac -done - -_LT_OUTPUT_LIBTOOL_INIT -]) - -# _LT_GENERATED_FILE_INIT(FILE, [COMMENT]) -# ------------------------------------ -# Generate a child script FILE with all initialization necessary to -# reuse the environment learned by the parent script, and make the -# file executable. If COMMENT is supplied, it is inserted after the -# '#!' sequence but before initialization text begins. After this -# macro, additional text can be appended to FILE to form the body of -# the child script. The macro ends with non-zero status if the -# file could not be fully written (such as if the disk is full). -m4_ifdef([AS_INIT_GENERATED], -[m4_defun([_LT_GENERATED_FILE_INIT],[AS_INIT_GENERATED($@)])], -[m4_defun([_LT_GENERATED_FILE_INIT], -[m4_require([AS_PREPARE])]dnl -[m4_pushdef([AS_MESSAGE_LOG_FD])]dnl -[lt_write_fail=0 -cat >$1 <<_ASEOF || lt_write_fail=1 -#! $SHELL -# Generated by $as_me. -$2 -SHELL=\${CONFIG_SHELL-$SHELL} -export SHELL -_ASEOF -cat >>$1 <<\_ASEOF || lt_write_fail=1 -AS_SHELL_SANITIZE -_AS_PREPARE -exec AS_MESSAGE_FD>&1 -_ASEOF -test 0 = "$lt_write_fail" && chmod +x $1[]dnl -m4_popdef([AS_MESSAGE_LOG_FD])])])# _LT_GENERATED_FILE_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]) -_LT_GENERATED_FILE_INIT(["$CONFIG_LT"], -[# Run this file to recreate a libtool stub with the current configuration.]) - -cat >>"$CONFIG_LT" <<\_LTEOF -lt_cl_silent=false -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) 2011 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. -lt_cl_success=: -test yes = "$silent" && - 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) -])# 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 that 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 -# Generated automatically by $as_me ($PACKAGE) $VERSION -# NOTE: Changes made to this file will be lost: look at ltmain.sh. - -# Provide generalized library-building support services. -# Written by Gordon Matzigkeit, 1996 - -_LT_COPYING -_LT_LIBTOOL_TAGS - -# Configured defaults for sys_lib_dlsearch_path munging. -: \${LT_SYS_LIBRARY_PATH="$configure_time_lt_sys_library_path"} - -# ### BEGIN LIBTOOL CONFIG -_LT_LIBTOOL_CONFIG_VARS -_LT_LIBTOOL_TAG_VARS -# ### END LIBTOOL CONFIG - -_LT_EOF - - cat <<'_LT_EOF' >> "$cfgfile" - -# ### BEGIN FUNCTIONS SHARED WITH CONFIGURE - -_LT_PREPARE_MUNGE_PATH_LIST -_LT_PREPARE_CC_BASENAME - -# ### END FUNCTIONS SHARED WITH CONFIGURE - -_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 set != "${COLLECT_NAMES+set}"; 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 '$q' "$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' - 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)], - [Go], [_LT_LANG(GO)], - [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 - - -m4_ifndef([AC_PROG_GO], [ -############################################################ -# NOTE: This macro has been submitted for inclusion into # -# GNU Autoconf as AC_PROG_GO. When it is available in # -# a released version of Autoconf we should remove this # -# macro and use it instead. # -############################################################ -m4_defun([AC_PROG_GO], -[AC_LANG_PUSH(Go)dnl -AC_ARG_VAR([GOC], [Go compiler command])dnl -AC_ARG_VAR([GOFLAGS], [Go compiler flags])dnl -_AC_ARG_VAR_LDFLAGS()dnl -AC_CHECK_TOOL(GOC, gccgo) -if test -z "$GOC"; then - if test -n "$ac_tool_prefix"; then - AC_CHECK_PROG(GOC, [${ac_tool_prefix}gccgo], [${ac_tool_prefix}gccgo]) - fi -fi -if test -z "$GOC"; then - AC_CHECK_PROG(GOC, gccgo, gccgo, false) -fi -])#m4_defun -])#m4_ifndef - - -# _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([AC_PROG_GO], - [LT_LANG(GO)], - [m4_define([AC_PROG_GO], defn([AC_PROG_GO])[LT_LANG(GO)])]) - -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)]) -AU_DEFUN([AC_LIBTOOL_RC], [LT_LANG(Windows Resource)]) -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], []) -dnl AC_DEFUN([AC_LIBTOOL_RC], []) - - -# _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 there is a non-empty error log, and "single_module" - # appears in it, assume the flag caused a linker warning - if test -s conftest.err && $GREP single_module conftest.err; then - cat conftest.err >&AS_MESSAGE_LOG_FD - # Otherwise, if the output was created with a 0 exit code from - # the compiler, it worked. - elif test -f libconftest.dylib && test 0 = "$_lt_result"; then - lt_cv_apple_cc_single_mod=yes - else - cat conftest.err >&AS_MESSAGE_LOG_FD - fi - rm -rf libconftest.dylib* - rm -f conftest.* - fi]) - - AC_CACHE_CHECK([for -exported_symbols_list linker flag], - [lt_cv_ld_exported_symbols_list], - [lt_cv_ld_exported_symbols_list=no - save_LDFLAGS=$LDFLAGS - echo "_main" > conftest.sym - LDFLAGS="$LDFLAGS -Wl,-exported_symbols_list,conftest.sym" - AC_LINK_IFELSE([AC_LANG_PROGRAM([],[])], - [lt_cv_ld_exported_symbols_list=yes], - [lt_cv_ld_exported_symbols_list=no]) - LDFLAGS=$save_LDFLAGS - ]) - - AC_CACHE_CHECK([for -force_load linker flag],[lt_cv_ld_force_load], - [lt_cv_ld_force_load=no - cat > conftest.c << _LT_EOF -int forced_loaded() { return 2;} -_LT_EOF - echo "$LTCC $LTCFLAGS -c -o conftest.o conftest.c" >&AS_MESSAGE_LOG_FD - $LTCC $LTCFLAGS -c -o conftest.o conftest.c 2>&AS_MESSAGE_LOG_FD - echo "$AR cru libconftest.a conftest.o" >&AS_MESSAGE_LOG_FD - $AR cru libconftest.a conftest.o 2>&AS_MESSAGE_LOG_FD - echo "$RANLIB libconftest.a" >&AS_MESSAGE_LOG_FD - $RANLIB libconftest.a 2>&AS_MESSAGE_LOG_FD - cat > conftest.c << _LT_EOF -int main() { return 0;} -_LT_EOF - echo "$LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a" >&AS_MESSAGE_LOG_FD - $LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a 2>conftest.err - _lt_result=$? - if test -s conftest.err && $GREP force_load conftest.err; then - cat conftest.err >&AS_MESSAGE_LOG_FD - elif test -f conftest && test 0 = "$_lt_result" && $GREP forced_load conftest >/dev/null 2>&1; then - lt_cv_ld_force_load=yes - else - cat conftest.err >&AS_MESSAGE_LOG_FD - fi - rm -f conftest.err libconftest.a conftest conftest.c - rm -rf conftest.dSYM - ]) - 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 yes = "$lt_cv_apple_cc_single_mod"; then - _lt_dar_single_mod='$single_module' - fi - if test yes = "$lt_cv_ld_exported_symbols_list"; 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" && test no = "$lt_cv_ld_force_load"; then - _lt_dsymutil='~$DSYMUTIL $lib || :' - else - _lt_dsymutil= - fi - ;; - esac -]) - - -# _LT_DARWIN_LINKER_FEATURES([TAG]) -# --------------------------------- -# 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 - if test yes = "$lt_cv_ld_force_load"; then - _LT_TAGVAR(whole_archive_flag_spec, $1)='`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience $wl-force_load,$conv\"; done; func_echo_all \"$new_convenience\"`' - m4_case([$1], [F77], [_LT_TAGVAR(compiler_needs_object, $1)=yes], - [FC], [_LT_TAGVAR(compiler_needs_object, $1)=yes]) - else - _LT_TAGVAR(whole_archive_flag_spec, $1)='' - fi - _LT_TAGVAR(link_all_deplibs, $1)=yes - _LT_TAGVAR(allow_undefined_flag, $1)=$_lt_dar_allow_undefined - case $cc_basename in - ifort*|nagfor*) _lt_dar_can_shared=yes ;; - *) _lt_dar_can_shared=$GCC ;; - esac - if test yes = "$_lt_dar_can_shared"; then - output_verbose_link_cmd=func_echo_all - _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 yes != "$lt_cv_apple_cc_single_mod"; 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([TAGNAME]) -# ---------------------------------- -# 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. -# Store the results from the different compilers for each TAGNAME. -# Allow to override them for all tags through lt_cv_aix_libpath. -m4_defun([_LT_SYS_MODULE_PATH_AIX], -[m4_require([_LT_DECL_SED])dnl -if test set = "${lt_cv_aix_libpath+set}"; then - aix_libpath=$lt_cv_aix_libpath -else - AC_CACHE_VAL([_LT_TAGVAR([lt_cv_aix_libpath_], [$1])], - [AC_LINK_IFELSE([AC_LANG_PROGRAM],[ - lt_aix_libpath_sed='[ - /Import File Strings/,/^$/ { - /^0/ { - s/^0 *\([^ ]*\) *$/\1/ - p - } - }]' - _LT_TAGVAR([lt_cv_aix_libpath_], [$1])=`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 "$_LT_TAGVAR([lt_cv_aix_libpath_], [$1])"; then - _LT_TAGVAR([lt_cv_aix_libpath_], [$1])=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` - fi],[]) - if test -z "$_LT_TAGVAR([lt_cv_aix_libpath_], [$1])"; then - _LT_TAGVAR([lt_cv_aix_libpath_], [$1])=/usr/lib:/lib - fi - ]) - aix_libpath=$_LT_TAGVAR([lt_cv_aix_libpath_], [$1]) -fi -])# _LT_SYS_MODULE_PATH_AIX - - -# _LT_SHELL_INIT(ARG) -# ------------------- -m4_define([_LT_SHELL_INIT], -[m4_divert_text([M4SH-INIT], [$1 -])])# _LT_SHELL_INIT - - - -# _LT_PROG_ECHO_BACKSLASH -# ----------------------- -# Find how we can fake an echo command that does not interpret backslash. -# In particular, with Autoconf 2.60 or later we add some code to the start -# of the generated configure script that will find a shell with a builtin -# printf (that we can use as an echo command). -m4_defun([_LT_PROG_ECHO_BACKSLASH], -[ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' -ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO -ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO$ECHO - -AC_MSG_CHECKING([how to print strings]) -# Test print first, because it will be a builtin if present. -if test "X`( print -r -- -n ) 2>/dev/null`" = X-n && \ - test "X`print -r -- $ECHO 2>/dev/null`" = "X$ECHO"; then - ECHO='print -r --' -elif test "X`printf %s $ECHO 2>/dev/null`" = "X$ECHO"; then - ECHO='printf %s\n' -else - # Use this function as a fallback that always works. - func_fallback_echo () - { - eval 'cat <<_LTECHO_EOF -$[]1 -_LTECHO_EOF' - } - ECHO='func_fallback_echo' -fi - -# func_echo_all arg... -# Invoke $ECHO with all args, space-separated. -func_echo_all () -{ - $ECHO "$*" -} - -case $ECHO in - printf*) AC_MSG_RESULT([printf]) ;; - print*) AC_MSG_RESULT([print -r]) ;; - *) AC_MSG_RESULT([cat]) ;; -esac - -m4_ifdef([_AS_DETECT_SUGGESTED], -[_AS_DETECT_SUGGESTED([ - test -n "${ZSH_VERSION+set}${BASH_VERSION+set}" || ( - ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' - ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO - ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO$ECHO - PATH=/empty FPATH=/empty; export PATH FPATH - test "X`printf %s $ECHO`" = "X$ECHO" \ - || test "X`print -r -- $ECHO`" = "X$ECHO" )])]) - -_LT_DECL([], [SHELL], [1], [Shell to use when invoking shell scripts]) -_LT_DECL([], [ECHO], [1], [An echo program that protects backslashes]) -])# _LT_PROG_ECHO_BACKSLASH - - -# _LT_WITH_SYSROOT -# ---------------- -AC_DEFUN([_LT_WITH_SYSROOT], -[AC_MSG_CHECKING([for sysroot]) -AC_ARG_WITH([sysroot], -[AS_HELP_STRING([--with-sysroot@<:@=DIR@:>@], - [Search for dependent libraries within DIR (or the compiler's sysroot - if not specified).])], -[], [with_sysroot=no]) - -dnl lt_sysroot will always be passed unquoted. We quote it here -dnl in case the user passed a directory name. -lt_sysroot= -case $with_sysroot in #( - yes) - if test yes = "$GCC"; then - lt_sysroot=`$CC --print-sysroot 2>/dev/null` - fi - ;; #( - /*) - lt_sysroot=`echo "$with_sysroot" | sed -e "$sed_quote_subst"` - ;; #( - no|'') - ;; #( - *) - AC_MSG_RESULT([$with_sysroot]) - AC_MSG_ERROR([The sysroot must be an absolute path.]) - ;; -esac - - AC_MSG_RESULT([${lt_sysroot:-no}]) -_LT_DECL([], [lt_sysroot], [0], [The root where to search for ]dnl -[dependent libraries, and where our libraries should be installed.])]) - -# _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 no = "$enable_libtool_lock" || 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 what ABI is being produced by ac_compile, and set mode - # options accordingly. - 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 what ABI is being produced by ac_compile, and set linker - # options accordingly. - echo '[#]line '$LINENO' "configure"' > conftest.$ac_ext - if AC_TRY_EVAL(ac_compile); then - if test yes = "$lt_cv_prog_gnu_ld"; 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* - ;; - -mips64*-*linux*) - # Find out what ABI is being produced by ac_compile, and set linker - # options accordingly. - echo '[#]line '$LINENO' "configure"' > conftest.$ac_ext - if AC_TRY_EVAL(ac_compile); then - emul=elf - case `/usr/bin/file conftest.$ac_objext` in - *32-bit*) - emul="${emul}32" - ;; - *64-bit*) - emul="${emul}64" - ;; - esac - case `/usr/bin/file conftest.$ac_objext` in - *MSB*) - emul="${emul}btsmip" - ;; - *LSB*) - emul="${emul}ltsmip" - ;; - esac - case `/usr/bin/file conftest.$ac_objext` in - *N32*) - emul="${emul}n32" - ;; - esac - LD="${LD-ld} -m $emul" - fi - rm -rf conftest* - ;; - -x86_64-*kfreebsd*-gnu|x86_64-*linux*|powerpc*-*linux*| \ -s390*-*linux*|s390*-*tpf*|sparc*-*linux*) - # Find out what ABI is being produced by ac_compile, and set linker - # options accordingly. Note that the listed cases only cover the - # situations where additional linker options are needed (such as when - # doing 32-bit compilation for a host where ld defaults to 64-bit, or - # vice versa); the common cases where no linker options are needed do - # not appear in the list. - 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*) - case `/usr/bin/file conftest.o` in - *x86-64*) - LD="${LD-ld} -m elf32_x86_64" - ;; - *) - LD="${LD-ld} -m elf_i386" - ;; - esac - ;; - powerpc64le-*linux*) - LD="${LD-ld} -m elf32lppclinux" - ;; - 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" - ;; - powerpcle-*linux*) - LD="${LD-ld} -m elf64lppc" - ;; - 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 yes != "$lt_cv_cc_needs_belf"; then - # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf - CFLAGS=$SAVE_CFLAGS - fi - ;; -*-*solaris*) - # Find out what ABI is being produced by ac_compile, and set linker - # options accordingly. - 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*) - case $host in - i?86-*-solaris*|x86_64-*-solaris*) - LD="${LD-ld} -m elf_x86_64" - ;; - sparc*-*-solaris*) - LD="${LD-ld} -m elf64_sparc" - ;; - esac - # GNU ld 2.21 introduced _sol2 emulations. Use them if available. - if ${LD-ld} -V | grep _sol2 >/dev/null 2>&1; then - LD=${LD-ld}_sol2 - fi - ;; - *) - 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_PROG_AR -# ----------- -m4_defun([_LT_PROG_AR], -[AC_CHECK_TOOLS(AR, [ar], false) -: ${AR=ar} -: ${AR_FLAGS=cru} -_LT_DECL([], [AR], [1], [The archiver]) -_LT_DECL([], [AR_FLAGS], [1], [Flags to create an archive]) - -AC_CACHE_CHECK([for archiver @FILE support], [lt_cv_ar_at_file], - [lt_cv_ar_at_file=no - AC_COMPILE_IFELSE([AC_LANG_PROGRAM], - [echo conftest.$ac_objext > conftest.lst - lt_ar_try='$AR $AR_FLAGS libconftest.a @conftest.lst >&AS_MESSAGE_LOG_FD' - AC_TRY_EVAL([lt_ar_try]) - if test 0 -eq "$ac_status"; then - # Ensure the archiver fails upon bogus file names. - rm -f conftest.$ac_objext libconftest.a - AC_TRY_EVAL([lt_ar_try]) - if test 0 -ne "$ac_status"; then - lt_cv_ar_at_file=@ - fi - fi - rm -f conftest.* libconftest.a - ]) - ]) - -if test no = "$lt_cv_ar_at_file"; then - archiver_list_spec= -else - archiver_list_spec=$lt_cv_ar_at_file -fi -_LT_DECL([], [archiver_list_spec], [1], - [How to feed a file listing to the archiver]) -])# _LT_PROG_AR - - -# _LT_CMD_OLD_ARCHIVE -# ------------------- -m4_defun([_LT_CMD_OLD_ARCHIVE], -[_LT_PROG_AR - -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 - bitrig* | openbsd*) - old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$tool_oldlib" - ;; - *) - old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$tool_oldlib" - ;; - esac - old_archive_cmds="$old_archive_cmds~\$RANLIB \$tool_oldlib" -fi - -case $host_os in - darwin*) - lock_old_archive_extraction=yes ;; - *) - lock_old_archive_extraction=no ;; -esac -_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_DECL([], [lock_old_archive_extraction], [0], - [Whether to use a lock for old archive extraction]) -])# _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" ## exclude from sc_useless_quotes_in_assignment - # 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:$LINENO: $lt_compile\"" >&AS_MESSAGE_LOG_FD) - (eval "$lt_compile" 2>conftest.err) - ac_status=$? - cat conftest.err >&AS_MESSAGE_LOG_FD - echo "$as_me:$LINENO: \$? = $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 "$_lt_compiler_boilerplate" | $SED '/^$/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 yes = "[$]$2"; 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 "$_lt_linker_boilerplate" | $SED '/^$/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 yes = "[$]$2"; 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; - ;; - - mint*) - # On MiNT this can take a long time and run out of memory. - 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; - ;; - - bitrig* | darwin* | dragonfly* | freebsd* | netbsd* | openbsd*) - # 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 - ;; - - os2*) - # The test takes a long time on OS/2. - lt_cv_sys_max_cmd_len=8192 - ;; - - 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" && \ - test undefined != "$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`env echo "$teststring$teststring" 2>/dev/null` \ - = "X$teststring$teststring"; } >/dev/null 2>&1 && - test 17 != "$i" # 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 yes = "$cross_compiling"; 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 $LINENO "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 - -/* When -fvisibility=hidden is used, assume the code has been annotated - correspondingly for the symbols needed. */ -#if defined __GNUC__ && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3)) -int fnord () __attribute__((visibility("default"))); -#endif - -int fnord () { return 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; - else puts (dlerror ()); - } - /* 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 yes != "$enable_dlopen"; 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 - ]) - ;; - - tpf*) - # Don't try to run any link tests for TPF. We know it's impossible - # because TPF is a cross-compiler, and we know how we open DSOs. - lt_cv_dlopen=dlopen - lt_cv_dlopen_libs= - lt_cv_dlopen_self=no - ;; - - *) - 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 no = "$lt_cv_dlopen"; then - enable_dlopen=no - else - enable_dlopen=yes - fi - - case $lt_cv_dlopen in - dlopen) - save_CPPFLAGS=$CPPFLAGS - test yes = "$ac_cv_header_dlfcn_h" && 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 yes = "$lt_cv_dlopen_self"; 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:$LINENO: $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:$LINENO: \$? = $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 "$_lt_compiler_boilerplate" | $SED '/^$/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 no = "$_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)" && test no != "$need_locks"; 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 no = "$hard_links"; 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 where 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 yes = "$_LT_TAGVAR(hardcode_automatic, $1)"; then - - # We can hardcode non-existent directories. - if test no != "$_LT_TAGVAR(hardcode_direct, $1)" && - # 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 no != "$_LT_TAGVAR(hardcode_shlibpath_var, $1)" && - test no != "$_LT_TAGVAR(hardcode_minus_L, $1)"; 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 relink = "$_LT_TAGVAR(hardcode_action, $1)" || - test yes = "$_LT_TAGVAR(inherit_rpath, $1)"; then - # Fast installation is not supported - enable_fast_install=no -elif test yes = "$shlibpath_overrides_runpath" || - test no = "$enable_shared"; 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_PREPARE_MUNGE_PATH_LIST -# --------------------------- -# Make sure func_munge_path_list() is defined correctly. -m4_defun([_LT_PREPARE_MUNGE_PATH_LIST], -[[# func_munge_path_list VARIABLE PATH -# ----------------------------------- -# VARIABLE is name of variable containing _space_ separated list of -# directories to be munged by the contents of PATH, which is string -# having a format: -# "DIR[:DIR]:" -# string "DIR[ DIR]" will be prepended to VARIABLE -# ":DIR[:DIR]" -# string "DIR[ DIR]" will be appended to VARIABLE -# "DIRP[:DIRP]::[DIRA:]DIRA" -# string "DIRP[ DIRP]" will be prepended to VARIABLE and string -# "DIRA[ DIRA]" will be appended to VARIABLE -# "DIR[:DIR]" -# VARIABLE will be replaced by "DIR[ DIR]" -func_munge_path_list () -{ - case x@S|@2 in - x) - ;; - *:) - eval @S|@1=\"`$ECHO @S|@2 | $SED 's/:/ /g'` \@S|@@S|@1\" - ;; - x:*) - eval @S|@1=\"\@S|@@S|@1 `$ECHO @S|@2 | $SED 's/:/ /g'`\" - ;; - *::*) - eval @S|@1=\"\@S|@@S|@1\ `$ECHO @S|@2 | $SED -e 's/.*:://' -e 's/:/ /g'`\" - eval @S|@1=\"`$ECHO @S|@2 | $SED -e 's/::.*//' -e 's/:/ /g'`\ \@S|@@S|@1\" - ;; - *) - eval @S|@1=\"`$ECHO @S|@2 | $SED 's/:/ /g'`\" - ;; - esac -} -]])# _LT_PREPARE_PATH_LIST - - -# _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 -m4_require([_LT_CHECK_SHELL_FEATURES])dnl -m4_require([_LT_PREPARE_MUNGE_PATH_LIST])dnl -AC_MSG_CHECKING([dynamic linker characteristics]) -m4_if([$1], - [], [ -if test yes = "$GCC"; then - case $host_os in - darwin*) lt_awk_arg='/^libraries:/,/LR/' ;; - *) lt_awk_arg='/^libraries:/' ;; - esac - case $host_os in - mingw* | cegcc*) lt_sed_strip_eq='s|=\([[A-Za-z]]:\)|\1|g' ;; - *) lt_sed_strip_eq='s|=/|/|g' ;; - esac - lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e $lt_sed_strip_eq` - case $lt_search_path_spec in - *\;*) - # 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 's/;/ /g'` - ;; - *) - lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED "s/$PATH_SEPARATOR/ /g"` - ;; - esac - # 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` - # ...but if some path component already ends with the multilib dir we assume - # that all is fine and trust -print-search-dirs as is (GCC 4.2? or newer). - case "$lt_multi_os_dir; $lt_search_path_spec " in - "/; "* | "/.; "* | "/./; "* | *"$lt_multi_os_dir "* | *"$lt_multi_os_dir/ "*) - lt_multi_os_dir= - ;; - esac - 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" - elif test -n "$lt_multi_os_dir"; then - 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; } -}'` - # AWK program above erroneously prepends '/' to C:/dos/paths - # for these hosts. - case $host_os in - mingw* | cegcc*) lt_search_path_spec=`$ECHO "$lt_search_path_spec" |\ - $SED 's|/\([[A-Za-z]]:\)|\1|g'` ;; - esac - sys_lib_search_path_spec=`$ECHO "$lt_search_path_spec" | $lt_NL2SP` -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 - -AC_ARG_VAR([LT_SYS_LIBRARY_PATH], -[User-defined run-time library search path.]) - -case $host_os in -aix3*) - version_type=linux # correct to gnu/linux during the next big refactor - 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 # correct to gnu/linux during the next big refactor - need_lib_prefix=no - need_version=no - hardcode_into_libs=yes - if test ia64 = "$host_cpu"; 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 - # Using Import Files as archive members, it is possible to support - # filename-based versioning of shared library archives on AIX. While - # this would work for both with and without runtime linking, it will - # prevent static linking of such archives. So we do filename-based - # shared library versioning with .so extension only, which is used - # when both runtime linking and shared linking is enabled. - # Unfortunately, runtime linking may impact performance, so we do - # not want this to be the default eventually. Also, we use the - # versioned .so libs for executables only if there is the -brtl - # linker flag in LDFLAGS as well, or --with-aix-soname=svr4 only. - # To allow for filename-based versioning support, we need to create - # libNAME.so.V as an archive file, containing: - # *) an Import File, referring to the versioned filename of the - # archive as well as the shared archive member, telling the - # bitwidth (32 or 64) of that shared object, and providing the - # list of exported symbols of that shared object, eventually - # decorated with the 'weak' keyword - # *) the shared object with the F_LOADONLY flag set, to really avoid - # it being seen by the linker. - # At run time we better use the real file rather than another symlink, - # but for link time we create the symlink libNAME.so -> libNAME.so.V - - case $with_aix_soname,$aix_use_runtimelinking in - # AIX (on Power*) has no versioning support, so currently we cannot hardcode correct - # soname into executable. Probably we can add versioning support to - # collect2, so additional links can be useful in future. - aix,yes) # traditional libtool - dynamic_linker='AIX unversionable lib.so' - # 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' - ;; - aix,no) # traditional AIX only - dynamic_linker='AIX lib.a[(]lib.so.V[)]' - # 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' - ;; - svr4,*) # full svr4 only - dynamic_linker="AIX lib.so.V[(]$shared_archive_member_spec.o[)]" - library_names_spec='$libname$release$shared_ext$major $libname$shared_ext' - # We do not specify a path in Import Files, so LIBPATH fires. - shlibpath_overrides_runpath=yes - ;; - *,yes) # both, prefer svr4 - dynamic_linker="AIX lib.so.V[(]$shared_archive_member_spec.o[)], lib.a[(]lib.so.V[)]" - library_names_spec='$libname$release$shared_ext$major $libname$shared_ext' - # unpreferred sharedlib libNAME.a needs extra handling - postinstall_cmds='test -n "$linkname" || linkname="$realname"~func_stripname "" ".so" "$linkname"~$install_shared_prog "$dir/$func_stripname_result.$libext" "$destdir/$func_stripname_result.$libext"~test -z "$tstripme" || test -z "$striplib" || $striplib "$destdir/$func_stripname_result.$libext"' - postuninstall_cmds='for n in $library_names $old_library; do :; done~func_stripname "" ".so" "$n"~test "$func_stripname_result" = "$n" || func_append rmfiles " $odir/$func_stripname_result.$libext"' - # We do not specify a path in Import Files, so LIBPATH fires. - shlibpath_overrides_runpath=yes - ;; - *,no) # both, prefer aix - dynamic_linker="AIX lib.a[(]lib.so.V[)], lib.so.V[(]$shared_archive_member_spec.o[)]" - library_names_spec='$libname$release.a $libname.a' - soname_spec='$libname$release$shared_ext$major' - # unpreferred sharedlib libNAME.so.V and symlink libNAME.so need extra handling - postinstall_cmds='test -z "$dlname" || $install_shared_prog $dir/$dlname $destdir/$dlname~test -z "$tstripme" || test -z "$striplib" || $striplib $destdir/$dlname~test -n "$linkname" || linkname=$realname~func_stripname "" ".a" "$linkname"~(cd "$destdir" && $LN_S -f $dlname $func_stripname_result.so)' - postuninstall_cmds='test -z "$dlname" || func_append rmfiles " $odir/$dlname"~for n in $old_library $library_names; do :; done~func_stripname "" ".a" "$n"~func_append rmfiles " $odir/$func_stripname_result.so"' - ;; - esac - 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=`func_echo_all "$lib" | $SED '\''s%^.*/\([[^/]]*\)\.ixlibrary$%\1%'\''`; $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 # correct to gnu/linux during the next big refactor - 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,$cc_basename in - yes,*) - # gcc - 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' -m4_if([$1], [],[ - sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/lib/w32api"]) - ;; - mingw* | cegcc*) - # MinGW DLLs use traditional 'lib' prefix - soname_spec='$libname`echo $release | $SED -e 's/[[.]]/-/g'`$versuffix$shared_ext' - ;; - 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 - dynamic_linker='Win32 ld.exe' - ;; - - *,cl*) - # Native MSVC - libname_spec='$name' - soname_spec='$libname`echo $release | $SED -e 's/[[.]]/-/g'`$versuffix$shared_ext' - library_names_spec='$libname.dll.lib' - - case $build_os in - mingw*) - sys_lib_search_path_spec= - lt_save_ifs=$IFS - IFS=';' - for lt_path in $LIB - do - IFS=$lt_save_ifs - # Let DOS variable expansion print the short 8.3 style file name. - lt_path=`cd "$lt_path" 2>/dev/null && cmd //C "for %i in (".") do @echo %~si"` - sys_lib_search_path_spec="$sys_lib_search_path_spec $lt_path" - done - IFS=$lt_save_ifs - # Convert to MSYS style. - sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | sed -e 's|\\\\|/|g' -e 's| \\([[a-zA-Z]]\\):| /\\1|g' -e 's|^ ||'` - ;; - cygwin*) - # Convert to unix form, then to dos form, then back to unix form - # but this time dos style (no spaces!) so that the unix form looks - # like /cygdrive/c/PROGRA~1:/cygdr... - sys_lib_search_path_spec=`cygpath --path --unix "$LIB"` - sys_lib_search_path_spec=`cygpath --path --dos "$sys_lib_search_path_spec" 2>/dev/null` - sys_lib_search_path_spec=`cygpath --path --unix "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` - ;; - *) - sys_lib_search_path_spec=$LIB - if $ECHO "$sys_lib_search_path_spec" | [$GREP ';[c-zC-Z]:/' >/dev/null]; then - # It is most probably a Windows format PATH. - 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 - # FIXME: find the short name or the path components, as spaces are - # common. (e.g. "Program Files" -> "PROGRA~1") - ;; - esac - - # 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' - postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ - dlpath=$dir/\$dldll~ - $RM \$dlpath' - shlibpath_overrides_runpath=yes - dynamic_linker='Win32 link.exe' - ;; - - *) - # Assume MSVC wrapper - library_names_spec='$libname`echo $release | $SED -e 's/[[.]]/-/g'`$versuffix$shared_ext $libname.lib' - dynamic_linker='Win32 ld.exe' - ;; - esac - # 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 # correct to gnu/linux during the next big refactor - 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 - ;; - -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[[23]].*) 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$major $libname$shared_ext' - soname_spec='$libname$release$shared_ext$major' - 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 - ;; - -haiku*) - version_type=linux # correct to gnu/linux during the next big refactor - need_lib_prefix=no - need_version=no - dynamic_linker="$host_os runtime_loader" - 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=LIBRARY_PATH - shlibpath_overrides_runpath=no - sys_lib_dlsearch_path_spec='/boot/home/config/lib /boot/common/lib /boot/system/lib' - 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 32 = "$HPUX_IA64_MODE"; then - sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib" - sys_lib_dlsearch_path_spec=/usr/lib/hpux32 - else - sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64" - sys_lib_dlsearch_path_spec=/usr/lib/hpux64 - fi - ;; - 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' - # or fails outright, so override atomically: - install_override_mode=555 - ;; - -interix[[3-9]]*) - version_type=linux # correct to gnu/linux during the next big refactor - 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 yes = "$lt_cv_prog_gnu_ld"; then - version_type=linux # correct to gnu/linux during the next big refactor - 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 - ;; - -linux*android*) - version_type=none # Android doesn't support versioned libraries. - need_lib_prefix=no - need_version=no - library_names_spec='$libname$release$shared_ext' - soname_spec='$libname$release$shared_ext' - finish_cmds= - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - - # 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 - - dynamic_linker='Android linker' - # Don't embed -rpath directories since the linker doesn't support them. - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' - ;; - -# This must be glibc/ELF. -linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) - version_type=linux # correct to gnu/linux during the next big refactor - 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 - AC_CACHE_VAL([lt_cv_shlibpath_overrides_runpath], - [lt_cv_shlibpath_overrides_runpath=no - 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], - [lt_cv_shlibpath_overrides_runpath=yes])]) - LDFLAGS=$save_LDFLAGS - libdir=$save_libdir - ]) - shlibpath_overrides_runpath=$lt_cv_shlibpath_overrides_runpath - - # 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 - - # Ideally, we could use ldconfig to report *all* directores which are - # searched for libraries, however this is still not possible. Aside from not - # being certain /sbin/ldconfig is available, command - # 'ldconfig -N -X -v | grep ^/' on 64bit Fedora does not report /usr/lib64, - # even though it is searched at run-time. Try to do the best guess by - # appending ld.so.conf contents (and includes) 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;s/"//g;/^$/d' | tr '\n' ' '` - sys_lib_dlsearch_path_spec="/lib /usr/lib $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' - ;; - -netbsdelf*-gnu) - version_type=linux - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=no - hardcode_into_libs=yes - dynamic_linker='NetBSD ld.elf_so' - ;; - -netbsd*) - version_type=sunos - need_lib_prefix=no - 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 # correct to gnu/linux during the next big refactor - 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* | bitrig*) - version_type=sunos - sys_lib_dlsearch_path_spec=/usr/lib - need_lib_prefix=no - if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then - need_version=no - else - need_version=yes - fi - 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 - shlibpath_overrides_runpath=yes - ;; - -os2*) - libname_spec='$name' - version_type=windows - shrext_cmds=.dll - need_version=no - need_lib_prefix=no - # OS/2 can only load a DLL with a base name of 8 characters or less. - soname_spec='`test -n "$os2dllname" && libname="$os2dllname"; - v=$($ECHO $release$versuffix | tr -d .-); - n=$($ECHO $libname | cut -b -$((8 - ${#v})) | tr . _); - $ECHO $n$v`$shared_ext' - library_names_spec='${libname}_dll.$libext' - dynamic_linker='OS/2 ld.exe' - shlibpath_var=BEGINLIBPATH - sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" - sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec - 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' - ;; - -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 # correct to gnu/linux during the next big refactor - 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 yes = "$with_gnu_ld"; then - need_lib_prefix=no - fi - need_version=yes - ;; - -sysv4 | sysv4.3*) - version_type=linux # correct to gnu/linux during the next big refactor - 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 # correct to gnu/linux during the next big refactor - 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=sco - 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 yes = "$with_gnu_ld"; 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 # correct to gnu/linux during the next big refactor - 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 # correct to gnu/linux during the next big refactor - 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 no = "$dynamic_linker" && can_build_shared=no - -variables_saved_for_relink="PATH $shlibpath_var $runpath_var" -if test yes = "$GCC"; then - variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" -fi - -if test set = "${lt_cv_sys_lib_search_path_spec+set}"; then - sys_lib_search_path_spec=$lt_cv_sys_lib_search_path_spec -fi - -if test set = "${lt_cv_sys_lib_dlsearch_path_spec+set}"; then - sys_lib_dlsearch_path_spec=$lt_cv_sys_lib_dlsearch_path_spec -fi - -# remember unaugmented sys_lib_dlsearch_path content for libtool script decls... -configure_time_dlsearch_path=$sys_lib_dlsearch_path_spec - -# ... but it needs LT_SYS_LIBRARY_PATH munging for other configure-time code -func_munge_path_list sys_lib_dlsearch_path_spec "$LT_SYS_LIBRARY_PATH" - -# to be used as default LT_SYS_LIBRARY_PATH value in generated libtool -configure_time_lt_sys_library_path=$LT_SYS_LIBRARY_PATH - -_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([], [install_override_mode], [1], - [Permission mode override for installation of shared libraries]) -_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], [configure_time_dlsearch_path], [2], - [Detected run-time system search path for libraries]) -_LT_DECL([], [configure_time_lt_sys_library_path], [2], - [Explicit LT_SYS_LIBRARY_PATH set during ./configure time]) -])# _LT_SYS_DYNAMIC_LINKER - - -# _LT_PATH_TOOL_PREFIX(TOOL) -# -------------------------- -# find a file program that 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 that 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 -m4_require([_LT_PROG_ECHO_BACKSLASH])dnl - -AC_ARG_WITH([gnu-ld], - [AS_HELP_STRING([--with-gnu-ld], - [assume the C compiler uses GNU ld @<:@default=no@:>@])], - [test no = "$withval" || with_gnu_ld=yes], - [with_gnu_ld=no])dnl - -ac_prog=ld -if test yes = "$GCC"; 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 yes = "$with_gnu_ld"; 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 conftest.i -cat conftest.i conftest.i >conftest2.i -: ${lt_DD:=$DD} -AC_PATH_PROGS_FEATURE_CHECK([lt_DD], [dd], -[if "$ac_path_lt_DD" bs=32 count=1 conftest.out 2>/dev/null; then - cmp -s conftest.i conftest.out \ - && ac_cv_path_lt_DD="$ac_path_lt_DD" ac_path_lt_DD_found=: -fi]) -rm -f conftest.i conftest2.i conftest.out]) -])# _LT_PATH_DD - - -# _LT_CMD_TRUNCATE -# ---------------- -# find command to truncate a binary pipe -m4_defun([_LT_CMD_TRUNCATE], -[m4_require([_LT_PATH_DD]) -AC_CACHE_CHECK([how to truncate binary pipes], [lt_cv_truncate_bin], -[printf 0123456789abcdef0123456789abcdef >conftest.i -cat conftest.i conftest.i >conftest2.i -lt_cv_truncate_bin= -if "$ac_cv_path_lt_DD" bs=32 count=1 conftest.out 2>/dev/null; then - cmp -s conftest.i conftest.out \ - && lt_cv_truncate_bin="$ac_cv_path_lt_DD bs=4096 count=1" -fi -rm -f conftest.i conftest2.i conftest.out -test -z "$lt_cv_truncate_bin" && lt_cv_truncate_bin="$SED -e 4q"]) -_LT_DECL([lt_truncate_bin], [lt_cv_truncate_bin], [1], - [Command to truncate a binary pipe]) -])# _LT_CMD_TRUNCATE - - -# _LT_CHECK_MAGIC_METHOD -# ---------------------- -# how to check for library dependencies -# -- PORTME fill in with the dynamic library characteristics -m4_defun([_LT_CHECK_MAGIC_METHOD], -[m4_require([_LT_DECL_EGREP]) -m4_require([_LT_DECL_OBJDUMP]) -AC_CACHE_CHECK([how to recognize dependent libraries], -lt_cv_deplibs_check_method, -[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 -# that 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 - # Keep this pattern in sync with the one in func_win32_libid. - lt_cv_deplibs_check_method='file_magic file format (pei*-i386(.*architecture: i386)?|pe-arm-wince|pe-x86-64)' - 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 - ;; - -haiku*) - 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])(-bit)?( [LM]SB)? 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 glibc/ELF. -linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) - lt_cv_deplibs_check_method=pass_all - ;; - -netbsd* | netbsdelf*-gnu) - if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then - lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$' - else - 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* | bitrig*) - if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; 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 - ;; -os2*) - lt_cv_deplibs_check_method=pass_all - ;; -esac -]) - -file_magic_glob= -want_nocaseglob=no -if test "$build" = "$host"; then - case $host_os in - mingw* | pw32*) - if ( shopt | grep nocaseglob ) >/dev/null 2>&1; then - want_nocaseglob=yes - else - file_magic_glob=`echo aAbBcCdDeEfFgGhHiIjJkKlLmMnNoOpPqQrRsStTuUvVwWxXyYzZ | $SED -e "s/\(..\)/s\/[[\1]]\/[[\1]]\/g;/g"` - fi - ;; - esac -fi - -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_DECL([], [file_magic_glob], [1], - [How to find potential files when deplibs_check_method = "file_magic"]) -_LT_DECL([], [want_nocaseglob], [1], - [Find potential files using nocaseglob 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 - # MSYS converts /dev/null to NUL, MinGW nm treats NUL as empty - case $build_os in - mingw*) lt_bad_file=conftest.nm/nofile ;; - *) lt_bad_file=/dev/null ;; - esac - case `"$tmp_nm" -B $lt_bad_file 2>&1 | sed '1q'` in - *$lt_bad_file* | *'Invalid file or object type'*) - lt_cv_path_NM="$tmp_nm -B" - break 2 - ;; - *) - case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in - */dev/null*) - lt_cv_path_NM="$tmp_nm -p" - break 2 - ;; - *) - 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 no != "$lt_cv_path_NM"; then - NM=$lt_cv_path_NM -else - # Didn't find any BSD compatible name lister, look for dumpbin. - if test -n "$DUMPBIN"; then : - # Let the user override the test. - else - AC_CHECK_TOOLS(DUMPBIN, [dumpbin "link -dump"], :) - case `$DUMPBIN -symbols -headers /dev/null 2>&1 | sed '1q'` in - *COFF*) - DUMPBIN="$DUMPBIN -symbols -headers" - ;; - *) - DUMPBIN=: - ;; - esac - fi - 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:$LINENO: $ac_compile\"" >&AS_MESSAGE_LOG_FD) - (eval "$ac_compile" 2>conftest.err) - cat conftest.err >&AS_MESSAGE_LOG_FD - (eval echo "\"\$as_me:$LINENO: $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:$LINENO: 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_CHECK_SHAREDLIB_FROM_LINKLIB -# -------------------------------- -# how to determine the name of the shared library -# associated with a specific link library. -# -- PORTME fill in with the dynamic library characteristics -m4_defun([_LT_CHECK_SHAREDLIB_FROM_LINKLIB], -[m4_require([_LT_DECL_EGREP]) -m4_require([_LT_DECL_OBJDUMP]) -m4_require([_LT_DECL_DLLTOOL]) -AC_CACHE_CHECK([how to associate runtime and link libraries], -lt_cv_sharedlib_from_linklib_cmd, -[lt_cv_sharedlib_from_linklib_cmd='unknown' - -case $host_os in -cygwin* | mingw* | pw32* | cegcc*) - # two different shell functions defined in ltmain.sh; - # decide which one to use based on capabilities of $DLLTOOL - case `$DLLTOOL --help 2>&1` in - *--identify-strict*) - lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib - ;; - *) - lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib_fallback - ;; - esac - ;; -*) - # fallback: assume linklib IS sharedlib - lt_cv_sharedlib_from_linklib_cmd=$ECHO - ;; -esac -]) -sharedlib_from_linklib_cmd=$lt_cv_sharedlib_from_linklib_cmd -test -z "$sharedlib_from_linklib_cmd" && sharedlib_from_linklib_cmd=$ECHO - -_LT_DECL([], [sharedlib_from_linklib_cmd], [1], - [Command to associate shared and link libraries]) -])# _LT_CHECK_SHAREDLIB_FROM_LINKLIB - - -# _LT_PATH_MANIFEST_TOOL -# ---------------------- -# locate the manifest tool -m4_defun([_LT_PATH_MANIFEST_TOOL], -[AC_CHECK_TOOL(MANIFEST_TOOL, mt, :) -test -z "$MANIFEST_TOOL" && MANIFEST_TOOL=mt -AC_CACHE_CHECK([if $MANIFEST_TOOL is a manifest tool], [lt_cv_path_mainfest_tool], - [lt_cv_path_mainfest_tool=no - echo "$as_me:$LINENO: $MANIFEST_TOOL '-?'" >&AS_MESSAGE_LOG_FD - $MANIFEST_TOOL '-?' 2>conftest.err > conftest.out - cat conftest.err >&AS_MESSAGE_LOG_FD - if $GREP 'Manifest Tool' conftest.out > /dev/null; then - lt_cv_path_mainfest_tool=yes - fi - rm -f conftest*]) -if test yes != "$lt_cv_path_mainfest_tool"; then - MANIFEST_TOOL=: -fi -_LT_DECL([], [MANIFEST_TOOL], [1], [Manifest tool])dnl -])# _LT_PATH_MANIFEST_TOOL - - -# _LT_DLL_DEF_P([FILE]) -# --------------------- -# True iff FILE is a Windows DLL '.def' file. -# Keep in sync with func_dll_def_p in the libtool script -AC_DEFUN([_LT_DLL_DEF_P], -[dnl - test DEF = "`$SED -n dnl - -e '\''s/^[[ ]]*//'\'' dnl Strip leading whitespace - -e '\''/^\(;.*\)*$/d'\'' dnl Delete empty lines and comments - -e '\''s/^\(EXPORTS\|LIBRARY\)\([[ ]].*\)*$/DEF/p'\'' dnl - -e q dnl Only consider the first "real" line - $1`" dnl -])# _LT_DLL_DEF_P - - -# LT_LIB_M -# -------- -# check for math library -AC_DEFUN([LT_LIB_M], -[AC_REQUIRE([AC_CANONICAL_HOST])dnl -LIBM= -case $host in -*-*-beos* | *-*-cegcc* | *-*-cygwin* | *-*-haiku* | *-*-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 yes = "$GCC"; then - case $cc_basename in - nvcc*) - _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -Xcompiler -fno-builtin' ;; - *) - _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin' ;; - esac - - _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([AC_PROG_AWK])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 ia64 = "$host_cpu"; 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 - -if test "$lt_cv_nm_interface" = "MS dumpbin"; then - # Gets list of data symbols to import. - lt_cv_sys_global_symbol_to_import="sed -n -e 's/^I .* \(.*\)$/\1/p'" - # Adjust the below global symbol transforms to fixup imported variables. - lt_cdecl_hook=" -e 's/^I .* \(.*\)$/extern __declspec(dllimport) char \1;/p'" - lt_c_name_hook=" -e 's/^I .* \(.*\)$/ {\"\1\", (void *) 0},/p'" - lt_c_name_lib_hook="\ - -e 's/^I .* \(lib.*\)$/ {\"\1\", (void *) 0},/p'\ - -e 's/^I .* \(.*\)$/ {\"lib\1\", (void *) 0},/p'" -else - # Disable hooks by default. - lt_cv_sys_global_symbol_to_import= - lt_cdecl_hook= - lt_c_name_hook= - lt_c_name_lib_hook= -fi - -# 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"\ -$lt_cdecl_hook\ -" -e 's/^T .* \(.*\)$/extern int \1();/p'"\ -" -e 's/^$symcode$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"\ -$lt_c_name_hook\ -" -e 's/^: \(.*\) .*$/ {\"\1\", (void *) 0},/p'"\ -" -e 's/^$symcode$symcode* .* \(.*\)$/ {\"\1\", (void *) \&\1},/p'" - -# Transform an extracted symbol line into symbol name with lib prefix and -# symbol address. -lt_cv_sys_global_symbol_to_c_name_address_lib_prefix="sed -n"\ -$lt_c_name_lib_hook\ -" -e 's/^: \(.*\) .*$/ {\"\1\", (void *) 0},/p'"\ -" -e 's/^$symcode$symcode* .* \(lib.*\)$/ {\"\1\", (void *) \&\1},/p'"\ -" -e 's/^$symcode$symcode* .* \(.*\)$/ {\"lib\1\", (void *) \&\1},/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, - # D for any global variable and I for any imported 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};"\ -" /^COFF SYMBOL TABLE/{for(i in hide) delete hide[i]};"\ -" /Section length .*#relocs.*(pick any)/{hide[last_section]=1};"\ -" /^ *Symbol name *: /{split(\$ 0,sn,\":\"); si=substr(sn[2],2)};"\ -" /^ *Type *: code/{print \"T\",si,substr(si,length(prfx))};"\ -" /^ *Type *: data/{print \"I\",si,substr(si,length(prfx))};"\ -" \$ 0!~/External *\|/{next};"\ -" / 0+ UNDEF /{next}; / UNDEF \([^|]\)*()/{next};"\ -" {if(hide[section]) next};"\ -" {f=\"D\"}; \$ 0~/\(\).*\|/{f=\"T\"};"\ -" {split(\$ 0,a,/\||\r/); split(a[2],s)};"\ -" s[1]~/^[@?]/{print f,s[1],s[1]; next};"\ -" s[1]~prfx {split(s[1],t,\"@\"); print f,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 - lt_cv_sys_global_symbol_pipe="$lt_cv_sys_global_symbol_pipe | sed '/ __gnu_lto/d'" - - # 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 -/* Keep this code in sync between libtool.m4, ltmain, lt_system.h, and tests. */ -#if defined _WIN32 || defined __CYGWIN__ || defined _WIN32_WCE -/* DATA imports from DLLs on WIN32 can't be const, because runtime - relocations are performed -- see ld's documentation on pseudo-relocs. */ -# define LT@&t@_DLSYM_CONST -#elif defined __osf__ -/* This system does not cope well with relocations in const data. */ -# define LT@&t@_DLSYM_CONST -#else -# define LT@&t@_DLSYM_CONST const -#endif - -#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. */ -LT@&t@_DLSYM_CONST struct { - const char *name; - void *address; -} -lt__PROGRAM__LTX_preloaded_symbols[[]] = -{ - { "@PROGRAM@", (void *) 0 }, -_LT_EOF - $SED "s/^$symcode$symcode* .* \(.*\)$/ {\"\1\", (void *) \&\1},/" < "$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_globsym_save_LIBS=$LIBS - lt_globsym_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_globsym_save_LIBS - CFLAGS=$lt_globsym_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 yes = "$pipe_works"; 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 - -# Response file support. -if test "$lt_cv_nm_interface" = "MS dumpbin"; then - nm_file_list_spec='@' -elif $NM --help 2>/dev/null | grep '[[@]]FILE' >/dev/null; then - nm_file_list_spec='@' -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_import], [lt_cv_sys_global_symbol_to_import], [1], - [Transform the output of nm into a list of symbols to manually relocate]) -_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_DECL([nm_interface], [lt_cv_nm_interface], [1], - [The name lister interface]) -_LT_DECL([], [nm_file_list_spec], [1], - [Specify filename containing input files for $NM]) -]) # _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)= - -m4_if([$1], [CXX], [ - # C++ specific cases for pic, static, wl, etc. - if test yes = "$GXX"; 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 ia64 = "$host_cpu"; then - # AIX 5 now supports IA64 processor - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - fi - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' - ;; - - 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']) - case $host_os in - os2*) - _LT_TAGVAR(lt_prog_compiler_static, $1)='$wl-static' - ;; - esac - ;; - 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)= - ;; - haiku*) - # PIC is the default for Haiku. - # The "-static" flag exists, but is broken. - _LT_TAGVAR(lt_prog_compiler_static, $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 ia64 = "$host_cpu"; 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 - ;; - 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). - m4_if([$1], [GCJ], [], - [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT']) - ;; - 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 ia64 != "$host_cpu"; 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 | kopensolaris*-gnu | 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* | bgxl[[cC]]* | mpixl[[cC]]*) - # IBM XL 8.0, 9.0 on PPC and BlueGene - _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* | netbsdelf*-gnu) - ;; - *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* | sunCC*) - # 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 yes = "$GCC"; 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 ia64 = "$host_cpu"; then - # AIX 5 now supports IA64 processor - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - fi - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' - ;; - - 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']) - case $host_os in - os2*) - _LT_TAGVAR(lt_prog_compiler_static, $1)='$wl-static' - ;; - esac - ;; - - 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' - ;; - - haiku*) - # PIC is the default for Haiku. - # The "-static" flag exists, but is broken. - _LT_TAGVAR(lt_prog_compiler_static, $1)= - ;; - - hpux*) - # PIC is the default for 64-bit PA HP-UX, but not for 32-bit - # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag - # sets the default TLS model and affects inlining. - case $host_cpu in - hppa*64*) - # +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 - - case $cc_basename in - nvcc*) # Cuda Compiler Driver 2.2 - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Xlinker ' - if test -n "$_LT_TAGVAR(lt_prog_compiler_pic, $1)"; then - _LT_TAGVAR(lt_prog_compiler_pic, $1)="-Xcompiler $_LT_TAGVAR(lt_prog_compiler_pic, $1)" - fi - ;; - 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 ia64 = "$host_cpu"; 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 - ;; - - 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' - case $cc_basename in - nagfor*) - # NAG Fortran compiler - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,-Wl,,' - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - ;; - esac - ;; - - 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']) - case $host_os in - os2*) - _LT_TAGVAR(lt_prog_compiler_static, $1)='$wl-static' - ;; - esac - ;; - - 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 | kopensolaris*-gnu | 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' - ;; - nagfor*) - # NAG Fortran compiler - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,-Wl,,' - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - ;; - tcc*) - # Fabrice Bellard et al's Tiny 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)='-static' - ;; - pgcc* | pgf77* | pgf90* | pgf95* | pgfortran*) - # 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* | bgxl* | bgf* | mpixl*) - # IBM XL C 8.0/Fortran 10.1, 11.1 on PPC and BlueGene - _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\ Ceres\ Fortran* | *Sun*Fortran*\ [[1-7]].* | *Sun*Fortran*\ 8.[[0-3]]*) - # 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)='' - ;; - *Sun\ F* | *Sun*Fortran*) - _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 ' - ;; - *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,' - ;; - *Intel*\ [[CF]]*Compiler*) - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' - ;; - *Portland\ Group*) - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fpic' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - ;; - 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* | sunf77* | sunf90* | sunf95*) - _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 that 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_CACHE_CHECK([for $compiler option to produce PIC], - [_LT_TAGVAR(lt_cv_prog_compiler_pic, $1)], - [_LT_TAGVAR(lt_cv_prog_compiler_pic, $1)=$_LT_TAGVAR(lt_prog_compiler_pic, $1)]) -_LT_TAGVAR(lt_prog_compiler_pic, $1)=$_LT_TAGVAR(lt_cv_prog_compiler_pic, $1) - -# -# 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]) - -_LT_TAGDECL([wl], [lt_prog_compiler_wl], [1], - [How to pass a linker flag through the compiler]) -# -# 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_PATH_MANIFEST_TOOL])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' - _LT_TAGVAR(exclude_expsyms, $1)=['_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*'] - 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 GNU nm, but means don't demangle to AIX nm. - # Without the "-l" option, or with the "-B" option, AIX nm treats - # weak defined symbols like other global defined symbols, whereas - # GNU nm marks them as "W". - # While the 'weak' keyword is ignored in the Export File, we need - # it in the Import File for the 'aix-soname' feature, so we have - # to replace the "-B" option with "-P" for AIX 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") || (\$ 2 == "W")) && ([substr](\$ 3,1,1) != ".")) { if (\$ 2 == "W") { print \$ 3 " weak" } else { print \$ 3 } } }'\'' | sort -u > $export_symbols' - else - _LT_TAGVAR(export_symbols_cmds, $1)='`func_echo_all $NM | $SED -e '\''s/B\([[^B]]*\)$/P\1/'\''` -PCpgl $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) && ([substr](\$ 1,1,1) != ".")) { if ((\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) { print \$ 1 " weak" } else { print \$ 1 } } }'\'' | sort -u > $export_symbols' - fi - ;; - pw32*) - _LT_TAGVAR(export_symbols_cmds, $1)=$ltdll_cmds - ;; - cygwin* | mingw* | cegcc*) - case $cc_basename in - cl*) - _LT_TAGVAR(exclude_expsyms, $1)='_NULL_IMPORT_DESCRIPTOR|_IMPORT_DESCRIPTOR_.*' - ;; - *) - _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1 DATA/;s/^.*[[ ]]__nm__\([[^ ]]*\)[[ ]][[^ ]]*/\1 DATA/;/^I[[ ]]/d;/^[[AITW]][[ ]]/s/.* //'\'' | sort | uniq > $export_symbols' - _LT_TAGVAR(exclude_expsyms, $1)=['[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname'] - ;; - esac - ;; - linux* | k*bsd*-gnu | gnu*) - _LT_TAGVAR(link_all_deplibs, $1)=no - ;; - *) - _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' - ;; - esac -], [ - 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_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 yes != "$GCC"; then - with_gnu_ld=no - fi - ;; - interix*) - # we just hope/assume this is gcc and not c89 (= MSVC++) - with_gnu_ld=yes - ;; - openbsd* | bitrig*) - with_gnu_ld=no - ;; - linux* | k*bsd*-gnu | gnu*) - _LT_TAGVAR(link_all_deplibs, $1)=no - ;; - esac - - _LT_TAGVAR(ld_shlibs, $1)=yes - - # On some targets, GNU ld is compatible enough with the native linker - # that we're better off using the native interface for both. - lt_use_gnu_ld_interface=no - if test yes = "$with_gnu_ld"; then - case $host_os in - aix*) - # The AIX port of GNU ld has always aspired to compatibility - # with the native linker. However, as the warning in the GNU ld - # block says, versions before 2.19.5* couldn't really create working - # shared libraries, regardless of the interface used. - case `$LD -v 2>&1` in - *\ \(GNU\ Binutils\)\ 2.19.5*) ;; - *\ \(GNU\ Binutils\)\ 2.[[2-9]]*) ;; - *\ \(GNU\ Binutils\)\ [[3-9]]*) ;; - *) - lt_use_gnu_ld_interface=yes - ;; - esac - ;; - *) - lt_use_gnu_ld_interface=yes - ;; - esac - fi - - if test yes = "$lt_use_gnu_ld_interface"; 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 | $SED -e 's/([^)]\+)\s\+//' 2>&1` in - *GNU\ gold*) supports_anon_versioning=yes ;; - *\ [[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 ia64 != "$host_cpu"; then - _LT_TAGVAR(ld_shlibs, $1)=no - cat <<_LT_EOF 1>&2 - -*** Warning: the GNU linker, at least up to release 2.19, 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 install binutils -*** 2.20 or above, or modify your PATH so that a non-GNU linker is found. -*** You will then need to restart the configuration process. - -_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(export_dynamic_flag_spec, $1)='$wl--export-all-symbols' - _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/;s/^.*[[ ]]__nm__\([[^ ]]*\)[[ ]][[^ ]]*/\1 DATA/;/^I[[ ]]/d;/^[[AITW]][[ ]]/s/.* //'\'' | sort | uniq > $export_symbols' - _LT_TAGVAR(exclude_expsyms, $1)=['[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname'] - - 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, use it as - # is; otherwise, prepend EXPORTS... - _LT_TAGVAR(archive_expsym_cmds, $1)='if _LT_DLL_DEF_P([$export_symbols]); 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 - ;; - - haiku*) - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' - _LT_TAGVAR(link_all_deplibs, $1)=yes - ;; - - os2*) - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' - _LT_TAGVAR(hardcode_minus_L, $1)=yes - _LT_TAGVAR(allow_undefined_flag, $1)=unsupported - shrext_cmds=.dll - _LT_TAGVAR(archive_cmds, $1)='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ - $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ - $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ - $ECHO EXPORTS >> $output_objdir/$libname.def~ - emxexp $libobjs | $SED /"_DLL_InitTerm"/d >> $output_objdir/$libname.def~ - $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ - emximp -o $lib $output_objdir/$libname.def' - _LT_TAGVAR(archive_expsym_cmds, $1)='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ - $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ - $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ - $ECHO EXPORTS >> $output_objdir/$libname.def~ - prefix_cmds="$SED"~ - if test EXPORTS = "`$SED 1q $export_symbols`"; then - prefix_cmds="$prefix_cmds -e 1d"; - fi~ - prefix_cmds="$prefix_cmds -e \"s/^\(.*\)$/_\1/g\""~ - cat $export_symbols | $prefix_cmds >> $output_objdir/$libname.def~ - $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ - emximp -o $lib $output_objdir/$libname.def' - _LT_TAGVAR(old_archive_From_new_cmds, $1)='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def' - _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes - ;; - - 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 | kopensolaris*-gnu) - tmp_diet=no - if test linux-dietlibc = "$host_os"; 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 no = "$tmp_diet" - then - tmp_addflag=' $pic_flag' - 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; func_echo_all \"$new_convenience\"` $wl--no-whole-archive' - tmp_addflag=' $pic_flag' - ;; - pgf77* | pgf90* | pgf95* | pgfortran*) - # 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; func_echo_all \"$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' ;; - nagfor*) # NAGFOR 5.3 - tmp_sharedflag='-Wl,-shared' ;; - xl[[cC]]* | bgxl[[cC]]* | mpixl[[cC]]*) # IBM XL C 8.0 on PPC (deal with xlf below) - tmp_sharedflag='-qmkshrobj' - tmp_addflag= ;; - nvcc*) # Cuda Compiler Driver 2.2 - _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive' - _LT_TAGVAR(compiler_needs_object, $1)=yes - ;; - 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; func_echo_all \"$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 yes = "$supports_anon_versioning"; 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 - tcc*) - _LT_TAGVAR(export_dynamic_flag_spec, $1)='-rdynamic' - ;; - xlf* | bgf* | bgxlf* | mpixlf*) - # 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)='$wl-rpath $wl$libdir' - _LT_TAGVAR(archive_cmds, $1)='$LD -shared $libobjs $deplibs $linker_flags -soname $soname -o $lib' - if test yes = "$supports_anon_versioning"; 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 $linker_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib' - fi - ;; - esac - else - _LT_TAGVAR(ld_shlibs, $1)=no - fi - ;; - - netbsd* | netbsdelf*-gnu) - if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then - _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib' - wlarc= - else - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $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 $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $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 cannot -*** 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 $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $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 no = "$_LT_TAGVAR(ld_shlibs, $1)"; 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 yes = "$GCC" && 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 ia64 = "$host_cpu"; 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 GNU nm, but means don't demangle to AIX nm. - # Without the "-l" option, or with the "-B" option, AIX nm treats - # weak defined symbols like other global defined symbols, whereas - # GNU nm marks them as "W". - # While the 'weak' keyword is ignored in the Export File, we need - # it in the Import File for the 'aix-soname' feature, so we have - # to replace the "-B" option with "-P" for AIX 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") || (\$ 2 == "W")) && ([substr](\$ 3,1,1) != ".")) { if (\$ 2 == "W") { print \$ 3 " weak" } else { print \$ 3 } } }'\'' | sort -u > $export_symbols' - else - _LT_TAGVAR(export_symbols_cmds, $1)='`func_echo_all $NM | $SED -e '\''s/B\([[^B]]*\)$/P\1/'\''` -PCpgl $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) && ([substr](\$ 1,1,1) != ".")) { if ((\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) { print \$ 1 " weak" } else { print \$ 1 } } }'\'' | 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 - # have runtime linking enabled, and use it for executables. - # For shared libraries, we enable/disable runtime linking - # depending on the kind of the shared library created - - # when "with_aix_soname,aix_use_runtimelinking" is: - # "aix,no" lib.a(lib.so.V) shared, rtl:no, for executables - # "aix,yes" lib.so shared, rtl:yes, for executables - # lib.a static archive - # "both,no" lib.so.V(shr.o) shared, rtl:yes - # lib.a(lib.so.V) shared, rtl:no, for executables - # "both,yes" lib.so.V(shr.o) shared, rtl:yes, for executables - # lib.a(lib.so.V) shared, rtl:no - # "svr4,*" lib.so.V(shr.o) shared, rtl:yes, for executables - # lib.a static archive - case $host_os in aix4.[[23]]|aix4.[[23]].*|aix[[5-9]]*) - for ld_flag in $LDFLAGS; do - if (test x-brtl = "x$ld_flag" || test x-Wl,-brtl = "x$ld_flag"); then - aix_use_runtimelinking=yes - break - fi - done - if test svr4,no = "$with_aix_soname,$aix_use_runtimelinking"; then - # With aix-soname=svr4, we create the lib.so.V shared archives only, - # so we don't have lib.a shared libs to link our executables. - # We have to force runtime linking in this case. - aix_use_runtimelinking=yes - LDFLAGS="$LDFLAGS -Wl,-brtl" - fi - ;; - 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,' - case $with_aix_soname,$aix_use_runtimelinking in - aix,*) ;; # traditional, no import file - svr4,* | *,yes) # use import file - # The Import File defines what to hardcode. - _LT_TAGVAR(hardcode_direct, $1)=no - _LT_TAGVAR(hardcode_direct_absolute, $1)=no - ;; - esac - - if test yes = "$GCC"; 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 yes = "$aix_use_runtimelinking"; then - shared_flag="$shared_flag "'$wl-G' - fi - # Need to ensure runtime linking is disabled for the traditional - # shared library, or the linker may eventually find shared libraries - # /with/ Import File - we do not want to mix them. - shared_flag_aix='-shared' - shared_flag_svr4='-shared $wl-G' - else - # not using gcc - if test ia64 = "$host_cpu"; 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 yes = "$aix_use_runtimelinking"; then - shared_flag='$wl-G' - else - shared_flag='$wl-bM:SRE' - fi - shared_flag_aix='$wl-bM:SRE' - shared_flag_svr4='$wl-G' - 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,yes = "$with_aix_soname,$aix_use_runtimelinking"; 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([$1]) - _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 -n "$allow_undefined_flag"; then func_echo_all "$wl$allow_undefined_flag"; else :; fi` $wl'$exp_sym_flag:\$export_symbols' '$shared_flag - else - if test ia64 = "$host_cpu"; 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([$1]) - _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' - if test yes = "$with_gnu_ld"; then - # We only use this code for GNU lds that support --whole-archive. - _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl--whole-archive$convenience $wl--no-whole-archive' - else - # Exported symbols can be pulled into shared objects from archives - _LT_TAGVAR(whole_archive_flag_spec, $1)='$convenience' - fi - _LT_TAGVAR(archive_cmds_need_lc, $1)=yes - _LT_TAGVAR(archive_expsym_cmds, $1)='$RM -r $output_objdir/$realname.d~$MKDIR $output_objdir/$realname.d' - # -brtl affects multiple linker settings, -berok does not and is overridden later - compiler_flags_filtered='`func_echo_all "$compiler_flags " | $SED -e "s%-brtl\\([[, ]]\\)%-berok\\1%g"`' - if test svr4 != "$with_aix_soname"; then - # This is similar to how AIX traditionally builds its shared libraries. - _LT_TAGVAR(archive_expsym_cmds, $1)="$_LT_TAGVAR(archive_expsym_cmds, $1)"'~$CC '$shared_flag_aix' -o $output_objdir/$realname.d/$soname $libobjs $deplibs $wl-bnoentry '$compiler_flags_filtered'$wl-bE:$export_symbols$allow_undefined_flag~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$realname.d/$soname' - fi - if test aix != "$with_aix_soname"; then - _LT_TAGVAR(archive_expsym_cmds, $1)="$_LT_TAGVAR(archive_expsym_cmds, $1)"'~$CC '$shared_flag_svr4' -o $output_objdir/$realname.d/$shared_archive_member_spec.o $libobjs $deplibs $wl-bnoentry '$compiler_flags_filtered'$wl-bE:$export_symbols$allow_undefined_flag~$STRIP -e $output_objdir/$realname.d/$shared_archive_member_spec.o~( func_echo_all "#! $soname($shared_archive_member_spec.o)"; if test shr_64 = "$shared_archive_member_spec"; then func_echo_all "# 64"; else func_echo_all "# 32"; fi; cat $export_symbols ) > $output_objdir/$realname.d/$shared_archive_member_spec.imp~$AR $AR_FLAGS $output_objdir/$soname $output_objdir/$realname.d/$shared_archive_member_spec.o $output_objdir/$realname.d/$shared_archive_member_spec.imp' - else - # used by -dlpreopen to get the symbols - _LT_TAGVAR(archive_expsym_cmds, $1)="$_LT_TAGVAR(archive_expsym_cmds, $1)"'~$MV $output_objdir/$realname.d/$soname $output_objdir' - fi - _LT_TAGVAR(archive_expsym_cmds, $1)="$_LT_TAGVAR(archive_expsym_cmds, $1)"'~$RM -r $output_objdir/$realname.d' - 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. - case $cc_basename in - cl*) - # Native MSVC - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=' ' - _LT_TAGVAR(allow_undefined_flag, $1)=unsupported - _LT_TAGVAR(always_export_symbols, $1)=yes - _LT_TAGVAR(file_list_spec, $1)='@' - # 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 $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~linknames=' - _LT_TAGVAR(archive_expsym_cmds, $1)='if _LT_DLL_DEF_P([$export_symbols]); then - cp "$export_symbols" "$output_objdir/$soname.def"; - echo "$tool_output_objdir$soname.def" > "$output_objdir/$soname.exp"; - else - $SED -e '\''s/^/-link -EXPORT:/'\'' < $export_symbols > $output_objdir/$soname.exp; - fi~ - $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~ - linknames=' - # The linker will not automatically build a static lib if we build a DLL. - # _LT_TAGVAR(old_archive_from_new_cmds, $1)='true' - _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes - _LT_TAGVAR(exclude_expsyms, $1)='_NULL_IMPORT_DESCRIPTOR|_IMPORT_DESCRIPTOR_.*' - _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' - # Don't use ranlib - _LT_TAGVAR(old_postinstall_cmds, $1)='chmod 644 $oldlib' - _LT_TAGVAR(postlink_cmds, $1)='lt_outputfile="@OUTPUT@"~ - lt_tool_outputfile="@TOOL_OUTPUT@"~ - case $lt_outputfile in - *.exe|*.EXE) ;; - *) - lt_outputfile=$lt_outputfile.exe - lt_tool_outputfile=$lt_tool_outputfile.exe - ;; - esac~ - if test : != "$MANIFEST_TOOL" && test -f "$lt_outputfile.manifest"; then - $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1; - $RM "$lt_outputfile.manifest"; - fi' - ;; - *) - # Assume MSVC wrapper - _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 `func_echo_all "$deplibs" | $SED '\''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(enable_shared_with_static_runtimes, $1)=yes - ;; - esac - ;; - - 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 - ;; - - # 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 $pic_flag -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 yes = "$GCC"; then - _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -shared $pic_flag $wl+b $wl$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test "x$output_objdir/$soname" = "x$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 "x$output_objdir/$soname" = "x$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 yes,no = "$GCC,$with_gnu_ld"; then - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $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 no = "$with_gnu_ld"; then - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl+b $wl$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 yes,no = "$GCC,$with_gnu_ld"; 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 $pic_flag $wl+h $wl$soname $wl+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' - ;; - *) - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $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' - ;; - *) - m4_if($1, [], [ - # Older versions of the 11.00 compiler do not understand -b yet - # (HP92453-01 A.11.01.20 doesn't, HP92453-01 B.11.X.35175-35176.GP does) - _LT_LINKER_OPTION([if $CC understands -b], - _LT_TAGVAR(lt_cv_prog_compiler__b, $1), [-b], - [_LT_TAGVAR(archive_cmds, $1)='$CC -b $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags'], - [_LT_TAGVAR(archive_cmds, $1)='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_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 no = "$with_gnu_ld"; 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 yes = "$GCC"; then - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -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. - # This should be the same for all languages, so no per-tag cache variable. - AC_CACHE_CHECK([whether the $host_os linker accepts -exported_symbol], - [lt_cv_irix_exported_symbol], - [save_LDFLAGS=$LDFLAGS - LDFLAGS="$LDFLAGS -shared $wl-exported_symbol ${wl}foo $wl-update_registry $wl/dev/null" - AC_LINK_IFELSE( - [AC_LANG_SOURCE( - [AC_LANG_CASE([C], [[int foo (void) { return 0; }]], - [C++], [[int foo (void) { return 0; }]], - [Fortran 77], [[ - subroutine foo - end]], - [Fortran], [[ - subroutine foo - end]])])], - [lt_cv_irix_exported_symbol=yes], - [lt_cv_irix_exported_symbol=no]) - LDFLAGS=$save_LDFLAGS]) - if test yes = "$lt_cv_irix_exported_symbol"; then - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations $wl-exports_file $wl$export_symbols -o $lib' - fi - _LT_TAGVAR(link_all_deplibs, $1)=no - else - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib' - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -exports_file $export_symbols -o $lib' - 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 - ;; - - linux*) - case $cc_basename in - tcc*) - # Fabrice Bellard et al's Tiny C Compiler - _LT_TAGVAR(ld_shlibs, $1)=yes - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' - ;; - esac - ;; - - netbsd* | netbsdelf*-gnu) - if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then - _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out - else - _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* | bitrig*) - 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__`"; 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 - _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' - 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 - shrext_cmds=.dll - _LT_TAGVAR(archive_cmds, $1)='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ - $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ - $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ - $ECHO EXPORTS >> $output_objdir/$libname.def~ - emxexp $libobjs | $SED /"_DLL_InitTerm"/d >> $output_objdir/$libname.def~ - $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ - emximp -o $lib $output_objdir/$libname.def' - _LT_TAGVAR(archive_expsym_cmds, $1)='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ - $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ - $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ - $ECHO EXPORTS >> $output_objdir/$libname.def~ - prefix_cmds="$SED"~ - if test EXPORTS = "`$SED 1q $export_symbols`"; then - prefix_cmds="$prefix_cmds -e 1d"; - fi~ - prefix_cmds="$prefix_cmds -e \"s/^\(.*\)$/_\1/g\""~ - cat $export_symbols | $prefix_cmds >> $output_objdir/$libname.def~ - $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ - emximp -o $lib $output_objdir/$libname.def' - _LT_TAGVAR(old_archive_From_new_cmds, $1)='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def' - _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes - ;; - - osf3*) - if test yes = "$GCC"; 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" && func_echo_all "$wl-set_version $wl$verstring"` $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" && func_echo_all "-set_version $verstring"` -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 yes = "$GCC"; then - _LT_TAGVAR(allow_undefined_flag, $1)=' $wl-expect_unresolved $wl\*' - _LT_TAGVAR(archive_cmds, $1)='$CC -shared$allow_undefined_flag $pic_flag $libobjs $deplibs $compiler_flags $wl-msym $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $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" && func_echo_all "-set_version $verstring"` -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 "-set_version $verstring"` -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 yes = "$GCC"; then - wlarc='$wl' - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $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 $pic_flag $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 yes = "$GCC"; 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 sequent = "$host_vendor"; 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 yes = "$GCC"; 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 CANNOT 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 yes = "$GCC"; 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 sni = "$host_vendor"; 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 no = "$_LT_TAGVAR(ld_shlibs, $1)" && 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 yes,yes = "$GCC,$enable_shared"; 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_CACHE_CHECK([whether -lc should be explicitly linked in], - [lt_cv_]_LT_TAGVAR(archive_cmds_need_lc, $1), - [$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_cv_[]_LT_TAGVAR(archive_cmds_need_lc, $1)=no - else - lt_cv_[]_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* - ]) - _LT_TAGVAR(archive_cmds_need_lc, $1)=$lt_cv_[]_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_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([], [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([], [postlink_cmds], [2], - [Commands necessary for finishing linking programs]) -_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 what 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 no = "$can_build_shared" && 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 yes = "$enable_shared" && enable_static=no - if test -n "$RANLIB"; then - archive_cmds="$archive_cmds~\$RANLIB \$lib" - postinstall_cmds='$RANLIB $lib' - fi - ;; - - aix[[4-9]]*) - if test ia64 != "$host_cpu"; then - case $enable_shared,$with_aix_soname,$aix_use_runtimelinking in - yes,aix,yes) ;; # shared object as lib.so file only - yes,svr4,*) ;; # shared object as lib.so archive member only - yes,*) enable_static=no ;; # shared object in lib.a archive as well - esac - 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 yes = "$enable_shared" || enable_static=yes - AC_MSG_RESULT([$enable_static]) - - _LT_CONFIG($1) -fi -AC_LANG_POP -CC=$lt_save_CC -])# _LT_LANG_C_CONFIG - - -# _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], -[m4_require([_LT_FILEUTILS_DEFAULTS])dnl -m4_require([_LT_DECL_EGREP])dnl -m4_require([_LT_PATH_MANIFEST_TOOL])dnl -if test -n "$CXX" && ( test no != "$CXX" && - ( (test g++ = "$CXX" && `g++ -v >/dev/null 2>&1` ) || - (test g++ != "$CXX"))); then - AC_PROG_CXXCPP -else - _lt_caught_CXX_error=yes -fi - -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_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(reload_flag, $1)=$reload_flag -_LT_TAGVAR(reload_cmds, $1)=$reload_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 yes != "$_lt_caught_CXX_error"; 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_CFLAGS=$CFLAGS - 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++"} - CFLAGS=$CXXFLAGS - 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 yes = "$GXX"; 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 yes = "$GXX"; 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 yes = "$with_gnu_ld"; then - _LT_TAGVAR(archive_cmds, $1)='$CC $pic_flag -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib' - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC $pic_flag -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 -v "^Configured with:" | $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 ia64 = "$host_cpu"; 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 - # have runtime linking enabled, and use it for executables. - # For shared libraries, we enable/disable runtime linking - # depending on the kind of the shared library created - - # when "with_aix_soname,aix_use_runtimelinking" is: - # "aix,no" lib.a(lib.so.V) shared, rtl:no, for executables - # "aix,yes" lib.so shared, rtl:yes, for executables - # lib.a static archive - # "both,no" lib.so.V(shr.o) shared, rtl:yes - # lib.a(lib.so.V) shared, rtl:no, for executables - # "both,yes" lib.so.V(shr.o) shared, rtl:yes, for executables - # lib.a(lib.so.V) shared, rtl:no - # "svr4,*" lib.so.V(shr.o) shared, rtl:yes, for executables - # lib.a static archive - 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 - if test svr4,no = "$with_aix_soname,$aix_use_runtimelinking"; then - # With aix-soname=svr4, we create the lib.so.V shared archives only, - # so we don't have lib.a shared libs to link our executables. - # We have to force runtime linking in this case. - aix_use_runtimelinking=yes - LDFLAGS="$LDFLAGS -Wl,-brtl" - fi - ;; - 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,' - case $with_aix_soname,$aix_use_runtimelinking in - aix,*) ;; # no import file - svr4,* | *,yes) # use import file - # The Import File defines what to hardcode. - _LT_TAGVAR(hardcode_direct, $1)=no - _LT_TAGVAR(hardcode_direct_absolute, $1)=no - ;; - esac - - if test yes = "$GXX"; 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 yes = "$aix_use_runtimelinking"; then - shared_flag=$shared_flag' $wl-G' - fi - # Need to ensure runtime linking is disabled for the traditional - # shared library, or the linker may eventually find shared libraries - # /with/ Import File - we do not want to mix them. - shared_flag_aix='-shared' - shared_flag_svr4='-shared $wl-G' - else - # not using gcc - if test ia64 = "$host_cpu"; 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 yes = "$aix_use_runtimelinking"; then - shared_flag='$wl-G' - else - shared_flag='$wl-bM:SRE' - fi - shared_flag_aix='$wl-bM:SRE' - shared_flag_svr4='$wl-G' - 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,yes = "$with_aix_soname,$aix_use_runtimelinking"; then - # Warning - without using the other runtime loading flags (-brtl), - # -berok will link without error, but may produce a broken library. - # The "-G" linker flag allows undefined symbols. - _LT_TAGVAR(no_undefined_flag, $1)='-bernotok' - # Determine the default libpath from the value encoded in an empty - # executable. - _LT_SYS_MODULE_PATH_AIX([$1]) - _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 -n "$allow_undefined_flag"; then func_echo_all "$wl$allow_undefined_flag"; else :; fi` $wl'$exp_sym_flag:\$export_symbols' '$shared_flag - else - if test ia64 = "$host_cpu"; 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([$1]) - _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' - if test yes = "$with_gnu_ld"; then - # We only use this code for GNU lds that support --whole-archive. - _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl--whole-archive$convenience $wl--no-whole-archive' - else - # Exported symbols can be pulled into shared objects from archives - _LT_TAGVAR(whole_archive_flag_spec, $1)='$convenience' - fi - _LT_TAGVAR(archive_cmds_need_lc, $1)=yes - _LT_TAGVAR(archive_expsym_cmds, $1)='$RM -r $output_objdir/$realname.d~$MKDIR $output_objdir/$realname.d' - # -brtl affects multiple linker settings, -berok does not and is overridden later - compiler_flags_filtered='`func_echo_all "$compiler_flags " | $SED -e "s%-brtl\\([[, ]]\\)%-berok\\1%g"`' - if test svr4 != "$with_aix_soname"; then - # This is similar to how AIX traditionally builds its shared - # libraries. Need -bnortl late, we may have -brtl in LDFLAGS. - _LT_TAGVAR(archive_expsym_cmds, $1)="$_LT_TAGVAR(archive_expsym_cmds, $1)"'~$CC '$shared_flag_aix' -o $output_objdir/$realname.d/$soname $libobjs $deplibs $wl-bnoentry '$compiler_flags_filtered'$wl-bE:$export_symbols$allow_undefined_flag~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$realname.d/$soname' - fi - if test aix != "$with_aix_soname"; then - _LT_TAGVAR(archive_expsym_cmds, $1)="$_LT_TAGVAR(archive_expsym_cmds, $1)"'~$CC '$shared_flag_svr4' -o $output_objdir/$realname.d/$shared_archive_member_spec.o $libobjs $deplibs $wl-bnoentry '$compiler_flags_filtered'$wl-bE:$export_symbols$allow_undefined_flag~$STRIP -e $output_objdir/$realname.d/$shared_archive_member_spec.o~( func_echo_all "#! $soname($shared_archive_member_spec.o)"; if test shr_64 = "$shared_archive_member_spec"; then func_echo_all "# 64"; else func_echo_all "# 32"; fi; cat $export_symbols ) > $output_objdir/$realname.d/$shared_archive_member_spec.imp~$AR $AR_FLAGS $output_objdir/$soname $output_objdir/$realname.d/$shared_archive_member_spec.o $output_objdir/$realname.d/$shared_archive_member_spec.imp' - else - # used by -dlpreopen to get the symbols - _LT_TAGVAR(archive_expsym_cmds, $1)="$_LT_TAGVAR(archive_expsym_cmds, $1)"'~$MV $output_objdir/$realname.d/$soname $output_objdir' - fi - _LT_TAGVAR(archive_expsym_cmds, $1)="$_LT_TAGVAR(archive_expsym_cmds, $1)"'~$RM -r $output_objdir/$realname.d' - 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*) - case $GXX,$cc_basename in - ,cl* | no,cl*) - # Native MSVC - # 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 - _LT_TAGVAR(always_export_symbols, $1)=yes - _LT_TAGVAR(file_list_spec, $1)='@' - # 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 $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~linknames=' - _LT_TAGVAR(archive_expsym_cmds, $1)='if _LT_DLL_DEF_P([$export_symbols]); then - cp "$export_symbols" "$output_objdir/$soname.def"; - echo "$tool_output_objdir$soname.def" > "$output_objdir/$soname.exp"; - else - $SED -e '\''s/^/-link -EXPORT:/'\'' < $export_symbols > $output_objdir/$soname.exp; - fi~ - $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~ - linknames=' - # The linker will not automatically build a static lib if we build a DLL. - # _LT_TAGVAR(old_archive_from_new_cmds, $1)='true' - _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes - # Don't use ranlib - _LT_TAGVAR(old_postinstall_cmds, $1)='chmod 644 $oldlib' - _LT_TAGVAR(postlink_cmds, $1)='lt_outputfile="@OUTPUT@"~ - lt_tool_outputfile="@TOOL_OUTPUT@"~ - case $lt_outputfile in - *.exe|*.EXE) ;; - *) - lt_outputfile=$lt_outputfile.exe - lt_tool_outputfile=$lt_tool_outputfile.exe - ;; - esac~ - func_to_tool_file "$lt_outputfile"~ - if test : != "$MANIFEST_TOOL" && test -f "$lt_outputfile.manifest"; then - $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1; - $RM "$lt_outputfile.manifest"; - fi' - ;; - *) - # g++ - # _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(export_dynamic_flag_spec, $1)='$wl--export-all-symbols' - _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, use it as - # is; otherwise, prepend EXPORTS... - _LT_TAGVAR(archive_expsym_cmds, $1)='if _LT_DLL_DEF_P([$export_symbols]); 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 - ;; - esac - ;; - darwin* | rhapsody*) - _LT_DARWIN_LINKER_FEATURES($1) - ;; - - os2*) - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' - _LT_TAGVAR(hardcode_minus_L, $1)=yes - _LT_TAGVAR(allow_undefined_flag, $1)=unsupported - shrext_cmds=.dll - _LT_TAGVAR(archive_cmds, $1)='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ - $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ - $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ - $ECHO EXPORTS >> $output_objdir/$libname.def~ - emxexp $libobjs | $SED /"_DLL_InitTerm"/d >> $output_objdir/$libname.def~ - $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ - emximp -o $lib $output_objdir/$libname.def' - _LT_TAGVAR(archive_expsym_cmds, $1)='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ - $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ - $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ - $ECHO EXPORTS >> $output_objdir/$libname.def~ - prefix_cmds="$SED"~ - if test EXPORTS = "`$SED 1q $export_symbols`"; then - prefix_cmds="$prefix_cmds -e 1d"; - fi~ - prefix_cmds="$prefix_cmds -e \"s/^\(.*\)$/_\1/g\""~ - cat $export_symbols | $prefix_cmds >> $output_objdir/$libname.def~ - $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ - emximp -o $lib $output_objdir/$libname.def' - _LT_TAGVAR(old_archive_From_new_cmds, $1)='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def' - _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes - ;; - - 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 - ;; - - freebsd2.*) - # 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 - ;; - - haiku*) - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' - _LT_TAGVAR(link_all_deplibs, $1)=yes - ;; - - 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 "x$output_objdir/$soname" = "x$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; func_echo_all "$list"' - ;; - *) - if test yes = "$GXX"; then - _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -shared -nostdlib $pic_flag $wl+b $wl$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test "x$output_objdir/$soname" = "x$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 no = "$with_gnu_ld"; 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; func_echo_all "$list"' - ;; - *) - if test yes = "$GXX"; then - if test no = "$with_gnu_ld"; 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 $pic_flag $wl+h $wl$soname $wl+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' - ;; - *) - _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $pic_flag $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" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib' - - # Archives containing C++ object files must be created using - # "CC -ar", where "CC" is the IRIX C++ compiler. This is - # necessary to make sure instantiated templates are included - # in the archive. - _LT_TAGVAR(old_archive_cmds, $1)='$CC -ar -WR,-u -o $oldlib $oldobjs' - ;; - *) - if test yes = "$GXX"; then - if test no = "$with_gnu_ld"; then - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib' - else - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` -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 | kopensolaris*-gnu | 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; func_echo_all "$list"' - - _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 | sort | $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 | sort | $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 | sort | $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 | sort | $NL2SP` $postdep_objects $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' - ;; - *) # Version 6 and above 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; func_echo_all \"$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=`func_echo_all "$templist" | $SED "s/\(^.*ld.*\)\( .*ld .*$\)/\1/"`; list= ; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "X$list" | $Xsed' - ;; - xl* | mpixl* | bgxl*) - # 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 yes = "$supports_anon_versioning"; 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; func_echo_all \"$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='func_echo_all' - - # 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 - ;; - - openbsd* | bitrig*) - 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__`"; 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=func_echo_all - 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" && func_echo_all "$wl-set_version $verstring"` -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" && func_echo_all "-set_version $verstring"` -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 "-set_version $verstring"` -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=`func_echo_all "$templist" | $SED "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list= ; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"' - ;; - *) - if test yes,no = "$GXX,$with_gnu_ld"; 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" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib' - ;; - *) - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -nostdlib $allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-msym $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $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 -v "^Configured with:" | $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* | sunCC*) - # 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='func_echo_all' - - # 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 yes,no = "$GXX,$with_gnu_ld"; 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 $pic_flag -nostdlib $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 $pic_flag -nostdlib $wl-M $wl$lib.exp $wl-h $wl$soname -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 -v "^Configured with:" | $GREP "\-L"' - else - # g++ 2.7 appears to require '-G' NOT '-shared' on this - # platform. - _LT_TAGVAR(archive_cmds, $1)='$CC -G -nostdlib $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 $wl-h $wl$soname -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 -v "^Configured with:" | $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 CANNOT 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(old_archive_cmds, $1)='$CC -Tprelink_objects $oldobjs~ - '"$_LT_TAGVAR(old_archive_cmds, $1)" - _LT_TAGVAR(reload_cmds, $1)='$CC -Tprelink_objects $reload_objs~ - '"$_LT_TAGVAR(reload_cmds, $1)" - ;; - *) - _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 no = "$_LT_TAGVAR(ld_shlibs, $1)" && 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 - CFLAGS=$lt_save_CFLAGS - 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 yes != "$_lt_caught_CXX_error" - -AC_LANG_POP -])# _LT_LANG_CXX_CONFIG - - -# _LT_FUNC_STRIPNAME_CNF -# ---------------------- -# func_stripname_cnf 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). -# -# This function is identical to the (non-XSI) version of func_stripname, -# except this one can be used by m4 code that may be executed by configure, -# rather than the libtool script. -m4_defun([_LT_FUNC_STRIPNAME_CNF],[dnl -AC_REQUIRE([_LT_DECL_SED]) -AC_REQUIRE([_LT_PROG_ECHO_BACKSLASH]) -func_stripname_cnf () -{ - case @S|@2 in - .*) func_stripname_result=`$ECHO "@S|@3" | $SED "s%^@S|@1%%; s%\\\\@S|@2\$%%"`;; - *) func_stripname_result=`$ECHO "@S|@3" | $SED "s%^@S|@1%%; s%@S|@2\$%%"`;; - esac -} # func_stripname_cnf -])# _LT_FUNC_STRIPNAME_CNF - - -# _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 -AC_REQUIRE([_LT_FUNC_STRIPNAME_CNF])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 -], [$1], [GO], [cat > conftest.$ac_ext <<_LT_EOF -package foo -func foo() { -} -_LT_EOF -]) - -_lt_libdeps_save_CFLAGS=$CFLAGS -case "$CC $CFLAGS " in #( -*\ -flto*\ *) CFLAGS="$CFLAGS -fno-lto" ;; -*\ -fwhopr*\ *) CFLAGS="$CFLAGS -fno-whopr" ;; -*\ -fuse-linker-plugin*\ *) CFLAGS="$CFLAGS -fno-use-linker-plugin" ;; -esac - -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 $prev$p in - - -L* | -R* | -l*) - # Some compilers place space between "-{L,R}" and the path. - # Remove the space. - if test x-L = "$p" || - test x-R = "$p"; then - prev=$p - continue - fi - - # Expand the sysroot to ease extracting the directories later. - if test -z "$prev"; then - case $p in - -L*) func_stripname_cnf '-L' '' "$p"; prev=-L; p=$func_stripname_result ;; - -R*) func_stripname_cnf '-R' '' "$p"; prev=-R; p=$func_stripname_result ;; - -l*) func_stripname_cnf '-l' '' "$p"; prev=-l; p=$func_stripname_result ;; - esac - fi - case $p in - =*) func_stripname_cnf '=' '' "$p"; p=$lt_sysroot$func_stripname_result ;; - esac - if test no = "$pre_test_object_deps_done"; then - case $prev 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 - prev= - ;; - - *.lto.$objext) ;; # Ignore GCC LTO objects - *.$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 no = "$pre_test_object_deps_done"; 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 -CFLAGS=$_lt_libdeps_save_CFLAGS - -# 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)= - ;; -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_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_LANG_PUSH(Fortran 77) -if test -z "$F77" || test no = "$F77"; then - _lt_disable_F77=yes -fi - -_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_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(reload_flag, $1)=$reload_flag -_LT_TAGVAR(reload_cmds, $1)=$reload_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 yes != "$_lt_disable_F77"; 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 - lt_save_CFLAGS=$CFLAGS - CC=${F77-"f77"} - CFLAGS=$FFLAGS - 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 no = "$can_build_shared" && 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 yes = "$enable_shared" && enable_static=no - if test -n "$RANLIB"; then - archive_cmds="$archive_cmds~\$RANLIB \$lib" - postinstall_cmds='$RANLIB $lib' - fi - ;; - aix[[4-9]]*) - if test ia64 != "$host_cpu"; then - case $enable_shared,$with_aix_soname,$aix_use_runtimelinking in - yes,aix,yes) ;; # shared object as lib.so file only - yes,svr4,*) ;; # shared object as lib.so archive member only - yes,*) enable_static=no ;; # shared object in lib.a archive as well - esac - 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 yes = "$enable_shared" || 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 - CFLAGS=$lt_save_CFLAGS -fi # test yes != "$_lt_disable_F77" - -AC_LANG_POP -])# _LT_LANG_F77_CONFIG - - -# _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_LANG_PUSH(Fortran) - -if test -z "$FC" || test no = "$FC"; then - _lt_disable_FC=yes -fi - -_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_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(reload_flag, $1)=$reload_flag -_LT_TAGVAR(reload_cmds, $1)=$reload_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 yes != "$_lt_disable_FC"; 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 - lt_save_CFLAGS=$CFLAGS - CC=${FC-"f95"} - CFLAGS=$FCFLAGS - 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 no = "$can_build_shared" && 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 yes = "$enable_shared" && enable_static=no - if test -n "$RANLIB"; then - archive_cmds="$archive_cmds~\$RANLIB \$lib" - postinstall_cmds='$RANLIB $lib' - fi - ;; - aix[[4-9]]*) - if test ia64 != "$host_cpu"; then - case $enable_shared,$with_aix_soname,$aix_use_runtimelinking in - yes,aix,yes) ;; # shared object as lib.so file only - yes,svr4,*) ;; # shared object as lib.so archive member only - yes,*) enable_static=no ;; # shared object in lib.a archive as well - esac - 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 yes = "$enable_shared" || 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 - CFLAGS=$lt_save_CFLAGS -fi # test yes != "$_lt_disable_FC" - -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_CFLAGS=$CFLAGS -lt_save_GCC=$GCC -GCC=yes -CC=${GCJ-"gcj"} -CFLAGS=$GCJFLAGS -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 -_LT_TAGVAR(reload_flag, $1)=$reload_flag -_LT_TAGVAR(reload_cmds, $1)=$reload_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 -CFLAGS=$lt_save_CFLAGS -])# _LT_LANG_GCJ_CONFIG - - -# _LT_LANG_GO_CONFIG([TAG]) -# -------------------------- -# Ensure that the configuration variables for the GNU Go compiler -# are suitably defined. These variables are subsequently used by _LT_CONFIG -# to write the compiler configuration to 'libtool'. -m4_defun([_LT_LANG_GO_CONFIG], -[AC_REQUIRE([LT_PROG_GO])dnl -AC_LANG_SAVE - -# Source file extension for Go test sources. -ac_ext=go - -# Object file extension for compiled Go test sources. -objext=o -_LT_TAGVAR(objext, $1)=$objext - -# Code to be used in simple compile tests -lt_simple_compile_test_code="package main; func main() { }" - -# Code to be used in simple link tests -lt_simple_link_test_code='package main; func main() { }' - -# 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_CFLAGS=$CFLAGS -lt_save_GCC=$GCC -GCC=yes -CC=${GOC-"gccgo"} -CFLAGS=$GOFLAGS -compiler=$CC -_LT_TAGVAR(compiler, $1)=$CC -_LT_TAGVAR(LD, $1)=$LD -_LT_CC_BASENAME([$compiler]) - -# Go 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 -_LT_TAGVAR(reload_flag, $1)=$reload_flag -_LT_TAGVAR(reload_cmds, $1)=$reload_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 -CFLAGS=$lt_save_CFLAGS -])# _LT_LANG_GO_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_CFLAGS=$CFLAGS -lt_save_GCC=$GCC -GCC= -CC=${RC-"windres"} -CFLAGS= -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 -CFLAGS=$lt_save_CFLAGS -])# _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 set = "${GCJFLAGS+set}" || 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_GO -# ---------- -AC_DEFUN([LT_PROG_GO], -[AC_CHECK_TOOL(GOC, gccgo,) -]) - - -# 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_DLLTOOL -# ---------------- -# Ensure DLLTOOL variable is set. -m4_defun([_LT_DECL_DLLTOOL], -[AC_CHECK_TOOL(DLLTOOL, dlltool, false) -test -z "$DLLTOOL" && DLLTOOL=dlltool -_LT_DECL([], [DLLTOOL], [1], [DLL creation program]) -AC_SUBST([DLLTOOL]) -]) - -# _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 10 -lt "$lt_ac_count" && 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], -[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_PATH_CONVERSION_FUNCTIONS -# ----------------------------- -# Determine what file name conversion functions should be used by -# func_to_host_file (and, implicitly, by func_to_host_path). These are needed -# for certain cross-compile configurations and native mingw. -m4_defun([_LT_PATH_CONVERSION_FUNCTIONS], -[AC_REQUIRE([AC_CANONICAL_HOST])dnl -AC_REQUIRE([AC_CANONICAL_BUILD])dnl -AC_MSG_CHECKING([how to convert $build file names to $host format]) -AC_CACHE_VAL(lt_cv_to_host_file_cmd, -[case $host in - *-*-mingw* ) - case $build in - *-*-mingw* ) # actually msys - lt_cv_to_host_file_cmd=func_convert_file_msys_to_w32 - ;; - *-*-cygwin* ) - lt_cv_to_host_file_cmd=func_convert_file_cygwin_to_w32 - ;; - * ) # otherwise, assume *nix - lt_cv_to_host_file_cmd=func_convert_file_nix_to_w32 - ;; - esac - ;; - *-*-cygwin* ) - case $build in - *-*-mingw* ) # actually msys - lt_cv_to_host_file_cmd=func_convert_file_msys_to_cygwin - ;; - *-*-cygwin* ) - lt_cv_to_host_file_cmd=func_convert_file_noop - ;; - * ) # otherwise, assume *nix - lt_cv_to_host_file_cmd=func_convert_file_nix_to_cygwin - ;; - esac - ;; - * ) # unhandled hosts (and "normal" native builds) - lt_cv_to_host_file_cmd=func_convert_file_noop - ;; -esac -]) -to_host_file_cmd=$lt_cv_to_host_file_cmd -AC_MSG_RESULT([$lt_cv_to_host_file_cmd]) -_LT_DECL([to_host_file_cmd], [lt_cv_to_host_file_cmd], - [0], [convert $build file names to $host format])dnl - -AC_MSG_CHECKING([how to convert $build file names to toolchain format]) -AC_CACHE_VAL(lt_cv_to_tool_file_cmd, -[#assume ordinary cross tools, or native build. -lt_cv_to_tool_file_cmd=func_convert_file_noop -case $host in - *-*-mingw* ) - case $build in - *-*-mingw* ) # actually msys - lt_cv_to_tool_file_cmd=func_convert_file_msys_to_w32 - ;; - esac - ;; -esac -]) -to_tool_file_cmd=$lt_cv_to_tool_file_cmd -AC_MSG_RESULT([$lt_cv_to_tool_file_cmd]) -_LT_DECL([to_tool_file_cmd], [lt_cv_to_tool_file_cmd], - [0], [convert $build files to toolchain format])dnl -])# _LT_PATH_CONVERSION_FUNCTIONS diff -Nru yaws-2.0.6+dfsg/m4/lt~obsolete.m4 yaws-2.0.7+dfsg/m4/lt~obsolete.m4 --- yaws-2.0.6+dfsg/m4/lt~obsolete.m4 2018-06-26 09:17:04.000000000 +0000 +++ yaws-2.0.7+dfsg/m4/lt~obsolete.m4 1970-01-01 00:00:00.000000000 +0000 @@ -1,99 +0,0 @@ -# lt~obsolete.m4 -- aclocal satisfying obsolete definitions. -*-Autoconf-*- -# -# Copyright (C) 2004-2005, 2007, 2009, 2011-2015 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 5 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_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])]) -m4_ifndef([_LT_REQUIRED_DARWIN_CHECKS], [AC_DEFUN([_LT_REQUIRED_DARWIN_CHECKS])]) -m4_ifndef([_LT_AC_PROG_CXXCPP], [AC_DEFUN([_LT_AC_PROG_CXXCPP])]) -m4_ifndef([_LT_PREPARE_SED_QUOTE_VARS], [AC_DEFUN([_LT_PREPARE_SED_QUOTE_VARS])]) -m4_ifndef([_LT_PROG_ECHO_BACKSLASH], [AC_DEFUN([_LT_PROG_ECHO_BACKSLASH])]) -m4_ifndef([_LT_PROG_F77], [AC_DEFUN([_LT_PROG_F77])]) -m4_ifndef([_LT_PROG_FC], [AC_DEFUN([_LT_PROG_FC])]) -m4_ifndef([_LT_PROG_CXX], [AC_DEFUN([_LT_PROG_CXX])]) diff -Nru yaws-2.0.6+dfsg/m4/ltoptions.m4 yaws-2.0.7+dfsg/m4/ltoptions.m4 --- yaws-2.0.6+dfsg/m4/ltoptions.m4 2018-06-26 09:17:04.000000000 +0000 +++ yaws-2.0.7+dfsg/m4/ltoptions.m4 1970-01-01 00:00:00.000000000 +0000 @@ -1,437 +0,0 @@ -# Helper functions for option handling. -*- Autoconf -*- -# -# Copyright (C) 2004-2005, 2007-2009, 2011-2015 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 8 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_UNLESS_OPTIONS([LT_INIT], [aix-soname=aix aix-soname=both aix-soname=svr4], - [_LT_WITH_AIX_SONAME([aix])]) - ]) -])# _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], [1], [Assembler program])dnl - -test -z "$DLLTOOL" && DLLTOOL=dlltool -_LT_DECL([], [DLLTOOL], [1], [DLL creation program])dnl - -test -z "$OBJDUMP" && OBJDUMP=objdump -_LT_DECL([], [OBJDUMP], [1], [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_AIX_SONAME([DEFAULT]) -# ---------------------------------- -# implement the --with-aix-soname flag, and support the `aix-soname=aix' -# and `aix-soname=both' and `aix-soname=svr4' LT_INIT options. DEFAULT -# is either `aix', `both' or `svr4'. If omitted, it defaults to `aix'. -m4_define([_LT_WITH_AIX_SONAME], -[m4_define([_LT_WITH_AIX_SONAME_DEFAULT], [m4_if($1, svr4, svr4, m4_if($1, both, both, aix))])dnl -shared_archive_member_spec= -case $host,$enable_shared in -power*-*-aix[[5-9]]*,yes) - AC_MSG_CHECKING([which variant of shared library versioning to provide]) - AC_ARG_WITH([aix-soname], - [AS_HELP_STRING([--with-aix-soname=aix|svr4|both], - [shared library versioning (aka "SONAME") variant to provide on AIX, @<:@default=]_LT_WITH_AIX_SONAME_DEFAULT[@:>@.])], - [case $withval in - aix|svr4|both) - ;; - *) - AC_MSG_ERROR([Unknown argument to --with-aix-soname]) - ;; - esac - lt_cv_with_aix_soname=$with_aix_soname], - [AC_CACHE_VAL([lt_cv_with_aix_soname], - [lt_cv_with_aix_soname=]_LT_WITH_AIX_SONAME_DEFAULT) - with_aix_soname=$lt_cv_with_aix_soname]) - AC_MSG_RESULT([$with_aix_soname]) - if test aix != "$with_aix_soname"; then - # For the AIX way of multilib, we name the shared archive member - # based on the bitwidth used, traditionally 'shr.o' or 'shr_64.o', - # and 'shr.imp' or 'shr_64.imp', respectively, for the Import File. - # Even when GNU compilers ignore OBJECT_MODE but need '-maix64' flag, - # the AIX toolchain works better with OBJECT_MODE set (default 32). - if test 64 = "${OBJECT_MODE-32}"; then - shared_archive_member_spec=shr_64 - else - shared_archive_member_spec=shr - fi - fi - ;; -*) - with_aix_soname=aix - ;; -esac - -_LT_DECL([], [shared_archive_member_spec], [0], - [Shared archive member basename, for filename based shared library versioning on AIX])dnl -])# _LT_WITH_AIX_SONAME - -LT_OPTION_DEFINE([LT_INIT], [aix-soname=aix], [_LT_WITH_AIX_SONAME([aix])]) -LT_OPTION_DEFINE([LT_INIT], [aix-soname=both], [_LT_WITH_AIX_SONAME([both])]) -LT_OPTION_DEFINE([LT_INIT], [aix-soname=svr4], [_LT_WITH_AIX_SONAME([svr4])]) - - -# _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@<:@=PKGS@:>@], - [try to use only PIC/non-PIC objects @<:@default=use both@:>@])], - [lt_p=${PACKAGE-default} - case $withval in - yes|no) pic_mode=$withval ;; - *) - pic_mode=default - # Look at the argument we got. We use all the common list separators. - lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR, - for lt_pkg in $withval; do - IFS=$lt_save_ifs - if test "X$lt_pkg" = "X$lt_p"; then - pic_mode=yes - fi - done - IFS=$lt_save_ifs - ;; - esac], - [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])]) diff -Nru yaws-2.0.6+dfsg/m4/ltsugar.m4 yaws-2.0.7+dfsg/m4/ltsugar.m4 --- yaws-2.0.6+dfsg/m4/ltsugar.m4 2018-06-26 09:17:04.000000000 +0000 +++ yaws-2.0.7+dfsg/m4/ltsugar.m4 1970-01-01 00:00:00.000000000 +0000 @@ -1,124 +0,0 @@ -# ltsugar.m4 -- libtool m4 base layer. -*-Autoconf-*- -# -# Copyright (C) 2004-2005, 2007-2008, 2011-2015 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 -]) diff -Nru yaws-2.0.6+dfsg/m4/ltversion.m4 yaws-2.0.7+dfsg/m4/ltversion.m4 --- yaws-2.0.6+dfsg/m4/ltversion.m4 2018-06-26 09:17:04.000000000 +0000 +++ yaws-2.0.7+dfsg/m4/ltversion.m4 1970-01-01 00:00:00.000000000 +0000 @@ -1,23 +0,0 @@ -# ltversion.m4 -- version numbers -*- Autoconf -*- -# -# Copyright (C) 2004, 2011-2015 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. - -# @configure_input@ - -# serial 4179 ltversion.m4 -# This file is part of GNU Libtool - -m4_define([LT_PACKAGE_VERSION], [2.4.6]) -m4_define([LT_PACKAGE_REVISION], [2.4.6]) - -AC_DEFUN([LTVERSION_VERSION], -[macro_version='2.4.6' -macro_revision='2.4.6' -_LT_DECL(, macro_version, 0, [Which release of libtool.m4 was used?]) -_LT_DECL(, macro_revision, 0) -]) diff -Nru yaws-2.0.6+dfsg/Makefile.am yaws-2.0.7+dfsg/Makefile.am --- yaws-2.0.6+dfsg/Makefile.am 2017-01-27 15:41:40.000000000 +0000 +++ yaws-2.0.7+dfsg/Makefile.am 2019-07-14 13:01:11.000000000 +0000 @@ -112,13 +112,16 @@ -r $$(echo $(ERLANG_LIB_DIR_erlsom) | sed "s/not found//") dialyzer: all yaws.plt - $(AM_V_at)$(DIALYZER) -q --plt yaws.plt -r ebin > dialyzer_warnings || true - $(AM_V_at)if diff -U0 @srcdir@/known_dialyzer_warnings dialyzer_warnings ; then \ - echo dialyzer check passed ; \ - exit 0 ; \ - else \ - exit 1 ; \ + $(AM_V_at)$(DIALYZER) -q --plt yaws.plt -r ebin | \ + sed -e :a -e '$$!N;s/\n *//;ta' -e 'P;D' > dialyzer_warnings || true + $(AM_V_at)dw=`wc -l dialyzer_warnings | awk '{print $$1}'`; \ + kw=`wc -l known_dialyzer_warnings | awk '{print $$1}'`; \ + if [ "$$dw" -ne "$$kw" ]; then \ + printf 'number of dialyzer warnings does not match the known_dialyzer_warnings file' ; \ + exit 1 ; \ fi + $(AM_V_at)python dialyzer_checker + $(AM_V_at)$(RM) dialyzer_warnings dist-hook: clean cleantest cleanapps $(AM_V_at)for a in $(APPDIRS); do \ diff -Nru yaws-2.0.6+dfsg/Makefile.in yaws-2.0.7+dfsg/Makefile.in --- yaws-2.0.6+dfsg/Makefile.in 2018-06-26 09:17:07.000000000 +0000 +++ yaws-2.0.7+dfsg/Makefile.in 1970-01-01 00:00:00.000000000 +0000 @@ -1,1140 +0,0 @@ -# Makefile.in generated by automake 1.15.1 from Makefile.am. -# @configure_input@ - -# Copyright (C) 1994-2017 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@ -am__is_gnu_make = { \ - if test -z '$(MAKELEVEL)'; then \ - false; \ - elif test -n '$(MAKE_HOST)'; then \ - true; \ - elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ - true; \ - else \ - false; \ - fi; \ -} -am__make_running_with_option = \ - case $${target_option-} in \ - ?) ;; \ - *) echo "am__make_running_with_option: internal error: invalid" \ - "target option '$${target_option-}' specified" >&2; \ - exit 1;; \ - esac; \ - has_opt=no; \ - sane_makeflags=$$MAKEFLAGS; \ - if $(am__is_gnu_make); then \ - sane_makeflags=$$MFLAGS; \ - else \ - case $$MAKEFLAGS in \ - *\\[\ \ ]*) \ - bs=\\; \ - sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ - | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ - esac; \ - fi; \ - skip_next=no; \ - strip_trailopt () \ - { \ - flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ - }; \ - for flg in $$sane_makeflags; do \ - test $$skip_next = yes && { skip_next=no; continue; }; \ - case $$flg in \ - *=*|--*) continue;; \ - -*I) strip_trailopt 'I'; skip_next=yes;; \ - -*I?*) strip_trailopt 'I';; \ - -*O) strip_trailopt 'O'; skip_next=yes;; \ - -*O?*) strip_trailopt 'O';; \ - -*l) strip_trailopt 'l'; skip_next=yes;; \ - -*l?*) strip_trailopt 'l';; \ - -[dEDm]) skip_next=yes;; \ - -[JT]) skip_next=yes;; \ - esac; \ - case $$flg in \ - *$$target_option*) has_opt=yes; break;; \ - esac; \ - done; \ - test $$has_opt = yes -am__make_dryrun = (target_option=n; $(am__make_running_with_option)) -am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) -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@ -@WINDOWS_FALSE@am__append_1 = c_src -@MINGW_TRUE@am__append_2 = win32 -subdir = . -ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/m4/ax_compare_version.m4 \ - $(top_srcdir)/m4/colored-echo.m4 $(top_srcdir)/m4/erlang.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)/configure.ac -am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ - $(ACLOCAL_M4) -DIST_COMMON = $(srcdir)/Makefile.am $(top_srcdir)/configure \ - $(am__configure_deps) $(am__DIST_COMMON) -am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \ - configure.lineno config.status.lineno -mkinstalldirs = $(install_sh) -d -CONFIG_CLEAN_FILES = yaws.pc applications/wiki/scripts/addFile \ - applications/wiki/scripts/getPassword \ - applications/wiki/scripts/importFiles \ - applications/wiki/scripts/updateWiki -CONFIG_CLEAN_VPATH_FILES = -AM_V_P = $(am__v_P_@AM_V@) -am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) -am__v_P_0 = false -am__v_P_1 = : -AM_V_GEN = $(am__v_GEN_@AM_V@) -am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) -am__v_GEN_0 = @echo " GEN " $@; -am__v_GEN_1 = -AM_V_at = $(am__v_at_@AM_V@) -am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) -am__v_at_0 = @ -am__v_at_1 = -SOURCES = -DIST_SOURCES = -RECURSIVE_TARGETS = all-recursive check-recursive cscopelist-recursive \ - ctags-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 \ - tags-recursive uninstall-recursive -am__can_run_installinfo = \ - case $$AM_UPDATE_INFO_DIR in \ - n|no|NO) false;; \ - *) (install-info --version) >/dev/null 2>&1;; \ - esac -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__uninstall_files_from_dir = { \ - test -z "$$files" \ - || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \ - || { echo " ( cd '$$dir' && rm -f" $$files ")"; \ - $(am__cd) "$$dir" && rm -f $$files; }; \ - } -am__installdirs = "$(DESTDIR)$(pkgconfigdir)" -DATA = $(pkgconfig_DATA) -RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ - distclean-recursive maintainer-clean-recursive -am__recursive_targets = \ - $(RECURSIVE_TARGETS) \ - $(RECURSIVE_CLEAN_TARGETS) \ - $(am__extra_recursive_targets) -AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \ - cscope distdir dist dist-all distcheck -am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) -# Read a list of newline-separated strings from the standard input, -# and print each of them once, without duplicates. Input order is -# *not* preserved. -am__uniquify_input = $(AWK) '\ - BEGIN { nonempty = 0; } \ - { items[$$0] = 1; nonempty = 1; } \ - END { if (nonempty) { for (i in items) print i; }; } \ -' -# Make sure the list of sources is unique. This is necessary because, -# e.g., the same source file might be shared among _SOURCES variables -# for different programs/libraries. -am__define_uniq_tagged_files = \ - list='$(am__tagged_files)'; \ - unique=`for i in $$list; do \ - if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ - done | $(am__uniquify_input)` -ETAGS = etags -CTAGS = ctags -CSCOPE = cscope -DIST_SUBDIRS = src ebin include priv c_src win32 examples/src \ - examples/ebin examples/include testsuite doc man scripts \ - www/code www/shoppingcart -am__DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/yaws.pc.in \ - $(top_srcdir)/ac-aux/ar-lib $(top_srcdir)/ac-aux/compile \ - $(top_srcdir)/ac-aux/config.guess \ - $(top_srcdir)/ac-aux/config.sub \ - $(top_srcdir)/ac-aux/install-sh $(top_srcdir)/ac-aux/ltmain.sh \ - $(top_srcdir)/ac-aux/missing \ - $(top_srcdir)/applications/wiki/scripts/addFile.in \ - $(top_srcdir)/applications/wiki/scripts/getPassword.in \ - $(top_srcdir)/applications/wiki/scripts/importFiles.in \ - $(top_srcdir)/applications/wiki/scripts/updateWiki.in \ - ChangeLog ac-aux/ar-lib ac-aux/compile ac-aux/config.guess \ - ac-aux/config.sub ac-aux/install-sh ac-aux/ltmain.sh \ - ac-aux/missing -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) -distdir = $(PACKAGE)-$(VERSION) -top_distdir = $(distdir) -am__remove_distdir = \ - if test -d "$(distdir)"; then \ - find "$(distdir)" -type d ! -perm -200 -exec chmod u+w {} ';' \ - && rm -rf "$(distdir)" \ - || { sleep 5 && rm -rf "$(distdir)"; }; \ - else :; fi -am__post_remove_distdir = $(am__remove_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 -DIST_TARGETS = dist-gzip -distuninstallcheck_listfiles = find . -type f -print -am__distuninstallcheck_listfiles = $(distuninstallcheck_listfiles) \ - | sed 's|^\./|$(prefix)/|' | grep -v '$(infodir)/dir$$' -distcleancheck_listfiles = find . -type f -print -ACLOCAL = @ACLOCAL@ -AMTAR = @AMTAR@ -AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ -APPDEPS = @APPDEPS@ -AR = @AR@ -AUTOCONF = @AUTOCONF@ -AUTOHEADER = @AUTOHEADER@ -AUTOMAKE = @AUTOMAKE@ -AWK = @AWK@ -CADAVER = @CADAVER@ -CC = @CC@ -CCDEPMODE = @CCDEPMODE@ -CFLAGS = @CFLAGS@ -CONFIG_STATUS_DEPENDENCIES = @CONFIG_STATUS_DEPENDENCIES@ -CPP = @CPP@ -CPPFLAGS = @CPPFLAGS@ -CT_RUN = @CT_RUN@ -CURL = @CURL@ -CYGPATH_W = @CYGPATH_W@ -DEFAULT_CHARSET = @DEFAULT_CHARSET@ -DEFS = @DEFS@ -DEPDIR = @DEPDIR@ -DIALYZER = @DIALYZER@ -DLLTOOL = @DLLTOOL@ -DSYMUTIL = @DSYMUTIL@ -DUMPBIN = @DUMPBIN@ -DVILATEX = @DVILATEX@ -DVIPS = @DVIPS@ -ECHO_C = @ECHO_C@ -ECHO_N = @ECHO_N@ -ECHO_T = @ECHO_T@ -EGREP = @EGREP@ -EPAM_CFLAGS = @EPAM_CFLAGS@ -EPSTOPDF = @EPSTOPDF@ -ERL = @ERL@ -ERLANG_ERTS_DIR = @ERLANG_ERTS_DIR@ -ERLANG_ERTS_VER = @ERLANG_ERTS_VER@ -ERLANG_INSTALL_LIB_DIR = @ERLANG_INSTALL_LIB_DIR@ -ERLANG_INSTALL_LIB_DIR_yapp = @ERLANG_INSTALL_LIB_DIR_yapp@ -ERLANG_INSTALL_LIB_DIR_yaws = @ERLANG_INSTALL_LIB_DIR_yaws@ -ERLANG_LIB_DIR = @ERLANG_LIB_DIR@ -ERLANG_LIB_DIR_common_test = @ERLANG_LIB_DIR_common_test@ -ERLANG_LIB_DIR_compiler = @ERLANG_LIB_DIR_compiler@ -ERLANG_LIB_DIR_crypto = @ERLANG_LIB_DIR_crypto@ -ERLANG_LIB_DIR_erlsom = @ERLANG_LIB_DIR_erlsom@ -ERLANG_LIB_DIR_erts = @ERLANG_LIB_DIR_erts@ -ERLANG_LIB_DIR_eunit = @ERLANG_LIB_DIR_eunit@ -ERLANG_LIB_DIR_inets = @ERLANG_LIB_DIR_inets@ -ERLANG_LIB_DIR_kernel = @ERLANG_LIB_DIR_kernel@ -ERLANG_LIB_DIR_mnesia = @ERLANG_LIB_DIR_mnesia@ -ERLANG_LIB_DIR_public_key = @ERLANG_LIB_DIR_public_key@ -ERLANG_LIB_DIR_sasl = @ERLANG_LIB_DIR_sasl@ -ERLANG_LIB_DIR_ssl = @ERLANG_LIB_DIR_ssl@ -ERLANG_LIB_DIR_stdlib = @ERLANG_LIB_DIR_stdlib@ -ERLANG_LIB_DIR_tools = @ERLANG_LIB_DIR_tools@ -ERLANG_LIB_DIR_xmerl = @ERLANG_LIB_DIR_xmerl@ -ERLANG_LIB_DIR_xmlrpc = @ERLANG_LIB_DIR_xmlrpc@ -ERLANG_LIB_VER_common_test = @ERLANG_LIB_VER_common_test@ -ERLANG_LIB_VER_compiler = @ERLANG_LIB_VER_compiler@ -ERLANG_LIB_VER_crypto = @ERLANG_LIB_VER_crypto@ -ERLANG_LIB_VER_erlsom = @ERLANG_LIB_VER_erlsom@ -ERLANG_LIB_VER_erts = @ERLANG_LIB_VER_erts@ -ERLANG_LIB_VER_eunit = @ERLANG_LIB_VER_eunit@ -ERLANG_LIB_VER_inets = @ERLANG_LIB_VER_inets@ -ERLANG_LIB_VER_kernel = @ERLANG_LIB_VER_kernel@ -ERLANG_LIB_VER_mnesia = @ERLANG_LIB_VER_mnesia@ -ERLANG_LIB_VER_public_key = @ERLANG_LIB_VER_public_key@ -ERLANG_LIB_VER_sasl = @ERLANG_LIB_VER_sasl@ -ERLANG_LIB_VER_ssl = @ERLANG_LIB_VER_ssl@ -ERLANG_LIB_VER_stdlib = @ERLANG_LIB_VER_stdlib@ -ERLANG_LIB_VER_tools = @ERLANG_LIB_VER_tools@ -ERLANG_LIB_VER_xmerl = @ERLANG_LIB_VER_xmerl@ -ERLANG_LIB_VER_xmlrpc = @ERLANG_LIB_VER_xmlrpc@ -ERLANG_RELEASE = @ERLANG_RELEASE@ -ERLANG_ROOT_DIR = @ERLANG_ROOT_DIR@ -ERLC = @ERLC@ -ERLCFLAGS = @ERLCFLAGS@ -ERL_LIBS = @ERL_LIBS@ -ESCRIPT = @ESCRIPT@ -EXEEXT = @EXEEXT@ -EXTRAINCLUDE = @EXTRAINCLUDE@ -FGREP = @FGREP@ -GREP = @GREP@ -HAVE_SENDFILE = @HAVE_SENDFILE@ -INSTALL = @INSTALL@ -INSTALL_BUILDER = @INSTALL_BUILDER@ -INSTALL_DATA = @INSTALL_DATA@ -INSTALL_PROGRAM = @INSTALL_PROGRAM@ -INSTALL_SCRIPT = @INSTALL_SCRIPT@ -INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ -LD = @LD@ -LDFLAGS = @LDFLAGS@ -LIBOBJS = @LIBOBJS@ -LIBS = @LIBS@ -LIBTOOL = @LIBTOOL@ -LIPO = @LIPO@ -LN_S = @LN_S@ -LTLIBOBJS = @LTLIBOBJS@ -LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@ -MAKEINFO = @MAKEINFO@ -MAN = @MAN@ -MANIFEST_TOOL = @MANIFEST_TOOL@ -MKDIR_P = @MKDIR_P@ -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_URL = @PACKAGE_URL@ -PACKAGE_VERSION = @PACKAGE_VERSION@ -PATH_SEPARATOR = @PATH_SEPARATOR@ -PDFLATEX = @PDFLATEX@ -PS2PDF = @PS2PDF@ -RANLIB = @RANLIB@ -SED = @SED@ -SET_MAKE = @SET_MAKE@ -SHELL = @SHELL@ -STRIP = @STRIP@ -TODOS = @TODOS@ -UNIX2DOS = @UNIX2DOS@ -VERSION = @VERSION@ -WERL = @WERL@ -YAPP_VSN = @YAPP_VSN@ -YAWS_VSN = @YAWS_VSN@ -abs_builddir = @abs_builddir@ -abs_srcdir = @abs_srcdir@ -abs_top_builddir = @abs_top_builddir@ -abs_top_srcdir = @abs_top_srcdir@ -ac_ct_AR = @ac_ct_AR@ -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@ -appsdir = @appsdir@ -bindir = @bindir@ -build = @build@ -build_alias = @build_alias@ -build_cpu = @build_cpu@ -build_os = @build_os@ -build_vendor = @build_vendor@ -builddir = @builddir@ -confdir = @confdir@ -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@ -logdir = @logdir@ -mandir = @mandir@ -mkdir_p = @mkdir_p@ -oldincludedir = @oldincludedir@ -pdfdir = @pdfdir@ -prefix = @prefix@ -program_transform_name = @program_transform_name@ -psdir = @psdir@ -runstatedir = @runstatedir@ -sbindir = @sbindir@ -sharedstatedir = @sharedstatedir@ -srcdir = @srcdir@ -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@ -wwwdir = @wwwdir@ -yappdir = @yappdir@ -yawsdir = @yawsdir@ -ACLOCAL_FLAGS = -I m4 -ACLOCAL_AMFLAGS = -I m4 -SUBDIRS = src ebin include priv $(am__append_1) $(am__append_2) \ - examples/src examples/ebin examples/include testsuite doc man \ - scripts www/code www/shoppingcart -APPDIRS = applications/chat applications/mail applications/wiki applications/yapp -EXTRA_DIST = ChangeLog known_dialyzer_warnings LICENSE \ - README.md README.osx README.pkg-config \ - rebar.config rebar.config.script two-mode-mode.el vsn.mk \ - include.mk erlang_deps.mk ssl munin contrib www rel - -@MINGW_FALSE@pkgconfigdir = $(libdir)/pkgconfig -@MINGW_FALSE@pkgconfig_DATA = yaws.pc -all: all-recursive - -.SUFFIXES: -am--refresh: Makefile - @: -$(srcdir)/Makefile.in: $(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 -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: $(am__configure_deps) - $(am__cd) $(srcdir) && $(AUTOCONF) -$(ACLOCAL_M4): $(am__aclocal_m4_deps) - $(am__cd) $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS) -$(am__aclocal_m4_deps): -yaws.pc: $(top_builddir)/config.status $(srcdir)/yaws.pc.in - cd $(top_builddir) && $(SHELL) ./config.status $@ -applications/wiki/scripts/addFile: $(top_builddir)/config.status $(top_srcdir)/applications/wiki/scripts/addFile.in - cd $(top_builddir) && $(SHELL) ./config.status $@ -applications/wiki/scripts/getPassword: $(top_builddir)/config.status $(top_srcdir)/applications/wiki/scripts/getPassword.in - cd $(top_builddir) && $(SHELL) ./config.status $@ -applications/wiki/scripts/importFiles: $(top_builddir)/config.status $(top_srcdir)/applications/wiki/scripts/importFiles.in - cd $(top_builddir) && $(SHELL) ./config.status $@ -applications/wiki/scripts/updateWiki: $(top_builddir)/config.status $(top_srcdir)/applications/wiki/scripts/updateWiki.in - cd $(top_builddir) && $(SHELL) ./config.status $@ - -mostlyclean-libtool: - -rm -f *.lo - -clean-libtool: - -rm -rf .libs _libs - -distclean-libtool: - -rm -f libtool config.lt -install-pkgconfigDATA: $(pkgconfig_DATA) - @$(NORMAL_INSTALL) - @list='$(pkgconfig_DATA)'; test -n "$(pkgconfigdir)" || list=; \ - if test -n "$$list"; then \ - echo " $(MKDIR_P) '$(DESTDIR)$(pkgconfigdir)'"; \ - $(MKDIR_P) "$(DESTDIR)$(pkgconfigdir)" || exit 1; \ - fi; \ - 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|^.*/||'`; \ - dir='$(DESTDIR)$(pkgconfigdir)'; $(am__uninstall_files_from_dir) - -# 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. -$(am__recursive_targets): - @fail=; \ - if $(am__make_keepgoing); then \ - failcom='fail=yes'; \ - else \ - failcom='exit 1'; \ - fi; \ - dot_seen=no; \ - target=`echo $@ | sed s/-recursive//`; \ - case "$@" in \ - distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ - *) list='$(SUBDIRS)' ;; \ - esac; \ - 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" - -ID: $(am__tagged_files) - $(am__define_uniq_tagged_files); mkid -fID $$unique -tags: tags-recursive -TAGS: tags - -tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) - 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; \ - $(am__define_uniq_tagged_files); \ - 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-recursive - -CTAGS: ctags -ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) - $(am__define_uniq_tagged_files); \ - 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" -cscope: cscope.files - test ! -s cscope.files \ - || $(CSCOPE) -b -q $(AM_CSCOPEFLAGS) $(CSCOPEFLAGS) -i cscope.files $(CSCOPE_ARGS) -clean-cscope: - -rm -f cscope.files -cscope.files: clean-cscope cscopelist -cscopelist: cscopelist-recursive - -cscopelist-am: $(am__tagged_files) - list='$(am__tagged_files)'; \ - case "$(srcdir)" in \ - [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ - *) sdir=$(subdir)/$(srcdir) ;; \ - esac; \ - for i in $$list; do \ - if test -f "$$i"; then \ - echo "$(subdir)/$$i"; \ - else \ - echo "$$sdir/$$i"; \ - fi; \ - done >> $(top_builddir)/cscope.files - -distclean-tags: - -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags - -rm -f cscope.out cscope.in.out cscope.po.out cscope.files - -distdir: $(DISTFILES) - $(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 \ - $(am__make_dryrun) \ - || test -d "$(distdir)/$$subdir" \ - || $(MKDIR_P) "$(distdir)/$$subdir" \ - || exit 1; \ - 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 - $(MAKE) $(AM_MAKEFLAGS) \ - top_distdir="$(top_distdir)" distdir="$(distdir)" \ - dist-hook - -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) | eval GZIP= gzip $(GZIP_ENV) -c >$(distdir).tar.gz - $(am__post_remove_distdir) - -dist-bzip2: distdir - tardir=$(distdir) && $(am__tar) | BZIP2=$${BZIP2--9} bzip2 -c >$(distdir).tar.bz2 - $(am__post_remove_distdir) - -dist-lzip: distdir - tardir=$(distdir) && $(am__tar) | lzip -c $${LZIP_OPT--9} >$(distdir).tar.lz - $(am__post_remove_distdir) - -dist-xz: distdir - tardir=$(distdir) && $(am__tar) | XZ_OPT=$${XZ_OPT--e} xz -c >$(distdir).tar.xz - $(am__post_remove_distdir) - -dist-tarZ: distdir - @echo WARNING: "Support for distribution archives compressed with" \ - "legacy program 'compress' is deprecated." >&2 - @echo WARNING: "It will be removed altogether in Automake 2.0" >&2 - tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z - $(am__post_remove_distdir) - -dist-shar: distdir - @echo WARNING: "Support for shar distribution archives is" \ - "deprecated." >&2 - @echo WARNING: "It will be removed altogether in Automake 2.0" >&2 - shar $(distdir) | eval GZIP= gzip $(GZIP_ENV) -c >$(distdir).shar.gz - $(am__post_remove_distdir) - -dist-zip: distdir - -rm -f $(distdir).zip - zip -rq $(distdir).zip $(distdir) - $(am__post_remove_distdir) - -dist dist-all: - $(MAKE) $(AM_MAKEFLAGS) $(DIST_TARGETS) am__post_remove_distdir='@:' - $(am__post_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*) \ - eval GZIP= gzip $(GZIP_ENV) -dc $(distdir).tar.gz | $(am__untar) ;;\ - *.tar.bz2*) \ - bzip2 -dc $(distdir).tar.bz2 | $(am__untar) ;;\ - *.tar.lz*) \ - lzip -dc $(distdir).tar.lz | $(am__untar) ;;\ - *.tar.xz*) \ - xz -dc $(distdir).tar.xz | $(am__untar) ;;\ - *.tar.Z*) \ - uncompress -c $(distdir).tar.Z | $(am__untar) ;;\ - *.shar.gz*) \ - eval GZIP= gzip $(GZIP_ENV) -dc $(distdir).shar.gz | unshar ;;\ - *.zip*) \ - unzip $(distdir).zip ;;\ - esac - chmod -R a-w $(distdir) - chmod u+w $(distdir) - mkdir $(distdir)/_build $(distdir)/_build/sub $(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/sub \ - && ../../configure \ - $(AM_DISTCHECK_CONFIGURE_FLAGS) \ - $(DISTCHECK_CONFIGURE_FLAGS) \ - --srcdir=../.. --prefix="$$dc_install_base" \ - && $(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__post_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: - @test -n '$(distuninstallcheck_dir)' || { \ - echo 'ERROR: trying to run $@ with an empty' \ - '$$(distuninstallcheck_dir)' >&2; \ - exit 1; \ - }; \ - $(am__cd) '$(distuninstallcheck_dir)' || { \ - echo 'ERROR: cannot chdir into $(distuninstallcheck_dir)' >&2; \ - exit 1; \ - }; \ - test `$(am__distuninstallcheck_listfiles) | wc -l` -eq 0 \ - || { 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 -check: check-recursive -all-am: Makefile $(DATA) all-local -installdirs: installdirs-recursive -installdirs-am: - for dir in "$(DESTDIR)$(pkgconfigdir)"; do \ - test -z "$$dir" || $(MKDIR_P) "$$dir"; \ - done -install: install-recursive -install-exec: install-exec-recursive -install-data: install-data-recursive -uninstall: uninstall-recursive - -install-am: all-am - @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am - -installcheck: installcheck-recursive -install-strip: - if test -z '$(STRIP)'; then \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - install; \ - else \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ - fi -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-recursive - -clean-am: clean-generic clean-libtool clean-local mostlyclean-am - -distclean: distclean-recursive - -rm -f $(am__CONFIG_DISTCLEAN_FILES) - -rm -f Makefile -distclean-am: clean-am distclean-generic 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-data-local install-pkgconfigDATA - -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-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 -f Makefile -maintainer-clean-am: distclean-am maintainer-clean-generic - -mostlyclean: mostlyclean-recursive - -mostlyclean-am: mostlyclean-generic mostlyclean-libtool - -pdf: pdf-recursive - -pdf-am: - -ps: ps-recursive - -ps-am: - -uninstall-am: uninstall-local uninstall-pkgconfigDATA - -.MAKE: $(am__recursive_targets) install-am install-strip - -.PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am all-local \ - am--refresh check check-am clean clean-cscope clean-generic \ - clean-libtool clean-local cscope cscopelist-am ctags ctags-am \ - dist dist-all dist-bzip2 dist-gzip dist-hook dist-lzip \ - dist-shar dist-tarZ dist-xz dist-zip distcheck distclean \ - distclean-generic 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-data-local install-dvi \ - install-dvi-am install-exec install-exec-am install-html \ - install-html-am install-info install-info-am install-man \ - install-pdf install-pdf-am install-pkgconfigDATA install-ps \ - install-ps-am install-strip installcheck installcheck-am \ - installdirs installdirs-am maintainer-clean \ - maintainer-clean-generic mostlyclean mostlyclean-generic \ - mostlyclean-libtool pdf pdf-am ps ps-am tags tags-am uninstall \ - uninstall-am uninstall-local uninstall-pkgconfigDATA - -.PRECIOUS: Makefile - - -@WINDOWS_FALSE@ # don't c-compile anything on win32 (yet) -@WINDOWS_FALSE@ # I don't know how to make a linked in driver using gcc, or any other compiler -@WINDOWS_FALSE@ # there, and have no intentions of finding out - -all-local: -clean-local: - $(AM_V_at)rm -f dialyzer_warnings - -install-data-local: all - $(AM_V_at)$(INSTALL) -d $(DESTDIR)$(wwwdir) - $(AM_V_at)(cd @top_srcdir@; tar cf - www ) | (cd $(DESTDIR)$(wwwdir)/..; tar xf - ) - $(AM_V_at)chmod -R u+rw $(DESTDIR)$(wwwdir) - - $(AM_V_at)$(INSTALL) -d $(DESTDIR)$(logdir) - - $(AM_V_at)$(INSTALL) -d $(DESTDIR)$(sysconfdir)/yaws - $(AM_V_at)$(INSTALL) -m 644 @srcdir@/ssl/yaws-cert.pem $(DESTDIR)$(sysconfdir)/yaws - $(AM_V_at)$(INSTALL) -m 644 @srcdir@/ssl/yaws-key.pem $(DESTDIR)$(sysconfdir)/yaws - $(AM_V_at)$(INSTALL) -m 644 @srcdir@/ssl/dhparams.pem $(DESTDIR)$(sysconfdir)/yaws - - @echo "-------------------------------" - @echo - @echo "** etc files went into $(sysconfdir)" - @echo "** executables went into $(bindir)" - @echo "** library files went into $(ERLANG_INSTALL_LIB_DIR_yaws)" - @echo "** logs went into $(logdir)" - @echo "** doc files went into $(docdir)" - @echo "** man files went into $(mandir)" - @echo "** default docroot went into $(wwwdir)" - - $(AM_V_at)if test $(yawsdir) != $(ERLANG_INSTALL_LIB_DIR_yaws); then \ - echo; \ - if test -d $(DESTDIR)$(yawsdir) && test ! -h $(DESTDIR)$(yawsdir); then \ - backupdir="$(DESTDIR)$(yawsdir).backup"; \ - echo "backup old yaws directory into $${backupdir}"; \ - mv $(DESTDIR)$(yawsdir) $${backupdir}; \ - else \ - $(INSTALL) -d `dirname $(yawsdir)`; \ - rm -f $(DESTDIR)$(yawsdir); \ - fi; \ - $(LN_S) -f $(ERLANG_INSTALL_LIB_DIR_yaws) $(DESTDIR)$(yawsdir); \ - echo "create link $(ERLANG_INSTALL_LIB_DIR_yaws) -> $(yawsdir)"; \ - fi - - @echo - @echo "--------------------------------" - -uninstall-local: - $(AM_V_at)(cd @top_srcdir@/www && find * -type f -exec rm -f $(DESTDIR)$(wwwdir)/{} \;) - $(AM_V_at)(cd @top_srcdir@/www && find * -type d -exec rm -fr $(DESTDIR)$(wwwdir)/{} \;) - $(AM_V_at)[ ! -h $(yawsdir) ] || rm -f $(DESTDIR)$(libdir)/yaws - $(AM_V_at)rm -r $(DESTDIR)$(sysconfdir)/yaws/yaws-cert.pem - $(AM_V_at)rm -r $(DESTDIR)$(sysconfdir)/yaws/yaws-key.pem - $(AM_V_at)rm -r $(DESTDIR)$(sysconfdir)/yaws/dhparams.pem - -debug: - $(MAKE) DEBUG_ERLC_FLAGS=" -Ddebug" CFLAGS="-Werror -Wall -O0 -g" - -docs: doc - -doc: - $(AM_V_at)( cd doc && $(MAKE) doc ) - -test: check - -list-checks: - $(AM_V_at)( cd testsuite && $(MAKE) list-checks ) - -cleantest: - $(AM_V_at)( cd testsuite && $(MAKE) clean ) - -yaws.plt: - $(AM_V_GEN)$(DIALYZER) --build_plt -r ebin --output_plt yaws.plt\ - -r $(ERLANG_LIB_DIR_kernel) \ - -r $(ERLANG_LIB_DIR_stdlib) \ - -r $(ERLANG_LIB_DIR_sasl) \ - -r $(ERLANG_LIB_DIR_erts) \ - -r $(ERLANG_LIB_DIR_compiler) \ - -r $(ERLANG_LIB_DIR_crypto) \ - -r $(ERLANG_LIB_DIR_xmerl) \ - -r $$(echo $(ERLANG_LIB_DIR_ssl) | sed "s/not found//") \ - -r $$(echo $(ERLANG_LIB_DIR_mnesia) | sed "s/not found//") \ - -r $$(echo $(ERLANG_LIB_DIR_inets) | sed "s/not found//") \ - -r $$(echo $(ERLANG_LIB_DIR_xmlrpc) | sed "s/not found//") \ - -r $$(echo $(ERLANG_LIB_DIR_erlsom) | sed "s/not found//") - -dialyzer: all yaws.plt - $(AM_V_at)$(DIALYZER) -q --plt yaws.plt -r ebin > dialyzer_warnings || true - $(AM_V_at)if diff -U0 @srcdir@/known_dialyzer_warnings dialyzer_warnings ; then \ - echo dialyzer check passed ; \ - exit 0 ; \ - else \ - exit 1 ; \ - fi - -dist-hook: clean cleantest cleanapps - $(AM_V_at)for a in $(APPDIRS); do \ - $(INSTALL) -d $(distdir)/$$a; \ - (cd $$a && $(MAKE) top_distdir=../../$(distdir) \ - distdir=../../$(distdir)/$$a distdir); \ - done - find $(distdir) -type d -name .deps | xargs rm -rf - -distclean-local: - $(AM_V_at)[ ! -h include/yaws.hrl ] || rm -f include/yaws.hrl - $(AM_V_at)[ ! -h include/yaws_api.hrl ] || rm -f include/yaws_api.hrl - $(AM_V_at)[ ! -h priv/mime.types ] || rm -f priv/mime.types - $(AM_V_at)for a in $(APPDIRS); do \ - (cd $$a && $(MAKE) distclean); \ - done - -mkinstaller: cleaninstaller - $(AM_V_at)if [ -z "$(UNIX2DOS)" -a -z "$(TODOS)" ]; then \ - echo "No unix2dos/todos program found"; \ - echo "Run apt-get install dos2unix/tofrodos"; \ - exit 1; \ - fi - - $(AM_V_at)if [ ! -d "$(INSTALL_BUILDER)" ]; then \ - echo "No installer-builder found"; \ - echo "For more information, read win32/README.developer"; \ - exit 1; \ - fi - - $(AM_V_at)$(MAKE) distdir - $(AM_V_at)$(MKDIR_P) $(distdir)/_build - $(AM_V_at)(cd $(distdir)/_build && ../configure \ - --host i586-mingw32msvc --prefix=/ --docdir=/doc --mandir=/man \ - wwwdir=/www logdir=/logs yawsdir=/ confdir=/ appsdir=/applications \ - yappdir=/applications/yapp INSTALL_BUILDER=$(INSTALL_BUILDER)) - $(AM_V_at)(cd $(distdir)/_build && $(MAKE) install DESTDIR=@abs_builddir@/$(distdir)/_inst) - $(AM_V_at)(cd $(distdir)/_build && $(MAKE) installapps DESTDIR=@abs_builddir@/$(distdir)/_inst) - $(AM_V_at)(cd $(distdir)/_build/win32 && $(MAKE) mkinstaller DESTDIR=@abs_builddir@/$(distdir)/_inst) - $(AM_V_at)cp $(distdir)/*.exe @builddir@ - $(AM_V_at)rm -fr $(distdir) - -cleaninstaller: - $(AM_V_at)rm -f *.exe - $(AM_V_at)rm -fr $(distdir) - -apps: $(APPDIRS) - -$(APPDIRS): - $(AM_V_at)(cd $@ && $(MAKE) all) - -cleanapps: - $(AM_V_at)for a in $(APPDIRS); do \ - (cd $$a && $(MAKE) clean); \ - done - -installapps: apps - $(AM_V_at)$(INSTALL) -d $(DESTDIR)$(appsdir) - $(AM_V_at)for a in $(APPDIRS); do \ - (cd $$a && $(MAKE) install); \ - done - -uninstallapps: apps - $(AM_V_at)for a in $(APPDIRS); do \ - (cd $$a && $(MAKE) uninstall); \ - done - -fullinstall: install installapps -fulluninstall: uninstall uninstallapps - -fullclean: clean cleantest cleaninstaller cleanapps - -.PHONY: test doc $(APPDIRS) - -# Local Variables: -# tab-width: 8 -# End: - -# Tell versions [3.59,3.63) of GNU make to not export all variables. -# Otherwise a system limit (for SysV at least) may be exceeded. -.NOEXPORT: diff -Nru yaws-2.0.6+dfsg/man/Makefile.in yaws-2.0.7+dfsg/man/Makefile.in --- yaws-2.0.6+dfsg/man/Makefile.in 2018-06-26 09:17:08.000000000 +0000 +++ yaws-2.0.7+dfsg/man/Makefile.in 1970-01-01 00:00:00.000000000 +0000 @@ -1,558 +0,0 @@ -# Makefile.in generated by automake 1.15.1 from Makefile.am. -# @configure_input@ - -# Copyright (C) 1994-2017 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@ -am__is_gnu_make = { \ - if test -z '$(MAKELEVEL)'; then \ - false; \ - elif test -n '$(MAKE_HOST)'; then \ - true; \ - elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ - true; \ - else \ - false; \ - fi; \ -} -am__make_running_with_option = \ - case $${target_option-} in \ - ?) ;; \ - *) echo "am__make_running_with_option: internal error: invalid" \ - "target option '$${target_option-}' specified" >&2; \ - exit 1;; \ - esac; \ - has_opt=no; \ - sane_makeflags=$$MAKEFLAGS; \ - if $(am__is_gnu_make); then \ - sane_makeflags=$$MFLAGS; \ - else \ - case $$MAKEFLAGS in \ - *\\[\ \ ]*) \ - bs=\\; \ - sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ - | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ - esac; \ - fi; \ - skip_next=no; \ - strip_trailopt () \ - { \ - flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ - }; \ - for flg in $$sane_makeflags; do \ - test $$skip_next = yes && { skip_next=no; continue; }; \ - case $$flg in \ - *=*|--*) continue;; \ - -*I) strip_trailopt 'I'; skip_next=yes;; \ - -*I?*) strip_trailopt 'I';; \ - -*O) strip_trailopt 'O'; skip_next=yes;; \ - -*O?*) strip_trailopt 'O';; \ - -*l) strip_trailopt 'l'; skip_next=yes;; \ - -*l?*) strip_trailopt 'l';; \ - -[dEDm]) skip_next=yes;; \ - -[JT]) skip_next=yes;; \ - esac; \ - case $$flg in \ - *$$target_option*) has_opt=yes; break;; \ - esac; \ - done; \ - test $$has_opt = yes -am__make_dryrun = (target_option=n; $(am__make_running_with_option)) -am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) -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 = man -ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/m4/ax_compare_version.m4 \ - $(top_srcdir)/m4/colored-echo.m4 $(top_srcdir)/m4/erlang.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)/configure.ac -am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ - $(ACLOCAL_M4) -DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON) -mkinstalldirs = $(install_sh) -d -CONFIG_CLEAN_FILES = -CONFIG_CLEAN_VPATH_FILES = -AM_V_P = $(am__v_P_@AM_V@) -am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) -am__v_P_0 = false -am__v_P_1 = : -AM_V_GEN = $(am__v_GEN_@AM_V@) -am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) -am__v_GEN_0 = @echo " GEN " $@; -am__v_GEN_1 = -AM_V_at = $(am__v_at_@AM_V@) -am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) -am__v_at_0 = @ -am__v_at_1 = -SOURCES = -DIST_SOURCES = -am__can_run_installinfo = \ - case $$AM_UPDATE_INFO_DIR in \ - n|no|NO) false;; \ - *) (install-info --version) >/dev/null 2>&1;; \ - esac -am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) -am__DIST_COMMON = $(srcdir)/Makefile.in -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) -ACLOCAL = @ACLOCAL@ -AMTAR = @AMTAR@ -AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ -APPDEPS = @APPDEPS@ -AR = @AR@ -AUTOCONF = @AUTOCONF@ -AUTOHEADER = @AUTOHEADER@ -AUTOMAKE = @AUTOMAKE@ -AWK = @AWK@ -CADAVER = @CADAVER@ -CC = @CC@ -CCDEPMODE = @CCDEPMODE@ -CFLAGS = @CFLAGS@ -CONFIG_STATUS_DEPENDENCIES = @CONFIG_STATUS_DEPENDENCIES@ -CPP = @CPP@ -CPPFLAGS = @CPPFLAGS@ -CT_RUN = @CT_RUN@ -CURL = @CURL@ -CYGPATH_W = @CYGPATH_W@ -DEFAULT_CHARSET = @DEFAULT_CHARSET@ -DEFS = @DEFS@ -DEPDIR = @DEPDIR@ -DIALYZER = @DIALYZER@ -DLLTOOL = @DLLTOOL@ -DSYMUTIL = @DSYMUTIL@ -DUMPBIN = @DUMPBIN@ -DVILATEX = @DVILATEX@ -DVIPS = @DVIPS@ -ECHO_C = @ECHO_C@ -ECHO_N = @ECHO_N@ -ECHO_T = @ECHO_T@ -EGREP = @EGREP@ -EPAM_CFLAGS = @EPAM_CFLAGS@ -EPSTOPDF = @EPSTOPDF@ -ERL = @ERL@ -ERLANG_ERTS_DIR = @ERLANG_ERTS_DIR@ -ERLANG_ERTS_VER = @ERLANG_ERTS_VER@ -ERLANG_INSTALL_LIB_DIR = @ERLANG_INSTALL_LIB_DIR@ -ERLANG_INSTALL_LIB_DIR_yapp = @ERLANG_INSTALL_LIB_DIR_yapp@ -ERLANG_INSTALL_LIB_DIR_yaws = @ERLANG_INSTALL_LIB_DIR_yaws@ -ERLANG_LIB_DIR = @ERLANG_LIB_DIR@ -ERLANG_LIB_DIR_common_test = @ERLANG_LIB_DIR_common_test@ -ERLANG_LIB_DIR_compiler = @ERLANG_LIB_DIR_compiler@ -ERLANG_LIB_DIR_crypto = @ERLANG_LIB_DIR_crypto@ -ERLANG_LIB_DIR_erlsom = @ERLANG_LIB_DIR_erlsom@ -ERLANG_LIB_DIR_erts = @ERLANG_LIB_DIR_erts@ -ERLANG_LIB_DIR_eunit = @ERLANG_LIB_DIR_eunit@ -ERLANG_LIB_DIR_inets = @ERLANG_LIB_DIR_inets@ -ERLANG_LIB_DIR_kernel = @ERLANG_LIB_DIR_kernel@ -ERLANG_LIB_DIR_mnesia = @ERLANG_LIB_DIR_mnesia@ -ERLANG_LIB_DIR_public_key = @ERLANG_LIB_DIR_public_key@ -ERLANG_LIB_DIR_sasl = @ERLANG_LIB_DIR_sasl@ -ERLANG_LIB_DIR_ssl = @ERLANG_LIB_DIR_ssl@ -ERLANG_LIB_DIR_stdlib = @ERLANG_LIB_DIR_stdlib@ -ERLANG_LIB_DIR_tools = @ERLANG_LIB_DIR_tools@ -ERLANG_LIB_DIR_xmerl = @ERLANG_LIB_DIR_xmerl@ -ERLANG_LIB_DIR_xmlrpc = @ERLANG_LIB_DIR_xmlrpc@ -ERLANG_LIB_VER_common_test = @ERLANG_LIB_VER_common_test@ -ERLANG_LIB_VER_compiler = @ERLANG_LIB_VER_compiler@ -ERLANG_LIB_VER_crypto = @ERLANG_LIB_VER_crypto@ -ERLANG_LIB_VER_erlsom = @ERLANG_LIB_VER_erlsom@ -ERLANG_LIB_VER_erts = @ERLANG_LIB_VER_erts@ -ERLANG_LIB_VER_eunit = @ERLANG_LIB_VER_eunit@ -ERLANG_LIB_VER_inets = @ERLANG_LIB_VER_inets@ -ERLANG_LIB_VER_kernel = @ERLANG_LIB_VER_kernel@ -ERLANG_LIB_VER_mnesia = @ERLANG_LIB_VER_mnesia@ -ERLANG_LIB_VER_public_key = @ERLANG_LIB_VER_public_key@ -ERLANG_LIB_VER_sasl = @ERLANG_LIB_VER_sasl@ -ERLANG_LIB_VER_ssl = @ERLANG_LIB_VER_ssl@ -ERLANG_LIB_VER_stdlib = @ERLANG_LIB_VER_stdlib@ -ERLANG_LIB_VER_tools = @ERLANG_LIB_VER_tools@ -ERLANG_LIB_VER_xmerl = @ERLANG_LIB_VER_xmerl@ -ERLANG_LIB_VER_xmlrpc = @ERLANG_LIB_VER_xmlrpc@ -ERLANG_RELEASE = @ERLANG_RELEASE@ -ERLANG_ROOT_DIR = @ERLANG_ROOT_DIR@ -ERLC = @ERLC@ -ERLCFLAGS = @ERLCFLAGS@ -ERL_LIBS = @ERL_LIBS@ -ESCRIPT = @ESCRIPT@ -EXEEXT = @EXEEXT@ -EXTRAINCLUDE = @EXTRAINCLUDE@ -FGREP = @FGREP@ -GREP = @GREP@ -HAVE_SENDFILE = @HAVE_SENDFILE@ -INSTALL = @INSTALL@ -INSTALL_BUILDER = @INSTALL_BUILDER@ -INSTALL_DATA = @INSTALL_DATA@ -INSTALL_PROGRAM = @INSTALL_PROGRAM@ -INSTALL_SCRIPT = @INSTALL_SCRIPT@ -INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ -LD = @LD@ -LDFLAGS = @LDFLAGS@ -LIBOBJS = @LIBOBJS@ -LIBS = @LIBS@ -LIBTOOL = @LIBTOOL@ -LIPO = @LIPO@ -LN_S = @LN_S@ -LTLIBOBJS = @LTLIBOBJS@ -LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@ -MAKEINFO = @MAKEINFO@ -MAN = @MAN@ -MANIFEST_TOOL = @MANIFEST_TOOL@ -MKDIR_P = @MKDIR_P@ -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_URL = @PACKAGE_URL@ -PACKAGE_VERSION = @PACKAGE_VERSION@ -PATH_SEPARATOR = @PATH_SEPARATOR@ -PDFLATEX = @PDFLATEX@ -PS2PDF = @PS2PDF@ -RANLIB = @RANLIB@ -SED = @SED@ -SET_MAKE = @SET_MAKE@ -SHELL = @SHELL@ -STRIP = @STRIP@ -TODOS = @TODOS@ -UNIX2DOS = @UNIX2DOS@ -VERSION = @VERSION@ -WERL = @WERL@ -YAPP_VSN = @YAPP_VSN@ -YAWS_VSN = @YAWS_VSN@ -abs_builddir = @abs_builddir@ -abs_srcdir = @abs_srcdir@ -abs_top_builddir = @abs_top_builddir@ -abs_top_srcdir = @abs_top_srcdir@ -ac_ct_AR = @ac_ct_AR@ -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@ -appsdir = @appsdir@ -bindir = @bindir@ -build = @build@ -build_alias = @build_alias@ -build_cpu = @build_cpu@ -build_os = @build_os@ -build_vendor = @build_vendor@ -builddir = @builddir@ -confdir = @confdir@ -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@ -logdir = @logdir@ -mandir = @mandir@ -mkdir_p = @mkdir_p@ -oldincludedir = @oldincludedir@ -pdfdir = @pdfdir@ -prefix = @prefix@ -program_transform_name = @program_transform_name@ -psdir = @psdir@ -runstatedir = @runstatedir@ -sbindir = @sbindir@ -sharedstatedir = @sharedstatedir@ -srcdir = @srcdir@ -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@ -wwwdir = @wwwdir@ -yappdir = @yappdir@ -yawsdir = @yawsdir@ -MANPAGES = yaws.1 yaws.conf.5 yaws_api.5 yaws_soap_lib.5 -PDFS = $(MANPAGES:=.pdf) -EXTRA_DIST = $(MANPAGES) -all: all-am - -.SUFFIXES: -$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) - @for dep in $?; do \ - case '$(am__configure_deps)' in \ - *$$dep*) \ - ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ - && { if test -f $@; then exit 0; else break; fi; }; \ - exit 1;; \ - esac; \ - done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign man/Makefile'; \ - $(am__cd) $(top_srcdir) && \ - $(AUTOMAKE) --foreign man/Makefile -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - @case '$?' in \ - *config.status*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ - *) \ - echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ - esac; - -$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh - -$(top_srcdir)/configure: $(am__configure_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(ACLOCAL_M4): $(am__aclocal_m4_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(am__aclocal_m4_deps): - -mostlyclean-libtool: - -rm -f *.lo - -clean-libtool: - -rm -rf .libs _libs -tags TAGS: - -ctags CTAGS: - -cscope cscopelist: - - -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: - if test -z '$(STRIP)'; then \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - install; \ - else \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ - fi -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." -@MINGW_FALSE@pdf-local: -@MINGW_FALSE@clean-local: -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-data-local - -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: pdf-local - -ps: ps-am - -ps-am: - -uninstall-am: uninstall-local - -.MAKE: install-am install-strip - -.PHONY: all all-am check check-am clean clean-generic clean-libtool \ - clean-local cscopelist-am ctags-am distclean distclean-generic \ - distclean-libtool distdir dvi dvi-am html html-am info info-am \ - install install-am install-data install-data-am \ - install-data-local 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 pdf-local ps ps-am tags-am \ - uninstall uninstall-am uninstall-local - -.PRECIOUS: Makefile - - -@MINGW_FALSE@install-data-local: -@MINGW_FALSE@ $(AM_V_at)$(INSTALL) -d $(DESTDIR)$(mandir)/man1 -@MINGW_FALSE@ $(AM_V_at)$(INSTALL) -d $(DESTDIR)$(mandir)/man5 -@MINGW_FALSE@ $(AM_V_at)$(INSTALL) -m 644 @srcdir@/yaws.1 $(DESTDIR)$(mandir)/man1 -@MINGW_FALSE@ $(AM_V_at)$(INSTALL) -m 644 @srcdir@/yaws.conf.5 $(DESTDIR)$(mandir)/man5 -@MINGW_FALSE@ $(AM_V_at)$(INSTALL) -m 644 @srcdir@/yaws_api.5 $(DESTDIR)$(mandir)/man5 -@MINGW_FALSE@ $(AM_V_at)$(INSTALL) -m 644 @srcdir@/yaws_soap_lib.5 $(DESTDIR)$(mandir)/man5 - -@MINGW_FALSE@uninstall-local: -@MINGW_FALSE@ $(AM_V_at)rm -f $(DESTDIR)$(mandir)/man1/yaws.1 -@MINGW_FALSE@ $(AM_V_at)rm -f $(DESTDIR)$(mandir)/man5/yaws.conf.5 -@MINGW_FALSE@ $(AM_V_at)rm -f $(DESTDIR)$(mandir)/man5/yaws_api.5 -@MINGW_FALSE@ $(AM_V_at)rm -f $(DESTDIR)$(mandir)/man5/yaws_soap_lib.5 - -@MINGW_TRUE@install-data-local: pdf -@MINGW_TRUE@ $(AM_V_at)$(INSTALL) -d $(DESTDIR)$(mandir) -@MINGW_TRUE@ $(AM_V_at)$(INSTALL) -m 644 yaws.1.pdf $(DESTDIR)$(mandir) -@MINGW_TRUE@ $(AM_V_at)$(INSTALL) -m 644 yaws.conf.5.pdf $(DESTDIR)$(mandir) -@MINGW_TRUE@ $(AM_V_at)$(INSTALL) -m 644 yaws_api.5.pdf $(DESTDIR)$(mandir) -@MINGW_TRUE@ $(AM_V_at)$(INSTALL) -m 644 yaws_soap_lib.5.pdf $(DESTDIR)$(mandir) - -@MINGW_TRUE@uninstall-local: -@MINGW_TRUE@ $(AM_V_at)rm -f $(DESTDIR)$(mandir)/yaws.1.pdf -@MINGW_TRUE@ $(AM_V_at)rm -f $(DESTDIR)$(mandir)/yaws.conf.5.pdf -@MINGW_TRUE@ $(AM_V_at)rm -f $(DESTDIR)$(mandir)/yaws_api.5.pdf -@MINGW_TRUE@ $(AM_V_at)rm -f $(DESTDIR)$(mandir)/yaws_soap_lib.5.pdf - -@MINGW_TRUE@pdf-local: $(PDFS) - -@MINGW_TRUE@%.pdf: % -@MINGW_TRUE@ $(AM_V_GEN)$(MAN) -t $< 2>/dev/null | $(PS2PDF) - $@; - -@MINGW_TRUE@clean-local: -@MINGW_TRUE@ $(AM_V_at)rm -f $(PDFS) - -# Local Variables: -# tab-width: 8 -# End: - -# Tell versions [3.59,3.63) of GNU make to not export all variables. -# Otherwise a system limit (for SysV at least) may be exceeded. -.NOEXPORT: diff -Nru yaws-2.0.6+dfsg/man/yaws_api.5 yaws-2.0.7+dfsg/man/yaws_api.5 --- yaws-2.0.6+dfsg/man/yaws_api.5 2018-04-11 14:14:36.000000000 +0000 +++ yaws-2.0.7+dfsg/man/yaws_api.5 2019-07-14 13:01:11.000000000 +0000 @@ -513,8 +513,9 @@ character. .TP -\fBurl_encode(Str)\fR -Url-encodes a string. All URLs in HTML documents must be URL encoded. +\fBurl_encode(URL)\fR +URL-encodes a string or binary, and returns a string. All URLs in HTML +documents must be URL encoded. .TP \fBget_sslsocket(Socket)\fR @@ -540,20 +541,24 @@ .TP \fBreformat_header(H, FormatFun)\fR -Returns a list of reformatted header values from a #headers{} record, with -each element of the list formatted via a call to \fIFormatFun\fR. This -enables converting #headers{} records into various lists of headers and -their values. Note that sometimes the \fISet-Cookie\fR header will contain -a tuple value of the form \fI{multi, ValueList}\fR \[em] see -\fImerge_header/2\fR below for details \[em] so formatting functions should -be prepared to handle such a tuple. They should handle it by formatting -each member of \fIValueList\fR as a separate \fISet-Cookie\fR header, then -returning all such header-value pairs in a list. Note that this implies -that sometimes the return values of \fIreformat_header/1\fR and -\fIreformat_header/2\fR can be a multi-level list. The \fI{multi, -ValueList}\fR construct results only from calls to \fImerge_header/2\fR or -\fImerge_header/3\fR, where multiple values are set in separate calls for -the same header. +Returns a list of reformatted header values from a #headers{} record, +with each element of the list formatted via a call to +\fIFormatFun\fR. This enables converting #headers{} records into +various lists of headers and their values. Note that sometimes the +\fISet-Cookie\fR header or other headers will contain a tuple value of +the form \fI{multi, ValueList}\fR. (The \fI{multi, ValueList}\fR +construct typically results from calls to \fImerge_header/2\fR or +\fImerge_header/3\fR, where multiple values are set in separate calls +for the same header; see \fImerge_header/2\fR below for details.) +Formatting functions should therefore be capable of handling a +\fI{multi, ValueList}\fR tuple. They should handle it by formatting +each member of \fIValueList\fR as a separate header string, storing +all such header strings in a list, and returning that list in a +\fI{multi, HdrList}\fR tuple. Note that in versions of Yaws 2.0.6 and +older, formatting functions returned such header lists directly, which +implies that sometimes the return values of \fIreformat_header/1\fR +and \fIreformat_header/2\fR can be a multi-level list if constructed +by one of these older formatting functions. .TP \fBset_header(Headers, {Header, Value})\fR @@ -911,6 +916,11 @@ Sets the Vary: header. +\fI{accept_ranges, What}\fR + +Sets the Accept-Ranges: header. + + All other headers must be added using the normal HTTP syntax. Example: @@ -1006,6 +1016,11 @@ The {ssi, File, Delimiter, Bindings} statement can also occur within a deep ehtml structure. +The special directive \fIstrip_undefined\fR can be specified in +the \fIBindings\fR list, just as it can for the \fI{bindings, ....}\fR +directive, but it's ignored because treating undefined variables +as empty is the default for \fIssi\fR bindings. + .TP \fB{bindings, [{Key1, Value2}, {Key2, Value2} .....]}\fR @@ -1014,9 +1029,20 @@ All bindings can then be used in the rest of yaws code (in HTML source and within erl tags). In HTML source %%Key%% is expanded to Value and within erl -tags \fIyaws_api:binding(Key)\fR can be used to extract Value -and \fIyaws_api:binding_exists(Key)\fR can be used to check for -the existence of a binding. +tags \fIyaws_api:binding(Key)\fR (which calls \fIerror\fR if +no such binding exists) or \fIyaws_api:binding_find(Key)\fR +(which returns \fIundefined\fR if no such binding exists) +can be used to extract Value, and \fIyaws_api:binding_exists(Key)\fR +can be used to check for the existence of a binding. + +If a page happens to contains text that looks like a binding, e.g. +%%SomeText%%, but no key \fISomeText\fR is supplied, then by default +the original text is left as is. If you prefer that anything parsed +as a binding gets stripped out of a page whenever the \fBbindings\fR +directive does not specify its key, include the special directive +\fIstrip_undefined\fR in the bindings list: + +{bindings, [{Key1, Value1}, strip_undefined]} .TP \fB{yssi, YawsFile}\fR diff -Nru yaws-2.0.6+dfsg/man/yaws.conf.5 yaws-2.0.7+dfsg/man/yaws.conf.5 --- yaws-2.0.6+dfsg/man/yaws.conf.5 2018-04-11 14:14:36.000000000 +0000 +++ yaws-2.0.7+dfsg/man/yaws.conf.5 2019-07-14 13:01:11.000000000 +0000 @@ -147,20 +147,18 @@ .TP \fBlarge_file_chunk_size = Integer\fR -Set the chunk size used by Yaws to send large files when sendfile is not -supported or disabled. The default value is \fI10240\fR. +Set the chunk size used by Yaws to send large files. The default value +is \fI10240\fR. .TP -\fBlarge_file_sendfile = erlang | yaws | disable\fR -Set the version of sendfile method to use to send large files (if supported): +\fBlarge_file_sendfile = erlang | disable\fR +Set the version of sendfile method to use to send large files: -\fBerlang\fR - use \fIfile:sendfile/5\fR, if supported. +\fBerlang\fR - use \fIfile:sendfile/5\fR. -\fByaws\fR - use Yaws sendfile linked-in driver, if supported. +\fBdisable\fR - use \fIgen_tcp:send/2\fR. -\fBdisable\fR - do not use any sendfile method, but \fIgen_tcp:send/2\fR. - -The default value is \fIyaws\fR. +The default value is \fIerlang\fR. .TP \fBacceptor_pool_size = Integer\fR @@ -672,8 +670,8 @@ By default, the following MIME types are compressed (if \fBdeflate\fR is set to true): \fItext/*, application/rtf, application/msword, -application/pdf, application/x-dvi, application/javascript, -application/x-javascript\fR. Multiple \fBmime_types\fR directive can be used. +application/pdf, application/x-dvi, application/javascript\fR. Multiple +\fBmime_types\fR directives can be used. .RE .TP @@ -1185,6 +1183,23 @@ .RE .IP +\fBeccs = String\fR +.RS 12 +This string specifies the supported Elliptic Curve Cryptography (ECC). +It must be a subset of \fBssl:eccs()\fR. For PCI DSS compliance +(which is the main reason why you would want to change this), set it +on a single line to: +.nf + +eccs = "[sect571r1, sect571k1, secp521r1, brainpoolP512r1, \\ + sect409k1, sect409r1, brainpoolP384r1, secp384r1, \\ + sect283k1, sect283r1, brainpoolP256r1, secp256k1, \\ + secp256r1, sect239k1, xsect233k1, sect233r1, \\ + secp224k1, secp224r1]" +.fi +.RE + +.IP \fBsecure_renegotiate = true | false\fR .RS 12 Specifies whether to reject renegotiation attempt that does not live up to @@ -1459,8 +1474,102 @@ This mechanism can be used to pass data from a surrounding application into the individual .yaws pages. +.TP +\fBstrip_undefined_bindings = true | false\fR +Change the behavior of the \fI{bindings, [...]}\fR directive to treat +all undefined keys found in returned \fIout/1\fR content as if they +were defined with an empty value, resulting in all undefined bindings +effectively being stripped out of returned content. By default, +\fIstrip_undefined_bindings\fR is false, which means undefined +bindings are ignored and their text is left as is in returned content. + +This setting applies only for \fIout/1\fR content, not to static pages +or other returned content. + +.TP +\fB ... \fR +This begins and ends a configuration context for extra response +headers for this server, where directives for adding headers, erasing +headers, and modules for handling extra response headers can be +specified as follows: + +.RS 12 +.TP +\fBadd Hdr = Value\fR +Add \fIHdr\fR with value \fIValue\fR to the response, but only if the +response status code is one of these values: + +.RS 12 +.nf +200 OK +201 Created +204 No Content +206 Partial Content +301 Moved Permanently +302 Found +303 See Other +304 Not Modified +307 Temporary Redirect +308 Permanent Redirect +.fi +.RE + +For any other status code, \fIHdr\fR is not added. + +.TP +\fBalways add Hdr = Value\fR +Unconditionally add \fIHdr\fR with value \fIValue\fR to the response, +regardless of the response status code. + +.TP +\fBerase Hdr\fR +Remove \fIHdr\Fr and its associated value from the response. + +.TP +\fBextramod = Module\fR +Specifies a module to call to process extra response headers. Yaws +calls \fIModule:extra_response_headers/3\fR passing the following +arguments: +.RS 12 +.TP +\fBResponse headers\fR +An Erlang map holding the response headers with header name strings as +keys and strings as header values +.TP +\fBArg\Fr +An \fI#arg{}\fR record representing the request + +.TP +\fB{StatusCode,Version}\fR +A tuple where \fIStatusCode\fR is the numeric HTTP status code for the +response, and \fIVersion\fR is a tuple specifying the HTTP version, +e.g. \fI{1,1}\fR for HTTP 1.1. +.RE + +The \fIModule:extra_response_headers/3\fR function should return +either the original header map or a modified map where headers have +been added, changed, or deleted. Added headers are not subject to the +status code restrictions for the \fIadd\fR extra response header +directive, but the function can call +\fByaws_api:http_extra_response_headers_add_status_codes/0\fR to +retrieve the list of the status codes for which adding headers is +normally allowed. + +For response headers that can have multiple settings, such as +\fISet-Cookie\fR, multiple values can be specified in the extra +response header map by using a value of \fI{multi, [Value]}\fR where +\fI[Value]\fR is a list of one or more header values. The +\fISet-Cookie\fR header is a standard special case for which Yaws +converts a \fImulti\fR header into a separate Set-Cookie header for +each value; for other headers, Yaws converts a \fImulti\fR header into +a single HTTP header with a comma-separated value. +.RE + +Note that extra response headers do not apply to responses returned +directly by any \fIDispatchModule\fR. +.RE .SH EXAMPLES diff -Nru yaws-2.0.6+dfsg/priv/Makefile.in yaws-2.0.7+dfsg/priv/Makefile.in --- yaws-2.0.6+dfsg/priv/Makefile.in 2018-06-26 09:17:08.000000000 +0000 +++ yaws-2.0.7+dfsg/priv/Makefile.in 1970-01-01 00:00:00.000000000 +0000 @@ -1,575 +0,0 @@ -# Makefile.in generated by automake 1.15.1 from Makefile.am. -# @configure_input@ - -# Copyright (C) 1994-2017 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@ -am__is_gnu_make = { \ - if test -z '$(MAKELEVEL)'; then \ - false; \ - elif test -n '$(MAKE_HOST)'; then \ - true; \ - elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ - true; \ - else \ - false; \ - fi; \ -} -am__make_running_with_option = \ - case $${target_option-} in \ - ?) ;; \ - *) echo "am__make_running_with_option: internal error: invalid" \ - "target option '$${target_option-}' specified" >&2; \ - exit 1;; \ - esac; \ - has_opt=no; \ - sane_makeflags=$$MAKEFLAGS; \ - if $(am__is_gnu_make); then \ - sane_makeflags=$$MFLAGS; \ - else \ - case $$MAKEFLAGS in \ - *\\[\ \ ]*) \ - bs=\\; \ - sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ - | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ - esac; \ - fi; \ - skip_next=no; \ - strip_trailopt () \ - { \ - flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ - }; \ - for flg in $$sane_makeflags; do \ - test $$skip_next = yes && { skip_next=no; continue; }; \ - case $$flg in \ - *=*|--*) continue;; \ - -*I) strip_trailopt 'I'; skip_next=yes;; \ - -*I?*) strip_trailopt 'I';; \ - -*O) strip_trailopt 'O'; skip_next=yes;; \ - -*O?*) strip_trailopt 'O';; \ - -*l) strip_trailopt 'l'; skip_next=yes;; \ - -*l?*) strip_trailopt 'l';; \ - -[dEDm]) skip_next=yes;; \ - -[JT]) skip_next=yes;; \ - esac; \ - case $$flg in \ - *$$target_option*) has_opt=yes; break;; \ - esac; \ - done; \ - test $$has_opt = yes -am__make_dryrun = (target_option=n; $(am__make_running_with_option)) -am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) -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 = priv -ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/m4/ax_compare_version.m4 \ - $(top_srcdir)/m4/colored-echo.m4 $(top_srcdir)/m4/erlang.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)/configure.ac -am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ - $(ACLOCAL_M4) -DIST_COMMON = $(srcdir)/Makefile.am $(dist_priv_DATA) \ - $(am__DIST_COMMON) -mkinstalldirs = $(install_sh) -d -CONFIG_CLEAN_FILES = -CONFIG_CLEAN_VPATH_FILES = -AM_V_P = $(am__v_P_@AM_V@) -am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) -am__v_P_0 = false -am__v_P_1 = : -AM_V_GEN = $(am__v_GEN_@AM_V@) -am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) -am__v_GEN_0 = @echo " GEN " $@; -am__v_GEN_1 = -AM_V_at = $(am__v_at_@AM_V@) -am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) -am__v_at_0 = @ -am__v_at_1 = -SOURCES = -DIST_SOURCES = -am__can_run_installinfo = \ - case $$AM_UPDATE_INFO_DIR in \ - n|no|NO) false;; \ - *) (install-info --version) >/dev/null 2>&1;; \ - esac -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__uninstall_files_from_dir = { \ - test -z "$$files" \ - || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \ - || { echo " ( cd '$$dir' && rm -f" $$files ")"; \ - $(am__cd) "$$dir" && rm -f $$files; }; \ - } -am__installdirs = "$(DESTDIR)$(privdir)" -DATA = $(dist_priv_DATA) -am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) -am__DIST_COMMON = $(srcdir)/Makefile.in -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) -ACLOCAL = @ACLOCAL@ -AMTAR = @AMTAR@ -AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ -APPDEPS = @APPDEPS@ -AR = @AR@ -AUTOCONF = @AUTOCONF@ -AUTOHEADER = @AUTOHEADER@ -AUTOMAKE = @AUTOMAKE@ -AWK = @AWK@ -CADAVER = @CADAVER@ -CC = @CC@ -CCDEPMODE = @CCDEPMODE@ -CFLAGS = @CFLAGS@ -CONFIG_STATUS_DEPENDENCIES = @CONFIG_STATUS_DEPENDENCIES@ -CPP = @CPP@ -CPPFLAGS = @CPPFLAGS@ -CT_RUN = @CT_RUN@ -CURL = @CURL@ -CYGPATH_W = @CYGPATH_W@ -DEFAULT_CHARSET = @DEFAULT_CHARSET@ -DEFS = @DEFS@ -DEPDIR = @DEPDIR@ -DIALYZER = @DIALYZER@ -DLLTOOL = @DLLTOOL@ -DSYMUTIL = @DSYMUTIL@ -DUMPBIN = @DUMPBIN@ -DVILATEX = @DVILATEX@ -DVIPS = @DVIPS@ -ECHO_C = @ECHO_C@ -ECHO_N = @ECHO_N@ -ECHO_T = @ECHO_T@ -EGREP = @EGREP@ -EPAM_CFLAGS = @EPAM_CFLAGS@ -EPSTOPDF = @EPSTOPDF@ -ERL = @ERL@ -ERLANG_ERTS_DIR = @ERLANG_ERTS_DIR@ -ERLANG_ERTS_VER = @ERLANG_ERTS_VER@ -ERLANG_INSTALL_LIB_DIR = @ERLANG_INSTALL_LIB_DIR@ -ERLANG_INSTALL_LIB_DIR_yapp = @ERLANG_INSTALL_LIB_DIR_yapp@ -ERLANG_INSTALL_LIB_DIR_yaws = @ERLANG_INSTALL_LIB_DIR_yaws@ -ERLANG_LIB_DIR = @ERLANG_LIB_DIR@ -ERLANG_LIB_DIR_common_test = @ERLANG_LIB_DIR_common_test@ -ERLANG_LIB_DIR_compiler = @ERLANG_LIB_DIR_compiler@ -ERLANG_LIB_DIR_crypto = @ERLANG_LIB_DIR_crypto@ -ERLANG_LIB_DIR_erlsom = @ERLANG_LIB_DIR_erlsom@ -ERLANG_LIB_DIR_erts = @ERLANG_LIB_DIR_erts@ -ERLANG_LIB_DIR_eunit = @ERLANG_LIB_DIR_eunit@ -ERLANG_LIB_DIR_inets = @ERLANG_LIB_DIR_inets@ -ERLANG_LIB_DIR_kernel = @ERLANG_LIB_DIR_kernel@ -ERLANG_LIB_DIR_mnesia = @ERLANG_LIB_DIR_mnesia@ -ERLANG_LIB_DIR_public_key = @ERLANG_LIB_DIR_public_key@ -ERLANG_LIB_DIR_sasl = @ERLANG_LIB_DIR_sasl@ -ERLANG_LIB_DIR_ssl = @ERLANG_LIB_DIR_ssl@ -ERLANG_LIB_DIR_stdlib = @ERLANG_LIB_DIR_stdlib@ -ERLANG_LIB_DIR_tools = @ERLANG_LIB_DIR_tools@ -ERLANG_LIB_DIR_xmerl = @ERLANG_LIB_DIR_xmerl@ -ERLANG_LIB_DIR_xmlrpc = @ERLANG_LIB_DIR_xmlrpc@ -ERLANG_LIB_VER_common_test = @ERLANG_LIB_VER_common_test@ -ERLANG_LIB_VER_compiler = @ERLANG_LIB_VER_compiler@ -ERLANG_LIB_VER_crypto = @ERLANG_LIB_VER_crypto@ -ERLANG_LIB_VER_erlsom = @ERLANG_LIB_VER_erlsom@ -ERLANG_LIB_VER_erts = @ERLANG_LIB_VER_erts@ -ERLANG_LIB_VER_eunit = @ERLANG_LIB_VER_eunit@ -ERLANG_LIB_VER_inets = @ERLANG_LIB_VER_inets@ -ERLANG_LIB_VER_kernel = @ERLANG_LIB_VER_kernel@ -ERLANG_LIB_VER_mnesia = @ERLANG_LIB_VER_mnesia@ -ERLANG_LIB_VER_public_key = @ERLANG_LIB_VER_public_key@ -ERLANG_LIB_VER_sasl = @ERLANG_LIB_VER_sasl@ -ERLANG_LIB_VER_ssl = @ERLANG_LIB_VER_ssl@ -ERLANG_LIB_VER_stdlib = @ERLANG_LIB_VER_stdlib@ -ERLANG_LIB_VER_tools = @ERLANG_LIB_VER_tools@ -ERLANG_LIB_VER_xmerl = @ERLANG_LIB_VER_xmerl@ -ERLANG_LIB_VER_xmlrpc = @ERLANG_LIB_VER_xmlrpc@ -ERLANG_RELEASE = @ERLANG_RELEASE@ -ERLANG_ROOT_DIR = @ERLANG_ROOT_DIR@ -ERLC = @ERLC@ -ERLCFLAGS = @ERLCFLAGS@ -ERL_LIBS = @ERL_LIBS@ -ESCRIPT = @ESCRIPT@ -EXEEXT = @EXEEXT@ -EXTRAINCLUDE = @EXTRAINCLUDE@ -FGREP = @FGREP@ -GREP = @GREP@ -HAVE_SENDFILE = @HAVE_SENDFILE@ -INSTALL = @INSTALL@ -INSTALL_BUILDER = @INSTALL_BUILDER@ -INSTALL_DATA = @INSTALL_DATA@ -INSTALL_PROGRAM = @INSTALL_PROGRAM@ -INSTALL_SCRIPT = @INSTALL_SCRIPT@ -INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ -LD = @LD@ -LDFLAGS = @LDFLAGS@ -LIBOBJS = @LIBOBJS@ -LIBS = @LIBS@ -LIBTOOL = @LIBTOOL@ -LIPO = @LIPO@ -LN_S = @LN_S@ -LTLIBOBJS = @LTLIBOBJS@ -LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@ -MAKEINFO = @MAKEINFO@ -MAN = @MAN@ -MANIFEST_TOOL = @MANIFEST_TOOL@ -MKDIR_P = @MKDIR_P@ -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_URL = @PACKAGE_URL@ -PACKAGE_VERSION = @PACKAGE_VERSION@ -PATH_SEPARATOR = @PATH_SEPARATOR@ -PDFLATEX = @PDFLATEX@ -PS2PDF = @PS2PDF@ -RANLIB = @RANLIB@ -SED = @SED@ -SET_MAKE = @SET_MAKE@ -SHELL = @SHELL@ -STRIP = @STRIP@ -TODOS = @TODOS@ -UNIX2DOS = @UNIX2DOS@ -VERSION = @VERSION@ -WERL = @WERL@ -YAPP_VSN = @YAPP_VSN@ -YAWS_VSN = @YAWS_VSN@ -abs_builddir = @abs_builddir@ -abs_srcdir = @abs_srcdir@ -abs_top_builddir = @abs_top_builddir@ -abs_top_srcdir = @abs_top_srcdir@ -ac_ct_AR = @ac_ct_AR@ -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@ -appsdir = @appsdir@ -bindir = @bindir@ -build = @build@ -build_alias = @build_alias@ -build_cpu = @build_cpu@ -build_os = @build_os@ -build_vendor = @build_vendor@ -builddir = @builddir@ -confdir = @confdir@ -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@ -logdir = @logdir@ -mandir = @mandir@ -mkdir_p = @mkdir_p@ -oldincludedir = @oldincludedir@ -pdfdir = @pdfdir@ -prefix = @prefix@ -program_transform_name = @program_transform_name@ -psdir = @psdir@ -runstatedir = @runstatedir@ -sbindir = @sbindir@ -sharedstatedir = @sharedstatedir@ -srcdir = @srcdir@ -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@ -wwwdir = @wwwdir@ -yappdir = @yappdir@ -yawsdir = @yawsdir@ -privdir = $(ERLANG_INSTALL_LIB_DIR_yaws)/priv -dist_priv_DATA = mime.types $(wildcard @srcdir@/*.xsd) -all: all-am - -.SUFFIXES: -$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) - @for dep in $?; do \ - case '$(am__configure_deps)' in \ - *$$dep*) \ - ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ - && { if test -f $@; then exit 0; else break; fi; }; \ - exit 1;; \ - esac; \ - done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign priv/Makefile'; \ - $(am__cd) $(top_srcdir) && \ - $(AUTOMAKE) --foreign priv/Makefile -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - @case '$?' in \ - *config.status*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ - *) \ - echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ - esac; - -$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh - -$(top_srcdir)/configure: $(am__configure_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(ACLOCAL_M4): $(am__aclocal_m4_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(am__aclocal_m4_deps): - -mostlyclean-libtool: - -rm -f *.lo - -clean-libtool: - -rm -rf .libs _libs -install-dist_privDATA: $(dist_priv_DATA) - @$(NORMAL_INSTALL) - @list='$(dist_priv_DATA)'; test -n "$(privdir)" || list=; \ - if test -n "$$list"; then \ - echo " $(MKDIR_P) '$(DESTDIR)$(privdir)'"; \ - $(MKDIR_P) "$(DESTDIR)$(privdir)" || exit 1; \ - fi; \ - 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)$(privdir)'"; \ - $(INSTALL_DATA) $$files "$(DESTDIR)$(privdir)" || exit $$?; \ - done - -uninstall-dist_privDATA: - @$(NORMAL_UNINSTALL) - @list='$(dist_priv_DATA)'; test -n "$(privdir)" || list=; \ - files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ - dir='$(DESTDIR)$(privdir)'; $(am__uninstall_files_from_dir) -tags TAGS: - -ctags CTAGS: - -cscope cscopelist: - - -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 $(DATA) -installdirs: - for dir in "$(DESTDIR)$(privdir)"; do \ - test -z "$$dir" || $(MKDIR_P) "$$dir"; \ - done -install: install-am -install-exec: install-exec-am -install-data: install-data-am -uninstall: uninstall-am - -install-am: all-am - @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am - -installcheck: installcheck-am -install-strip: - if test -z '$(STRIP)'; then \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - install; \ - else \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ - fi -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-dist_privDATA - -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: uninstall-dist_privDATA - -.MAKE: install-am install-strip - -.PHONY: all all-am check check-am clean clean-generic clean-libtool \ - cscopelist-am ctags-am distclean distclean-generic \ - distclean-libtool distdir dvi dvi-am html html-am info info-am \ - install install-am install-data install-data-am \ - install-dist_privDATA 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 tags-am uninstall \ - uninstall-am uninstall-dist_privDATA - -.PRECIOUS: Makefile - - -# Local Variables: -# tab-width: 8 -# End: - -# Tell versions [3.59,3.63) of GNU make to not export all variables. -# Otherwise a system limit (for SysV at least) may be exceeded. -.NOEXPORT: diff -Nru yaws-2.0.6+dfsg/priv/mime.types yaws-2.0.7+dfsg/priv/mime.types --- yaws-2.0.6+dfsg/priv/mime.types 2016-07-03 10:01:00.000000000 +0000 +++ yaws-2.0.7+dfsg/priv/mime.types 2019-07-14 13:01:11.000000000 +0000 @@ -916,7 +916,6 @@ application/x-install-instructions install application/x-iso9660-image iso application/x-java-jnlp-file jnlp -application/x-javascript js application/x-kchart chrt application/x-killustrator kil application/x-koan skp skd skt skm diff -Nru yaws-2.0.6+dfsg/README.cygwin yaws-2.0.7+dfsg/README.cygwin --- yaws-2.0.6+dfsg/README.cygwin 1970-01-01 00:00:00.000000000 +0000 +++ yaws-2.0.7+dfsg/README.cygwin 2019-07-14 13:01:11.000000000 +0000 @@ -0,0 +1,24 @@ +NOTE1: + + In latest version of cygwin, there is a known bug with make. It does + not handle windows paths properly. So you need to downgrade it to + get dos driver letter specification to work. (i.e. c:/foo/bar.): + + 1. get a patched version of make 3.81: http://www.cmake.org/files/cygwin/make.exe + 2. replace /usr/bin/make.exe by this new one + 3. install libintl3 + + +NOTE2: + + unix paths in configuration file (yaws.conf) are not supported, + because on windows, erlang is not aware of cygwin and understands + windows paths only. The generated file will be created using windows + paths but tests are written for unix systems. So they will fail on + cygwin. + +NOTE3: + + Yaws is not tested on cygwin. If possible, use the windows + installer. See http://yaws.hyber.org/download. + diff -Nru yaws-2.0.6+dfsg/README.md yaws-2.0.7+dfsg/README.md --- yaws-2.0.6+dfsg/README.md 2016-09-22 09:50:54.000000000 +0000 +++ yaws-2.0.7+dfsg/README.md 2019-07-14 13:01:11.000000000 +0000 @@ -7,7 +7,7 @@ Get and install an Erlang system (http://www.erlang.org). -**To compile Yaws, Erlang/OTP R16B01 or higher is required.** +**To compile Yaws, Erlang/OTP R17 or higher is required.** If you've cloned the source from github and you want to build using autotools, note there is no ./configure script in the source, so create one: @@ -39,6 +39,12 @@ $> apt-get build-dep yaws +On MacOS and OS X, be sure the necessary Xcode command-line tools and +development environment are set up correctly by running the following +command: + + xcode-select --install + Finally, to run the testsuites, yaws need to install: * git diff -Nru yaws-2.0.6+dfsg/README.osx yaws-2.0.7+dfsg/README.osx --- yaws-2.0.6+dfsg/README.osx 2016-07-03 10:01:00.000000000 +0000 +++ yaws-2.0.7+dfsg/README.osx 2019-07-14 13:01:11.000000000 +0000 @@ -1,7 +1,7 @@ # Homebrew on OSX If you develop on OS X (Mavericks, Mountain Lion, Lion, Snow Leopard), the -Yaws formula works correctly for users of Erlang/OTP R16B01 and above. To +Yaws formula works correctly for users of Erlang/OTP R17 and above. To install please run: brew install yaws diff -Nru yaws-2.0.6+dfsg/rebar.config yaws-2.0.7+dfsg/rebar.config --- yaws-2.0.6+dfsg/rebar.config 2016-09-22 09:50:54.000000000 +0000 +++ yaws-2.0.7+dfsg/rebar.config 2019-07-14 13:01:11.000000000 +0000 @@ -1,15 +1,13 @@ %% -*- mode: erlang;erlang-indent-level: 4;indent-tabs-mode: nil -*- %% ex: ft=erlang ts=4 sw=4 et -{require_min_otp_vsn, "R16B01"}. +{require_min_otp_vsn, "R17"}. {sub_dirs, ["rel"]}. -{erl_opts, [{platform_define, - "(linux|solaris|freebsd|darwin)", 'HAVE_SENDFILE'}, - {src_dirs, ["src", "examples/src"]}, +{erl_opts, [{src_dirs, ["src", "examples/src"]}, warnings_as_errors]}. -{port_env, [{"CFLAGS", "$CFLAGS -g -O3 -Wall -I/usr/include/security"}, +{port_env, [{"CFLAGS", "$CFLAGS -g -O3 -Wall"}, {"x86_64", "CFLAGS", "$CFLAGS -m$ERLANG_ARCH"}, {"x86_64", "LDFLAGS", "-m$ERLANG_ARCH $LDFLAGS"}, {"i[36]86", "CFLAGS", "$CFLAGS -m$ERLANG_ARCH"}, diff -Nru yaws-2.0.6+dfsg/rebar.config.script yaws-2.0.7+dfsg/rebar.config.script --- yaws-2.0.6+dfsg/rebar.config.script 2016-09-22 09:50:54.000000000 +0000 +++ yaws-2.0.7+dfsg/rebar.config.script 2019-07-14 13:01:11.000000000 +0000 @@ -47,31 +47,52 @@ {port_env, PEnv} -> PEnv; false -> [] end, -PortSpecs0 = case lists:keyfind(port_specs, 1, Cfg0) of - {port_specs, PSpecs} -> - case os:getenv("YAWS_DISABLE_PAM") of - false -> - PSpecs; - _ -> - lists:keydelete("priv/lib/epam.so", 1, PSpecs) - end; - false -> [] - end, +PortSpecs = case lists:keyfind(port_specs, 1, Cfg0) of + {port_specs, PSpecs} -> + case os:getenv("YAWS_DISABLE_PAM") of + false -> + PSpecs; + _ -> + lists:keydelete("priv/lib/epam.so", 1, PSpecs) + end; + false -> [] + end, -HaveSendFile = lists:keymember('HAVE_SENDFILE', 3, ErlOpts), -{PortEnv1, PortSpecs1} = - if - HaveSendFile -> - {PortEnv0 ++ [{"DRV_CFLAGS", "$DRV_CFLAGS -DHAVE_SENDFILE"}], - PortSpecs0 ++ [{"priv/lib/yaws_sendfile_drv.so", - ["c_src/yaws_sendfile_drv.c", "c_src/hashtable.c"]}]}; +OS = os:type(), - true -> - {PortEnv0, PortSpecs0} +DefaultUsrIncludeSecurity = "/usr/include/security", +UsrIncludeSecurity = + case OS of + {unix, darwin} -> + Result = + fun R(Port, Acc) -> + receive + {Port, {data, L}} -> + R(Port, [L|Acc]); + {Port, {exit_status, 0}} -> + {ok, lists:flatten(lists:reverse(Acc))}; + {Port, {exit_status, Fail}} -> + {error, {Fail, lists:flatten(lists:reverse(Acc))}} + end + end, + Run = + fun(Cmd) -> + Port = open_port({spawn, Cmd}, [exit_status, stderr_to_stdout]), + Result(Port, []) + end, + {ok, PlatDir} = Run("/usr/bin/xcrun --show-sdk-platform-path"), + FindCmd = "/usr/bin/find " ++ string:strip(PlatDir, right, $\n) ++ + " -type d -name MacOSX.sdk", + {ok, FindResult} = Run(FindCmd), + SdkDir = string:strip(FindResult, right, $\n), + SdkDir ++ DefaultUsrIncludeSecurity; + _ -> + DefaultUsrIncludeSecurity end, +PortEnv1 = PortEnv0 ++ [{"CFLAGS", "$CFLAGS -I" ++ UsrIncludeSecurity}], Cfg1 = lists:keyreplace(erl_opts, 1, Cfg0, {erl_opts, ErlOpts}), Cfg2 = lists:keyreplace(port_env, 1, Cfg1, {port_env, PortEnv1}), -Cfg3 = lists:keyreplace(port_specs, 1, Cfg2, {port_specs, PortSpecs1}), +Cfg3 = lists:keyreplace(port_specs, 1, Cfg2, {port_specs, PortSpecs}), Cfg3. diff -Nru yaws-2.0.6+dfsg/rebar-templates/yawsnode.erl.script yaws-2.0.7+dfsg/rebar-templates/yawsnode.erl.script --- yaws-2.0.6+dfsg/rebar-templates/yawsnode.erl.script 1970-01-01 00:00:00.000000000 +0000 +++ yaws-2.0.7+dfsg/rebar-templates/yawsnode.erl.script 2019-07-14 13:01:11.000000000 +0000 @@ -0,0 +1,44 @@ +#!/bin/sh + +# /bin/sh on Solaris is not a POSIX compatible shell, but /usr/bin/ksh is. +if [ `uname -s` = 'SunOS' -a "${POSIX_SHELL}" != "true" ]; then + POSIX_SHELL="true" + export POSIX_SHELL + exec /usr/bin/ksh $0 "$@" +fi + +# clear it so if we invoke other scripts, they run as ksh as well +unset POSIX_SHELL + +## This script replaces the default "erl" in erts-VSN/bin. This is +## necessary as escript depends on erl and in turn, erl depends on +## having access to a bootscript (start.boot). Note that this script +## is ONLY invoked as a side-effect of running escript -- the embedded +## node bypasses erl and uses erlexec directly (as it should). +## +## Note that this script makes the assumption that there is a +## start_clean.boot file available in $ROOTDIR/release/VSN. + +# Determine the abspath of where this script is executing from. +ERTS_BIN_DIR=$(cd ${0%/*} && pwd -P) + +# Now determine the root directory -- this script runs from erts-VSN/bin, +# so we simply need to strip off two dirs from the end of the ERTS_BIN_DIR +# path. +ROOTDIR=${ERTS_BIN_DIR%/*/*} + +# Parse out release and erts info +START_ERL=`cat $ROOTDIR/releases/start_erl.data` +ERTS_VSN=${START_ERL% *} +APP_VSN=${START_ERL#* } + +BINDIR=$ROOTDIR/erts-$ERTS_VSN/bin +EMU=beam +PROGNAME=`echo $0 | sed 's/.*\\///'` +CMD="$BINDIR/erlexec" +export EMU +export ROOTDIR +export BINDIR +export PROGNAME + +exec $CMD -boot $ROOTDIR/releases/$APP_VSN/start_clean ${1+"$@"} diff -Nru yaws-2.0.6+dfsg/rebar-templates/yawsnode.install.sh yaws-2.0.7+dfsg/rebar-templates/yawsnode.install.sh --- yaws-2.0.6+dfsg/rebar-templates/yawsnode.install.sh 1970-01-01 00:00:00.000000000 +0000 +++ yaws-2.0.7+dfsg/rebar-templates/yawsnode.install.sh 2019-07-14 13:01:11.000000000 +0000 @@ -0,0 +1,9 @@ +#!/bin/sh +set -e +wd=$PWD +for file in releases/*/sys.config etc/yaws/yaws.conf; do + mv $file ${file}.bak + sed -e "s:%YAWSNODE%:$wd:" ${file}.bak > $file + rm ${file}.bak +done +exit 0 diff -Nru yaws-2.0.6+dfsg/rebar-templates/yawsnode.nodetool yaws-2.0.7+dfsg/rebar-templates/yawsnode.nodetool --- yaws-2.0.6+dfsg/rebar-templates/yawsnode.nodetool 1970-01-01 00:00:00.000000000 +0000 +++ yaws-2.0.7+dfsg/rebar-templates/yawsnode.nodetool 2019-07-14 13:01:11.000000000 +0000 @@ -0,0 +1,201 @@ +#!/usr/bin/env escript +%% -*- mode: erlang;erlang-indent-level: 4;indent-tabs-mode: nil -*- +%% ex: ft=erlang ts=4 sw=4 et +%% ------------------------------------------------------------------- +%% +%% nodetool: Helper Script for interacting with live nodes +%% +%% ------------------------------------------------------------------- +main(Args) -> + ok = start_epmd(), + %% Extract the args + {RestArgs, TargetNode} = process_args(Args, [], undefined), + + %% any commands that don't need a running node + case RestArgs of + ["chkconfig", File] -> + case file:consult(File) of + {ok, _} -> + io:format("ok\n"), + halt(0); + {error, {Line, Mod, Term}} -> + io:format(standard_error, ["Error on line ", + file:format_error({Line, Mod, Term}), "\n"], []), + halt(1); + {error, R} -> + io:format(standard_error, ["Error reading config file: ", + file:format_error(R), "\n"], []), + halt(1) + end; + _ -> + ok + end, + + %% See if the node is currently running -- if it's not, we'll bail + case {net_kernel:hidden_connect_node(TargetNode), + net_adm:ping(TargetNode)} of + {true, pong} -> + ok; + {false,pong} -> + io:format("Failed to connect to node ~p .\n", [TargetNode]), + halt(1); + {_, pang} -> + io:format("Node ~p not responding to pings.\n", [TargetNode]), + halt(1) + end, + + case RestArgs of + ["getpid"] -> + io:format("~p\n", + [list_to_integer(rpc:call(TargetNode, os, getpid, []))]); + ["ping"] -> + %% If we got this far, the node already responsed to a + %% ping, so just dump a "pong" + io:format("pong\n"); + ["stop"] -> + io:format("~p\n", [rpc:call(TargetNode, init, stop, [], 60000)]); + ["restart"] -> + io:format("~p\n", [rpc:call(TargetNode, init, restart, [], 60000)]); + ["reboot"] -> + io:format("~p\n", [rpc:call(TargetNode, init, reboot, [], 60000)]); + ["rpc", Module, Function | RpcArgs] -> + case rpc:call(TargetNode, + list_to_atom(Module), + list_to_atom(Function), + [RpcArgs], 60000) of + ok -> + ok; + {badrpc, Reason} -> + io:format("RPC to ~p failed: ~p\n", [TargetNode, Reason]), + halt(1); + _ -> + halt(1) + end; + ["rpc_infinity", Module, Function | RpcArgs] -> + case rpc:call(TargetNode, + list_to_atom(Module), + list_to_atom(Function), + [RpcArgs], infinity) of + ok -> + ok; + {badrpc, Reason} -> + io:format("RPC to ~p failed: ~p\n", [TargetNode, Reason]), + halt(1); + _ -> + halt(1) + end; + ["rpcterms", Module, Function, ArgsAsString] -> + case rpc:call(TargetNode, + list_to_atom(Module), + list_to_atom(Function), + consult(ArgsAsString), 60000) of + {badrpc, Reason} -> + io:format("RPC to ~p failed: ~p\n", [TargetNode, Reason]), + halt(1); + Other -> + io:format("~p\n", [Other]) + end; + ["eval", Str0] -> + Str = string:strip(Str0, right, $.) ++ ".", + Bindings = erl_eval:new_bindings(), + case rpc:call(TargetNode, + erl_eval, + exprs, + [parse(Str), Bindings], + 60000) of + {badrpc, Reason} -> + io:format("RPC to ~p failed: ~p\n", [TargetNode, Reason]), + halt(1); + {value, Value, _Bindings} -> + io:format("~p\n", [Value]) + end; + Other -> + io:format("Other: ~p\n", [Other]), + io:format("Usage: nodetool {chkconfig|getpid|ping|stop|restart|reboot|rpc|rpc_infinity|rpcterms|eval}\n") + end, + net_kernel:stop(). + +process_args([], Acc, TargetNode) -> + {lists:reverse(Acc), TargetNode}; +process_args(["-setcookie", Cookie | Rest], Acc, TargetNode) -> + erlang:set_cookie(node(), list_to_atom(Cookie)), + process_args(Rest, Acc, TargetNode); +process_args(["-name", TargetName | Rest], Acc, _) -> + ThisNode = append_node_suffix(TargetName, "_maint_"), + {ok, _} = net_kernel:start([ThisNode, longnames]), + process_args(Rest, Acc, nodename(TargetName)); +process_args(["-sname", TargetName | Rest], Acc, _) -> + ThisNode = append_node_suffix(TargetName, "_maint_"), + {ok, _} = net_kernel:start([ThisNode, shortnames]), + process_args(Rest, Acc, nodename(TargetName)); +process_args([Arg | Rest], Acc, Opts) -> + process_args(Rest, [Arg | Acc], Opts). + + +start_epmd() -> + [] = os:cmd(epmd_path() ++ " -daemon"), + ok. + +epmd_path() -> + ErtsBinDir = filename:dirname(escript:script_name()), + Name = "epmd", + case os:find_executable(Name, ErtsBinDir) of + false -> + case os:find_executable(Name) of + false -> + io:format("Could not find epmd.~n"), + halt(1); + GlobalEpmd -> + GlobalEpmd + end; + Epmd -> + Epmd + end. + + +nodename(Name) -> + case string:tokens(Name, "@") of + [_Node, _Host] -> + list_to_atom(Name); + [Node] -> + [_, Host] = string:tokens(atom_to_list(node()), "@"), + list_to_atom(lists:concat([Node, "@", Host])) + end. + +append_node_suffix(Name, Suffix) -> + case string:tokens(Name, "@") of + [Node, Host] -> + list_to_atom(lists:concat([Node, Suffix, os:getpid(), "@", Host])); + [Node] -> + list_to_atom(lists:concat([Node, Suffix, os:getpid()])) + end. + + +%% +%% Given a string or binary, parse it into a list of terms, ala file:consult/0 +%% +consult(Str) when is_list(Str) -> + consult([], Str, []); +consult(Bin) when is_binary(Bin)-> + consult([], binary_to_list(Bin), []). + +consult(Cont, Str, Acc) -> + case erl_scan:tokens(Cont, Str, 0) of + {done, Result, Remaining} -> + case Result of + {ok, Tokens, _} -> + {ok, Term} = erl_parse:parse_term(Tokens), + consult([], Remaining, [Term | Acc]); + {eof, _Other} -> + lists:reverse(Acc); + {error, Info, _} -> + {error, Info} + end; + {more, Cont1} -> + consult(Cont1, eof, Acc) + end. + +parse(Str) -> + {ok, Tokens, _} = erl_scan:string(Str), + {ok, Exprs} = erl_parse:parse_exprs(Tokens), + Exprs. diff -Nru yaws-2.0.6+dfsg/rebar-templates/yawsnode.rebar.config yaws-2.0.7+dfsg/rebar-templates/yawsnode.rebar.config --- yaws-2.0.6+dfsg/rebar-templates/yawsnode.rebar.config 1970-01-01 00:00:00.000000000 +0000 +++ yaws-2.0.7+dfsg/rebar-templates/yawsnode.rebar.config 2019-07-14 13:01:11.000000000 +0000 @@ -0,0 +1,7 @@ +%% -*- mode: erlang;erlang-indent-level: 4;indent-tabs-mode: nil -*- +%% ex: ft=erlang ts=4 sw=4 et +{sub_dirs, ["apps/{{appid}}", "rel"]}. +{lib_dirs, ["apps"]}. +{deps, + [{yaws, ".*", {git, "git://github.com/klacke/yaws.git", {tag, "yaws-1.99"}}}] +}. diff -Nru yaws-2.0.6+dfsg/rebar-templates/yawsnode.reltool.config yaws-2.0.7+dfsg/rebar-templates/yawsnode.reltool.config --- yaws-2.0.6+dfsg/rebar-templates/yawsnode.reltool.config 1970-01-01 00:00:00.000000000 +0000 +++ yaws-2.0.7+dfsg/rebar-templates/yawsnode.reltool.config 2019-07-14 13:01:11.000000000 +0000 @@ -0,0 +1,51 @@ +%% -*- mode: erlang -*- +%% ex: ft=erlang +{sys, [ + {lib_dirs, ["../apps", "../deps"]}, + {erts, [{mod_cond, derived}, {app_file, strip}]}, + {app_file, strip}, + {rel, "{{nodeid}}", "1", + [ + kernel, + stdlib, + sasl, + yaws, + {{appid}} + ]}, + {rel, "start_clean", "", + [ + kernel, + stdlib + ]}, + {boot_rel, "{{nodeid}}"}, + {profile, embedded}, + {incl_cond, derived}, + {mod_cond, derived}, + {excl_archive_filters, [".*"]}, %% Do not archive built libs + {excl_sys_filters, ["^bin/(?!start_clean.boot)", + "^erts.*/bin/(dialyzer|typer)", + "^erts.*/(doc|info|include|lib|man|src)"]}, + {excl_app_filters, ["\.gitignore", "^include.mk.in"]}, + {app, hipe, [{incl_cond, exclude}]}, + {app, ibrowse, [{incl_cond, exclude}]}, + {app, compiler, [{mod_cond, app}]}, + {app, ssl, [{mod_cond, app}]}, + {app, {{appid}}, [{mod_cond, app}, {incl_cond, include}]} + ]}. + +{target_dir, "{{nodeid}}"}. + +{overlay, [ + {mkdir, "log/sasl"}, + {copy, "files/erl", "\{\{erts_vsn\}\}/bin/erl"}, + {copy, "files/nodetool", "releases/\{\{rel_vsn\}\}/nodetool"}, + {copy, "{{nodeid}}/bin/start_clean.boot", + "\{\{erts_vsn\}\}/bin/start_clean.boot"}, + {copy, "files/{{nodeid}}", "bin/{{nodeid}}"}, + {copy, "files/sys.config", "releases/\{\{rel_vsn\}\}/sys.config"}, + {copy, "files/vm.args", "releases/\{\{rel_vsn\}\}/vm.args"}, + {mkdir, "etc/yaws"}, + {mkdir, "var/yaws/www"}, + {copy, "files/yaws.conf", "etc/yaws/yaws.conf"}, + {copy, "files/install.sh", "install.sh"} + ]}. diff -Nru yaws-2.0.6+dfsg/rebar-templates/yawsnode.runner yaws-2.0.7+dfsg/rebar-templates/yawsnode.runner --- yaws-2.0.6+dfsg/rebar-templates/yawsnode.runner 1970-01-01 00:00:00.000000000 +0000 +++ yaws-2.0.7+dfsg/rebar-templates/yawsnode.runner 2019-07-14 13:01:11.000000000 +0000 @@ -0,0 +1,417 @@ +#!/bin/sh +# -*- tab-width:4;indent-tabs-mode:nil -*- +# ex: ts=4 sw=4 et + +# /bin/sh on Solaris is not a POSIX compatible shell, but /usr/bin/ksh is. +if [ `uname -s` = 'SunOS' -a "${POSIX_SHELL}" != "true" ]; then + POSIX_SHELL="true" + export POSIX_SHELL + # To support 'whoami' add /usr/ucb to path + PATH=/usr/ucb:$PATH + export PATH + exec /usr/bin/ksh $0 "$@" +fi + +# clear it so if we invoke other scripts, they run as ksh +unset POSIX_SHELL + +RUNNER_SCRIPT_DIR=$(cd ${0%/*} && pwd -P) +RUNNER_SCRIPT=${0##*/} + +CALLER_DIR=$PWD + +RUNNER_BASE_DIR=${RUNNER_SCRIPT_DIR%/*} +RUNNER_ETC_DIR=$RUNNER_BASE_DIR/etc +# Note the trailing slash on $PIPE_DIR/ +PIPE_DIR=/tmp/$RUNNER_BASE_DIR/ +RUNNER_USER= +WHOAMI=$(whoami) + +# Make sure this script is running as the appropriate user +if ([ "$RUNNER_USER" ] && [ "x$WHOAMI" != "x$RUNNER_USER" ]); then + type sudo > /dev/null 2>&1 + if [ $? -ne 0 ]; then + echo "sudo doesn't appear to be installed and your EUID isn't $RUNNER_USER" 1>&2 + exit 1 + fi + echo "Attempting to restart script through sudo -H -u $RUNNER_USER" >&2 + exec sudo -H -u $RUNNER_USER -i $RUNNER_SCRIPT_DIR/$RUNNER_SCRIPT $@ +fi + +# Identify the script name +SCRIPT=`basename $0` + +# Parse out release and erts info +START_ERL=`cat $RUNNER_BASE_DIR/releases/start_erl.data` +ERTS_VSN=${START_ERL% *} +APP_VSN=${START_ERL#* } + +# Use $CWD/vm.args if exists, otherwise releases/APP_VSN/vm.args, or +# else etc/vm.args +if [ -e "$CALLER_DIR/vm.args" ]; then + VMARGS_PATH=$CALLER_DIR/vm.args + USE_DIR=$CALLER_DIR +else + USE_DIR=$RUNNER_BASE_DIR + if [ -e "$RUNNER_BASE_DIR/releases/$APP_VSN/vm.args" ]; then + VMARGS_PATH="$RUNNER_BASE_DIR/releases/$APP_VSN/vm.args" + else + VMARGS_PATH="$RUNNER_ETC_DIR/vm.args" + fi +fi + +RUNNER_LOG_DIR=$USE_DIR/log +# Make sure log directory exists +mkdir -p $RUNNER_LOG_DIR + +# Use releases/VSN/sys.config if it exists otherwise use etc/app.config +if [ -e "$USE_DIR/sys.config" ]; then + CONFIG_PATH="$USE_DIR/sys.config" +else + if [ -e "$RUNNER_BASE_DIR/releases/$APP_VSN/sys.config" ]; then + CONFIG_PATH="$RUNNER_BASE_DIR/releases/$APP_VSN/sys.config" + else + CONFIG_PATH="$RUNNER_ETC_DIR/app.config" + fi +fi + +# Extract the target node name from node.args +NAME_ARG=`egrep '^\-s?name' $VMARGS_PATH` +if [ -z "$NAME_ARG" ]; then + echo "vm.args needs to have either -name or -sname parameter." + exit 1 +fi + +# Extract the name type and name from the NAME_ARG for REMSH +REMSH_TYPE=`echo $NAME_ARG | awk '{print $1}'` +REMSH_NAME=`echo $NAME_ARG | awk '{print $2}'` + +# Test if REMSH_NAME contains a @ and set REMSH_HOSTNAME_PART +# and REMSH_NAME_PART according REMSH_TYPE +MAYBE_FQDN_HOSTNAME=`hostname` +HOSTNAME=`echo $MAYBE_FQDN_HOSTNAME | awk -F. '{print $1}'` + +REMSH_HOSTNAME_PART="$MAYBE_FQDN_HOSTNAME" +case "$REMSH_NAME" in + *@*) + REMSH_HOSTNAME_PART=`echo $REMSH_NAME | awk -F@ '{print $2}'` + REMSH_NAME_PART=`echo $REMSH_NAME | awk -F@ '{print $1}'` + ;; + *) + REMSH_NAME_PART="$REMSH_NAME" + if [ "$REMSH_TYPE" = "-sname" ]; then + REMSH_HOSTNAME_PART="$HOSTNAME" + else + # -name type, check if `hostname` is fqdn + if [ "$MAYBE_FQDN_HOSTNAME" = "$HOSTNAME" ]; then + echo "Hostname must be a fqdn domain name when node is configured with long names" + echo "and the full node name isn't configured in vm.args" + exit 1 + fi + fi + ;; +esac + +# Note the `date +%s`, used to allow multiple remsh to the same node +# transparently +REMSH_NAME_ARG="$REMSH_TYPE remsh`date +%s`@$REMSH_HOSTNAME_PART" +REMSH_REMSH_ARG="-remsh $REMSH_NAME_PART@$REMSH_HOSTNAME_PART" + +# Extract the target cookie +COOKIE_ARG=`grep '^\-setcookie' $VMARGS_PATH` +if [ -z "$COOKIE_ARG" ]; then + echo "vm.args needs to have a -setcookie parameter." + exit 1 +fi + +# Make sure CWD is set to the right dir +cd $USE_DIR + +# Make sure log directory exists +mkdir -p $USE_DIR/log + +RUNNER_SCRIPT_DATA= +if [ -e "$RUNNER_BASE_DIR/releases/$APP_VSN/runner_script.data" ]; then + RUNNER_SCRIPT_DATA=`cat $RUNNER_BASE_DIR/releases/$APP_VSN/runner_script.data` +fi + +if [ -z "$RUNNER_SCRIPT_DATA" ]; then + ROOTDIR=$RUNNER_BASE_DIR + ERTS_PATH=$RUNNER_BASE_DIR/erts-$ERTS_VSN/bin + if [ -e "$RUNNER_BASE_DIR/releases/$APP_VSN/nodetool" ]; then + NODETOOL="$ERTS_PATH/escript $RUNNER_BASE_DIR/releases/$APP_VSN/nodetool $NAME_ARG $COOKIE_ARG" + else + NODETOOL="$ERTS_PATH/escript $ERTS_PATH/nodetool $NAME_ARG $COOKIE_ARG" + fi + SLIM_ARGS= +elif [ "$RUNNER_SCRIPT_DATA" = "slim" ]; then + # Setup system paths + SYSTEM_ERL_PATH=`which erl` + if [ ! -x "$SYSTEM_ERL_PATH" ]; then + echo "Failed to find erl. Is Erlang/OTP available in PATH?" + exit 1 + fi + SYSTEM_HOME_BIN=${SYSTEM_ERL_PATH%/*} + ROOTDIR=$SYSTEM_HOME_BIN/../lib/erlang + ERTS_PATH=$ROOTDIR/erts-$ERTS_VSN/bin + unset SYSTEM_ERL_PATH + unset SYSTEM_HOME_BIN + + LOCAL_ERTS_PATH=$RUNNER_BASE_DIR/erts-$ERTS_VSN/bin + NODETOOL="$ERTS_PATH/escript $RUNNER_BASE_DIR/releases/$APP_VSN/nodetool $NAME_ARG $COOKIE_ARG" + unset LOCAL_ERL_PATH + + # Setup additional arguments for slim release + SLIM_ARGS="-boot_var RELTOOL_EXT_LIB $RUNNER_BASE_DIR/lib -sasl releases_dir \"$RUNNER_BASE_DIR/releases\"" +else + echo "Unknown runner_script.data" + exit 1 +fi + +# Setup remote shell command to control node +REMSH="$ERTS_PATH/erl -hidden $REMSH_NAME_ARG $REMSH_REMSH_ARG $COOKIE_ARG" + +# Common functions + +# Ping node without allowing nodetool to take stdin +ping_node() { + $NODETOOL ping < /dev/null +} + +# Set the PID global variable, return 1 on error +get_pid() { + PID=`$NODETOOL getpid < /dev/null` + ES=$? + if [ "$ES" -ne 0 ]; then + echo "Node is not running!" + return 1 + fi + + # don't allow empty or init pid's + if [ -z $PID ] || [ "$PID" -le 1 ]; then + return 1 + fi + + return 0 +} + +# Check the first argument for instructions +case "$1" in + start|start_boot) + # Make sure there is not already a node running + RES=`ping_node` + if [ "$RES" = "pong" ]; then + echo "Node is already running!" + exit 1 + fi + case "$1" in + start) + shift + START_OPTION="console" + HEART_OPTION="start" + ;; + start_boot) + shift + START_OPTION="console_boot" + HEART_OPTION="start_boot" + ;; + esac + RUN_PARAM=$(printf "\'%s\' " "$@") + HEART_COMMAND="$RUNNER_BASE_DIR/bin/$SCRIPT $HEART_OPTION $RUN_PARAM" + export HEART_COMMAND + mkdir -p $PIPE_DIR + $ERTS_PATH/run_erl -daemon $PIPE_DIR $RUNNER_LOG_DIR "exec $RUNNER_BASE_DIR/bin/$SCRIPT $START_OPTION $RUN_PARAM" 2>&1 + ;; + + stop) + # Wait for the node to completely stop... + case `uname -s` in + Darwin) + # Make sure we explicitly set this because iTerm.app doesn't for + # some reason. + COMMAND_MODE=unix2003 + esac + + # Get the PID from nodetool + get_pid + GPR=$? + if [ "$GPR" -ne 0 ] || [ -z $PID ]; then + exit $GPR + fi + + # Tell nodetool to initiate a stop + $NODETOOL stop + ES=$? + if [ "$ES" -ne 0 ]; then + exit $ES + fi + + # Wait for the node to completely stop... + while `kill -s 0 $PID 2>/dev/null` + do + sleep 1 + done + ;; + + restart) + ## Restart the VM without exiting the process + $NODETOOL restart + ES=$? + if [ "$ES" -ne 0 ]; then + exit $ES + fi + ;; + + reboot) + ## Restart the VM completely (uses heart to restart it) + $NODETOOL reboot + ES=$? + if [ "$ES" -ne 0 ]; then + exit $ES + fi + ;; + + ping) + ## See if the VM is alive + ping_node + ES=$? + if [ "$ES" -ne 0 ]; then + exit $ES + fi + ;; + + attach) + # Make sure a node is running + ping_node + ES=$? + if [ "$ES" -ne 0 ]; then + echo "Node is not running!" + exit $ES + fi + + shift + exec $ERTS_PATH/to_erl $PIPE_DIR + ;; + + eval) + # Make sure a node IS running + ping_node > /dev/null 2>&1 + ES=$? + if [ "$ES" -ne 0 ]; then + echo "Node is not running!" + exit $ES + fi + + shift + $NODETOOL eval "$1" + ;; + + remote_console) + # Make sure a node is running + ping_node + ES=$? + if [ "$ES" -ne 0 ]; then + echo "Node is not running!" + exit $ES + fi + + shift + exec $REMSH + ;; + + upgrade) + if [ -z "$2" ]; then + echo "Missing upgrade package argument" + echo "Usage: $SCRIPT upgrade {package base name}" + echo "NOTE {package base name} MUST NOT include the .tar.gz suffix" + exit 1 + fi + + # Make sure a node IS running + ping_node + ES=$? + if [ "$ES" -ne 0 ]; then + echo "Node is not running!" + exit $ES + fi + + node_name=`echo $NAME_ARG | awk '{print $2}'` + erlang_cookie=`echo $COOKIE_ARG | awk '{print $2}'` + + $ERTS_PATH/escript $RUNNER_BASE_DIR/bin/install_upgrade.escript $node_name $erlang_cookie $2 + ;; + + console|console_clean|console_boot) + # .boot file typically just $SCRIPT (ie, the app name) + # however, for debugging, sometimes start_clean.boot is useful. + # For e.g. 'setup', one may even want to name another boot script. + case "$1" in + console) BOOTFILE=$SCRIPT ;; + console_clean) BOOTFILE=start_clean ;; + console_boot) + shift + BOOTFILE="$1" + shift + ;; + esac + # Setup beam-required vars + BINDIR=$ROOTDIR/erts-$ERTS_VSN/bin + EMU=beam + PROGNAME=`echo $0 | sed 's/.*\\///'` + CMD="$BINDIR/erlexec $SLIM_ARGS -boot $RUNNER_BASE_DIR/releases/$APP_VSN/$BOOTFILE -mode embedded -config $CONFIG_PATH -args_file $VMARGS_PATH" + export EMU + export ROOTDIR + export BINDIR + export PROGNAME + + # Dump environment info for logging purposes + echo "Exec: $CMD" -- ${1+"$@"} + echo "Root: $ROOTDIR" + + # Log the startup + logger -t "$SCRIPT[$$]" "Starting up" + + # Start the VM + exec $CMD -- ${1+"$@"} + ;; + + foreground) + # start up the release in the foreground for use by runit + # or other supervision services + + BOOTFILE=$SCRIPT + FOREGROUNDOPTIONS="-noinput +Bd" + + # Setup beam-required vars + BINDIR=$ROOTDIR/erts-$ERTS_VSN/bin + EMU=beam + PROGNAME=`echo $0 | sed 's/.*\///'` + CMD="$BINDIR/erlexec $SLIM_ARGS $FOREGROUNDOPTIONS -boot $RUNNER_BASE_DIR/releases/$APP_VSN/$BOOTFILE -config $CONFIG_PATH -args_file $VMARGS_PATH" + export EMU + export ROOTDIR + export BINDIR + export PROGNAME + + # Dump environment info for logging purposes + echo "Exec: $CMD" -- ${1+"$@"} + echo "Root: $ROOTDIR" + + # Start the VM + exec $CMD -- ${1+"$@"} + ;; + getpid) + # Get the PID from nodetool + get_pid + ES=$? + if [ "$ES" -ne 0 ] || [ -z $PID ]; then + exit $ES + fi + echo $PID + ;; + *) + echo "Usage: $SCRIPT {start|start_boot |foreground|stop|restart|reboot|ping|console|getpid|console_clean|console_boot |attach|eval|remote_console|upgrade}" + exit 1 + ;; +esac + +exit 0 diff -Nru yaws-2.0.6+dfsg/rebar-templates/yawsnode.sys.config yaws-2.0.7+dfsg/rebar-templates/yawsnode.sys.config --- yaws-2.0.6+dfsg/rebar-templates/yawsnode.sys.config 1970-01-01 00:00:00.000000000 +0000 +++ yaws-2.0.7+dfsg/rebar-templates/yawsnode.sys.config 2019-07-14 13:01:11.000000000 +0000 @@ -0,0 +1,15 @@ +[ + %% SASL config + {sasl, [ + {sasl_error_logger, {file, "log/sasl-error.log"}}, + {errlog_type, error}, + {error_logger_mf_dir, "log/sasl"}, % Log directory + {error_logger_mf_maxbytes, 10485760}, % 10 MB max file size + {error_logger_mf_maxfiles, 5} % 5 files max + ]}, + + {yaws, [ + {conf, "%YAWSNODE%/etc/yaws/yaws.conf"} + ]} +]. + diff -Nru yaws-2.0.6+dfsg/rebar-templates/yawsnode.template yaws-2.0.7+dfsg/rebar-templates/yawsnode.template --- yaws-2.0.6+dfsg/rebar-templates/yawsnode.template 1970-01-01 00:00:00.000000000 +0000 +++ yaws-2.0.7+dfsg/rebar-templates/yawsnode.template 2019-07-14 13:01:11.000000000 +0000 @@ -0,0 +1,26 @@ +%% -*- mode: erlang;erlang-indent-level: 4;indent-tabs-mode: nil -*- +%% ex: ft=erlang ts=4 sw=4 et +{variables, + [ + {nodeid, "yawsnode"}, + {appid, "yawsapp"} + ]}. +{dir, "apps"}. +{dir, "apps/{{appid}}"}. +{dir, "rel"}. +{dir, "rel/files"}. +{template, "yawsnode.rebar.config", "rebar.config"}. +{template, "yawsnode.install.sh", "rel/files/install.sh"}. +{chmod, 8#744, "rel/files/install.sh"}. +{template, "yawsnode.reltool.config", "rel/reltool.config"}. +{file, "yawsnode.erl.script", "rel/files/erl"}. +{chmod, 8#744, "rel/files/erl"}. +{file, "yawsnode.nodetool", "rel/files/nodetool"}. +{chmod, 8#744, "rel/files/nodetool"}. +{file, "yawsnode.runner", "rel/files/{{nodeid}}"}. +{chmod, 8#744, "rel/files/{{nodeid}}"}. +{file, "yawsnode.sys.config", "rel/files/sys.config"}. +{template, "yawsnode.vm.args", "rel/files/vm.args"}. +{template, "yawsnode.yaws.conf", "rel/files/yaws.conf"}. + + diff -Nru yaws-2.0.6+dfsg/rebar-templates/yawsnode.vm.args yaws-2.0.7+dfsg/rebar-templates/yawsnode.vm.args --- yaws-2.0.6+dfsg/rebar-templates/yawsnode.vm.args 1970-01-01 00:00:00.000000000 +0000 +++ yaws-2.0.7+dfsg/rebar-templates/yawsnode.vm.args 2019-07-14 13:01:11.000000000 +0000 @@ -0,0 +1,19 @@ +## Name of the node +-name {{nodeid}}@127.0.0.1 + +## Cookie for distributed erlang +-setcookie {{nodeid}} + +## Heartbeat management; auto-restarts VM if it dies or becomes unresponsive +## (Disabled by default..use with caution!) +##-heart + +## Enable kernel poll and a few async threads ++K true +##+A 5 + +## Increase number of concurrent ports/sockets +##-env ERL_MAX_PORTS 4096 + +## Tweak GC to run more often +##-env ERL_FULLSWEEP_AFTER 10 diff -Nru yaws-2.0.6+dfsg/rebar-templates/yawsnode.yaws.conf yaws-2.0.7+dfsg/rebar-templates/yawsnode.yaws.conf --- yaws-2.0.6+dfsg/rebar-templates/yawsnode.yaws.conf 1970-01-01 00:00:00.000000000 +0000 +++ yaws-2.0.7+dfsg/rebar-templates/yawsnode.yaws.conf 2019-07-14 13:01:11.000000000 +0000 @@ -0,0 +1,105 @@ + +# conf for yaws + +# First we have a set of globals that apply to all virtual servers + +# This is the directory where all logfiles for +# all virtual servers will be written. +logdir = %YAWSNODE%/log + +# Set this to an integer value to control +# max number of connections from clients into the server. +max_connections = nolimit + +# Normally, yaws does not restrict the number of times a connection is +# kept alive using keepalive. Setting this parameter to an integer X +# will ensure that connections are closed once they have been used X times. +# This can be a useful to guard against long running connections +# collecting too much garbage in the Erlang VM. +keepalive_maxuses = nolimit + +# Override the garbage collection option parameters for processes +# that handle new connections. Useful for systems expecting long-lived +# connections that handle a lot of data. The default value is Erlang's +# default. Valid options are {fullsweep_after, X} and/or {min_heap_size, Y} where +# X and Y are integers. See Erlang's erlang:spawn_opt/4 function for more +# details. The value type is a quoted string containing an Erlang proplist or +# the atom undefined. +process_options = "[]" + +# Set the size of the cached acceptor process pool. The value must be an +# integer greater than or equal to 0. The default pool size is 8. Setting +# the pool size to 0 effectively disables the pool. +#acceptor_pool_size = 8 + +# This is a debug variable, possible values are http | traffic | false +# It is also possible to set the trace (possibly to the tty) while +# invoking yaws from the shell as in +# yaws -i -T -x (see man yaws). +trace = false + +# It is possible to have yaws start additional application-specific code at +# startup. Set runmod to the name of the module you want yaws to start. It +# assumes the module has an exported function start/0. To have multiple +# runmods just add more "runmod = xyz" lines. +# +# runmod = mymodule + +# By default yaws will copy the erlang error_log and +# append it to a wrap log called report.log (in the logdir). +# This feature can be turned off. This would typically +# be the case when yaws runs within another larger app. +copy_error_log = true + +# Logs are wrap logs +log_wrap_size = 1000000 + +# Possibly resolve all hostnames in logfiles so webalizer +# can produce the nice geography piechart +log_resolve_hostname = false + +# Fail completely or not if yaws fails to bind a listen socket. +fail_on_bind_err = true + +# If HTTP auth is used, it is possible to have a specific +# auth log. As of release 1.90 the global auth_log is +# deprecated and ignored. Now, this variable must be set in +# server part +#auth_log = true + +# When we're running multiple yaws systems on the same +# host, we need to give each yaws system an individual +# name. Yaws will write a number of runtime files under +# ${HOME}/.yaws/yaws/${id} +# The default value is "default" +# If we're not planning to run multiple webservers on the +# same host it's much better to leave this value unset since +# then all the ctl function (--stop et.el) work without having +# to supply the id. +# +id = {{nodeid}} + +# Earlier versions of Yaws picked the first virtual host +# in a list of hosts with the same IP/PORT when the Host: +# header doesn't match any name on any Host. +# This is often nice in testing environments but not +# acceptable in real-world hosting scenarios; +# think http://porn.bigcompany.com +pick_first_virthost_on_nomatch = true + +# If the HTTP client session is to be kept alive, wait this many +# milliseconds for a new request before timing out the connection. Note +# that infinity is a valid value but it's not recommended. +keepalive_timeout = 30000 + +# Now, a set of virtual servers. +# The examples below first show two virthosted servers on the same IP (0.0.0.0) +# in this case, but an explicit IP can be given as well. + + + port = 8000 + listen = 0.0.0.0 + docroot = %YAWSNODE%/var/yaws/www + auth_log = true + appmods = + diff -Nru yaws-2.0.6+dfsg/scripts/Makefile.in yaws-2.0.7+dfsg/scripts/Makefile.in --- yaws-2.0.6+dfsg/scripts/Makefile.in 2018-06-26 09:17:08.000000000 +0000 +++ yaws-2.0.7+dfsg/scripts/Makefile.in 1970-01-01 00:00:00.000000000 +0000 @@ -1,595 +0,0 @@ -# Makefile.in generated by automake 1.15.1 from Makefile.am. -# @configure_input@ - -# Copyright (C) 1994-2017 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@ -am__is_gnu_make = { \ - if test -z '$(MAKELEVEL)'; then \ - false; \ - elif test -n '$(MAKE_HOST)'; then \ - true; \ - elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ - true; \ - else \ - false; \ - fi; \ -} -am__make_running_with_option = \ - case $${target_option-} in \ - ?) ;; \ - *) echo "am__make_running_with_option: internal error: invalid" \ - "target option '$${target_option-}' specified" >&2; \ - exit 1;; \ - esac; \ - has_opt=no; \ - sane_makeflags=$$MAKEFLAGS; \ - if $(am__is_gnu_make); then \ - sane_makeflags=$$MFLAGS; \ - else \ - case $$MAKEFLAGS in \ - *\\[\ \ ]*) \ - bs=\\; \ - sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ - | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ - esac; \ - fi; \ - skip_next=no; \ - strip_trailopt () \ - { \ - flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ - }; \ - for flg in $$sane_makeflags; do \ - test $$skip_next = yes && { skip_next=no; continue; }; \ - case $$flg in \ - *=*|--*) continue;; \ - -*I) strip_trailopt 'I'; skip_next=yes;; \ - -*I?*) strip_trailopt 'I';; \ - -*O) strip_trailopt 'O'; skip_next=yes;; \ - -*O?*) strip_trailopt 'O';; \ - -*l) strip_trailopt 'l'; skip_next=yes;; \ - -*l?*) strip_trailopt 'l';; \ - -[dEDm]) skip_next=yes;; \ - -[JT]) skip_next=yes;; \ - esac; \ - case $$flg in \ - *$$target_option*) has_opt=yes; break;; \ - esac; \ - done; \ - test $$has_opt = yes -am__make_dryrun = (target_option=n; $(am__make_running_with_option)) -am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) -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 = scripts -ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/m4/ax_compare_version.m4 \ - $(top_srcdir)/m4/colored-echo.m4 $(top_srcdir)/m4/erlang.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)/configure.ac -am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ - $(ACLOCAL_M4) -DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON) -mkinstalldirs = $(install_sh) -d -CONFIG_CLEAN_FILES = make-release -CONFIG_CLEAN_VPATH_FILES = -AM_V_P = $(am__v_P_@AM_V@) -am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) -am__v_P_0 = false -am__v_P_1 = : -AM_V_GEN = $(am__v_GEN_@AM_V@) -am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) -am__v_GEN_0 = @echo " GEN " $@; -am__v_GEN_1 = -AM_V_at = $(am__v_at_@AM_V@) -am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) -am__v_at_0 = @ -am__v_at_1 = -SOURCES = -DIST_SOURCES = -am__can_run_installinfo = \ - case $$AM_UPDATE_INFO_DIR in \ - n|no|NO) false;; \ - *) (install-info --version) >/dev/null 2>&1;; \ - esac -am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) -am__DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/make-release.in -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) -ACLOCAL = @ACLOCAL@ -AMTAR = @AMTAR@ -AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ -APPDEPS = @APPDEPS@ -AR = @AR@ -AUTOCONF = @AUTOCONF@ -AUTOHEADER = @AUTOHEADER@ -AUTOMAKE = @AUTOMAKE@ -AWK = @AWK@ -CADAVER = @CADAVER@ -CC = @CC@ -CCDEPMODE = @CCDEPMODE@ -CFLAGS = @CFLAGS@ -CONFIG_STATUS_DEPENDENCIES = @CONFIG_STATUS_DEPENDENCIES@ -CPP = @CPP@ -CPPFLAGS = @CPPFLAGS@ -CT_RUN = @CT_RUN@ -CURL = @CURL@ -CYGPATH_W = @CYGPATH_W@ -DEFAULT_CHARSET = @DEFAULT_CHARSET@ -DEFS = @DEFS@ -DEPDIR = @DEPDIR@ -DIALYZER = @DIALYZER@ -DLLTOOL = @DLLTOOL@ -DSYMUTIL = @DSYMUTIL@ -DUMPBIN = @DUMPBIN@ -DVILATEX = @DVILATEX@ -DVIPS = @DVIPS@ -ECHO_C = @ECHO_C@ -ECHO_N = @ECHO_N@ -ECHO_T = @ECHO_T@ -EGREP = @EGREP@ -EPAM_CFLAGS = @EPAM_CFLAGS@ -EPSTOPDF = @EPSTOPDF@ -ERL = @ERL@ -ERLANG_ERTS_DIR = @ERLANG_ERTS_DIR@ -ERLANG_ERTS_VER = @ERLANG_ERTS_VER@ -ERLANG_INSTALL_LIB_DIR = @ERLANG_INSTALL_LIB_DIR@ -ERLANG_INSTALL_LIB_DIR_yapp = @ERLANG_INSTALL_LIB_DIR_yapp@ -ERLANG_INSTALL_LIB_DIR_yaws = @ERLANG_INSTALL_LIB_DIR_yaws@ -ERLANG_LIB_DIR = @ERLANG_LIB_DIR@ -ERLANG_LIB_DIR_common_test = @ERLANG_LIB_DIR_common_test@ -ERLANG_LIB_DIR_compiler = @ERLANG_LIB_DIR_compiler@ -ERLANG_LIB_DIR_crypto = @ERLANG_LIB_DIR_crypto@ -ERLANG_LIB_DIR_erlsom = @ERLANG_LIB_DIR_erlsom@ -ERLANG_LIB_DIR_erts = @ERLANG_LIB_DIR_erts@ -ERLANG_LIB_DIR_eunit = @ERLANG_LIB_DIR_eunit@ -ERLANG_LIB_DIR_inets = @ERLANG_LIB_DIR_inets@ -ERLANG_LIB_DIR_kernel = @ERLANG_LIB_DIR_kernel@ -ERLANG_LIB_DIR_mnesia = @ERLANG_LIB_DIR_mnesia@ -ERLANG_LIB_DIR_public_key = @ERLANG_LIB_DIR_public_key@ -ERLANG_LIB_DIR_sasl = @ERLANG_LIB_DIR_sasl@ -ERLANG_LIB_DIR_ssl = @ERLANG_LIB_DIR_ssl@ -ERLANG_LIB_DIR_stdlib = @ERLANG_LIB_DIR_stdlib@ -ERLANG_LIB_DIR_tools = @ERLANG_LIB_DIR_tools@ -ERLANG_LIB_DIR_xmerl = @ERLANG_LIB_DIR_xmerl@ -ERLANG_LIB_DIR_xmlrpc = @ERLANG_LIB_DIR_xmlrpc@ -ERLANG_LIB_VER_common_test = @ERLANG_LIB_VER_common_test@ -ERLANG_LIB_VER_compiler = @ERLANG_LIB_VER_compiler@ -ERLANG_LIB_VER_crypto = @ERLANG_LIB_VER_crypto@ -ERLANG_LIB_VER_erlsom = @ERLANG_LIB_VER_erlsom@ -ERLANG_LIB_VER_erts = @ERLANG_LIB_VER_erts@ -ERLANG_LIB_VER_eunit = @ERLANG_LIB_VER_eunit@ -ERLANG_LIB_VER_inets = @ERLANG_LIB_VER_inets@ -ERLANG_LIB_VER_kernel = @ERLANG_LIB_VER_kernel@ -ERLANG_LIB_VER_mnesia = @ERLANG_LIB_VER_mnesia@ -ERLANG_LIB_VER_public_key = @ERLANG_LIB_VER_public_key@ -ERLANG_LIB_VER_sasl = @ERLANG_LIB_VER_sasl@ -ERLANG_LIB_VER_ssl = @ERLANG_LIB_VER_ssl@ -ERLANG_LIB_VER_stdlib = @ERLANG_LIB_VER_stdlib@ -ERLANG_LIB_VER_tools = @ERLANG_LIB_VER_tools@ -ERLANG_LIB_VER_xmerl = @ERLANG_LIB_VER_xmerl@ -ERLANG_LIB_VER_xmlrpc = @ERLANG_LIB_VER_xmlrpc@ -ERLANG_RELEASE = @ERLANG_RELEASE@ -ERLANG_ROOT_DIR = @ERLANG_ROOT_DIR@ -ERLC = @ERLC@ -ERLCFLAGS = @ERLCFLAGS@ -ERL_LIBS = @ERL_LIBS@ -ESCRIPT = @ESCRIPT@ -EXEEXT = @EXEEXT@ -EXTRAINCLUDE = @EXTRAINCLUDE@ -FGREP = @FGREP@ -GREP = @GREP@ -HAVE_SENDFILE = @HAVE_SENDFILE@ -INSTALL = @INSTALL@ -INSTALL_BUILDER = @INSTALL_BUILDER@ -INSTALL_DATA = @INSTALL_DATA@ -INSTALL_PROGRAM = @INSTALL_PROGRAM@ -INSTALL_SCRIPT = @INSTALL_SCRIPT@ -INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ -LD = @LD@ -LDFLAGS = @LDFLAGS@ -LIBOBJS = @LIBOBJS@ -LIBS = @LIBS@ -LIBTOOL = @LIBTOOL@ -LIPO = @LIPO@ -LN_S = @LN_S@ -LTLIBOBJS = @LTLIBOBJS@ -LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@ -MAKEINFO = @MAKEINFO@ -MAN = @MAN@ -MANIFEST_TOOL = @MANIFEST_TOOL@ -MKDIR_P = @MKDIR_P@ -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_URL = @PACKAGE_URL@ -PACKAGE_VERSION = @PACKAGE_VERSION@ -PATH_SEPARATOR = @PATH_SEPARATOR@ -PDFLATEX = @PDFLATEX@ -PS2PDF = @PS2PDF@ -RANLIB = @RANLIB@ -SED = @SED@ -SET_MAKE = @SET_MAKE@ -SHELL = @SHELL@ -STRIP = @STRIP@ -TODOS = @TODOS@ -UNIX2DOS = @UNIX2DOS@ -VERSION = @VERSION@ -WERL = @WERL@ -YAPP_VSN = @YAPP_VSN@ -YAWS_VSN = @YAWS_VSN@ -abs_builddir = @abs_builddir@ -abs_srcdir = @abs_srcdir@ -abs_top_builddir = @abs_top_builddir@ -abs_top_srcdir = @abs_top_srcdir@ -ac_ct_AR = @ac_ct_AR@ -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@ -appsdir = @appsdir@ -bindir = @bindir@ -build = @build@ -build_alias = @build_alias@ -build_cpu = @build_cpu@ -build_os = @build_os@ -build_vendor = @build_vendor@ -builddir = @builddir@ -confdir = @confdir@ -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@ -logdir = @logdir@ -mandir = @mandir@ -mkdir_p = @mkdir_p@ -oldincludedir = @oldincludedir@ -pdfdir = @pdfdir@ -prefix = @prefix@ -program_transform_name = @program_transform_name@ -psdir = @psdir@ -runstatedir = @runstatedir@ -sbindir = @sbindir@ -sharedstatedir = @sharedstatedir@ -srcdir = @srcdir@ -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@ -wwwdir = @wwwdir@ -yappdir = @yappdir@ -yawsdir = @yawsdir@ -EXTRA_DIST = darwin debian freebsd gentoo netbsd openbsd redhat suse systemd \ - gen-yaws gen-yaws-conf gen-yaws-generated Subst \ - regular-install make-release make-upload \ - rebar-pre-script yaws.conf.template yaws.template - -all: all-am - -.SUFFIXES: -$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) - @for dep in $?; do \ - case '$(am__configure_deps)' in \ - *$$dep*) \ - ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ - && { if test -f $@; then exit 0; else break; fi; }; \ - exit 1;; \ - esac; \ - done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign scripts/Makefile'; \ - $(am__cd) $(top_srcdir) && \ - $(AUTOMAKE) --foreign scripts/Makefile -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - @case '$?' in \ - *config.status*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ - *) \ - echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ - esac; - -$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh - -$(top_srcdir)/configure: $(am__configure_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(ACLOCAL_M4): $(am__aclocal_m4_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(am__aclocal_m4_deps): -make-release: $(top_builddir)/config.status $(srcdir)/make-release.in - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ - -mostlyclean-libtool: - -rm -f *.lo - -clean-libtool: - -rm -rf .libs _libs -tags TAGS: - -ctags CTAGS: - -cscope cscopelist: - - -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: - if test -z '$(STRIP)'; then \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - install; \ - else \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ - fi -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." -@MINGW_TRUE@uninstall-local: -@MINGW_TRUE@install-data-local: -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-data-local - -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: uninstall-local - -.MAKE: install-am install-strip - -.PHONY: all all-am check check-am clean clean-generic clean-libtool \ - cscopelist-am ctags-am distclean distclean-generic \ - distclean-libtool distdir dvi dvi-am html html-am info info-am \ - install install-am install-data install-data-am \ - install-data-local 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 tags-am uninstall \ - uninstall-am uninstall-local - -.PRECIOUS: Makefile - -include @top_srcdir@/include.mk - -@MINGW_FALSE@install-data-local: yaws_script yaws_conf yaws_init_script - -@MINGW_FALSE@uninstall-local: -@MINGW_FALSE@ $(AM_V_at)if diff -U0 $(DESTDIR)$(confdir)/yaws.conf.template \ -@MINGW_FALSE@ $(DESTDIR)$(confdir)/yaws.conf; then \ -@MINGW_FALSE@ rm -f $(DESTDIR)$(confdir)/yaws.conf; \ -@MINGW_FALSE@ else \ -@MINGW_FALSE@ echo "Keep modified config file"; \ -@MINGW_FALSE@ fi - -@MINGW_FALSE@ $(AM_V_at)rm -f $(DESTDIR)$(bindir)/yaws -@MINGW_FALSE@ $(AM_V_at)rm -f $(DESTDIR)$(sysconfdir)/init.d/yaws -@MINGW_FALSE@ $(AM_V_at)rm -f $(DESTDIR)$(sysconfdir)/rc.d/yaws -@MINGW_FALSE@ $(AM_V_at)rm -f $(DESTDIR)$(sysconfdir)/systemd/system/yaws.service -@MINGW_FALSE@ $(AM_V_at)rm -f $(DESTDIR)$(confdir)/yaws.conf.template - -@MINGW_FALSE@yaws_script: -@MINGW_FALSE@ $(AM_V_GEN) -@MINGW_FALSE@ $(AM_V_at)$(INSTALL) -d $(DESTDIR)$(bindir) -@MINGW_FALSE@ $(AM_V_at)(cd @srcdir@ && \ -@MINGW_FALSE@ YAWSDIR='$(yawsdir)' \ -@MINGW_FALSE@ VARDIR='$(localstatedir)' \ -@MINGW_FALSE@ ERLBINDIR='$(ERLANG_ERTS_DIR)/bin' \ -@MINGW_FALSE@ ERL='$(ERL)' WERL='$(WERL)' \ -@MINGW_FALSE@ ./gen-yaws > $(DESTDIR)$(bindir)/yaws) -@MINGW_FALSE@ $(AM_V_at)chmod +x $(DESTDIR)$(bindir)/yaws - -@MINGW_FALSE@yaws_conf: -@MINGW_FALSE@ $(AM_V_GEN) -@MINGW_FALSE@ $(AM_V_at)$(INSTALL) -d $(DESTDIR)$(confdir); -@MINGW_FALSE@ $(AM_V_at)user=$${SUDO_USER:-$$(whoami)}; \ -@MINGW_FALSE@ if [ $${user} == 'root' -o $${user} != $$(whoami) ]; then \ -@MINGW_FALSE@ PORT=80; \ -@MINGW_FALSE@ SSLPORT=443; \ -@MINGW_FALSE@ else \ -@MINGW_FALSE@ PORT=8000; \ -@MINGW_FALSE@ SSLPORT=4443; \ -@MINGW_FALSE@ fi; \ -@MINGW_FALSE@ (cd @srcdir@ && \ -@MINGW_FALSE@ YAWSDIR='$(yawsdir)' \ -@MINGW_FALSE@ LOGDIR='$(logdir)' \ -@MINGW_FALSE@ VARDIR='$(localstatedir)' \ -@MINGW_FALSE@ PORT=$${PORT} \ -@MINGW_FALSE@ DOCROOT='$(wwwdir)' \ -@MINGW_FALSE@ CERTDIR='$(confdir)' \ -@MINGW_FALSE@ SSLPORT=$${SSLPORT} \ -@MINGW_FALSE@ ./gen-yaws-conf > $(DESTDIR)$(confdir)/yaws.conf.template) - -@MINGW_FALSE@ $(AM_V_at)if [ -f "$(DESTDIR)$(confdir)/yaws.conf" ]; then \ -@MINGW_FALSE@ echo "* Keeping old config file "; \ -@MINGW_FALSE@ else \ -@MINGW_FALSE@ echo "* Installing new config file"; \ -@MINGW_FALSE@ $(INSTALL) -m 644 $(DESTDIR)$(confdir)/yaws.conf.template \ -@MINGW_FALSE@ $(DESTDIR)$(confdir)/yaws.conf; \ -@MINGW_FALSE@ fi - -@MINGW_FALSE@yaws_init_script: -@MINGW_FALSE@ $(AM_V_GEN) -@MINGW_FALSE@ $(AM_V_at)(cd @srcdir@ && \ -@MINGW_FALSE@ DESTDIR='$(DESTDIR)' \ -@MINGW_FALSE@ PREFIX='$(prefix)' \ -@MINGW_FALSE@ ETCDIR='$(sysconfdir)' \ -@MINGW_FALSE@ BINDIR='$(bindir)' \ -@MINGW_FALSE@ LOGDIR='$(logdir)' \ -@MINGW_FALSE@ YAWSDIR='$(ERLANG_INSTALL_LIB_DIR_yaws)' \ -@MINGW_FALSE@ ./regular-install) - -# Local Variables: -# tab-width: 8 -# End: - -# Tell versions [3.59,3.63) of GNU make to not export all variables. -# Otherwise a system limit (for SysV at least) may be exceeded. -.NOEXPORT: diff -Nru yaws-2.0.6+dfsg/scripts/make-release yaws-2.0.7+dfsg/scripts/make-release --- yaws-2.0.6+dfsg/scripts/make-release 2018-06-26 09:17:24.000000000 +0000 +++ yaws-2.0.7+dfsg/scripts/make-release 1970-01-01 00:00:00.000000000 +0000 @@ -1,30 +0,0 @@ -#!/bin/sh - -SRCDIR=/home/klacke/yaws -BUILDDIR=/home/klacke/yaws -YAWS_VSN=2.0.6 -INSTALL_BUILDER=${INSTALL_BUILDER:-/home/klacke/installbuilder-5.4.14} - - -echo packing release ${YAWS_VSN} - -TAG="yaws-${YAWS_VSN}" -NAME_VERSION="yaws-${YAWS_VSN}" - -# Add/update release tag -(cd ${SRCDIR} && git tag -f -a -m "version ${YAWS_VSN}" "$TAG") - -# Create windows installer -#(cd ${BUILDDIR} && make mkinstaller INSTALL_BUILDER=${INSTALL_BUILDER} >/dev/null) - -# Create distribution tarball -(cd ${BUILDDIR} && make dist > /dev/null) - -echo release resides in ${BUILDDIR}/$NAME_VERSION.tar.gz -#echo release resides in ${BUILDDIR}/Yaws-${YAWS_VSN}-windows-installer.exe - -echo "To push this do:" -#echo "git push origin revs/tags/yaws-${version}:revs/tags/yaws-${version}" -echo "git push --tags" - -exit 0 diff -Nru yaws-2.0.6+dfsg/scripts/upload-travis-build-artifacts yaws-2.0.7+dfsg/scripts/upload-travis-build-artifacts --- yaws-2.0.6+dfsg/scripts/upload-travis-build-artifacts 1970-01-01 00:00:00.000000000 +0000 +++ yaws-2.0.7+dfsg/scripts/upload-travis-build-artifacts 2019-07-14 13:01:11.000000000 +0000 @@ -0,0 +1,75 @@ +#!/usr/bin/env bash + +if test ${TRAVIS} != true; then + echo "WARNING: upload skipped: not a travis build" + exit 0 +fi +if ! test -d ${TRAVIS_BUILD_DIR}/testsuite/logs; then + echo "WARNING: Upload skipped: build artifacts not found" + exit 0 +fi +if test -z ${TRAVIS_OTP_RELEASE} || test -z ${TRAVIS_BRANCH} || test -z ${TRAVIS_BUILD_NUMBER}; then + echo "ERROR; missing travis env variables" + exit 1 +fi +if test -z ${GH_TOKEN}; then + echo "ERROR; missing github token" + exit 1 +fi + +GH_USER=capflam +GH_REPO=yaws-travis-build-artifacts +GH_URL="https://api.github.com/repos/${GH_USER}/${GH_REPO}" +GH_SECURE_URL="https://${GH_TOKEN}@api.github.com/repos/${GH_USER}/${GH_REPO}" +GH_UPLOADS_URL="https://${GH_TOKEN}@uploads.github.com/repos/${GH_USER}/${GH_REPO}" + +echo "Upload build artifacts from the travis buils ${TRAVIS_BUILD_NUMBER} on the \ +branch ${TRAVIS_BRANCH} using Erlang release ${TRAVIS_OTP_RELEASE}..." + +# Create the tarball to upload +ARTIFACT=testsuite_logs-build_${TRAVIS_BUILD_NUMBER}-branch_${TRAVIS_BRANCH}-erlang_${TRAVIS_OTP_RELEASE} +ARCHIVE=${ARTIFACT}.tar.gz +echo " * Create ${ARCHIVE}" +( + cd /tmp + cp -r ${TRAVIS_BUILD_DIR}/testsuite/logs ${ARTIFACT} + tar zcf ${ARCHIVE} ${ARTIFACT} +) +if ! test -f /tmp/${ARCHIVE}; then + echo "ERROR: failed to create ${ARCHIVE}" + exit 1 +fi + +# Check if the release corresponding to this travis build exists +if ! $(curl -fs "${GH_URL}/releases/tags/travis_build_${TRAVIS_BUILD_NUMBER}" -o /dev/null); then + # It does not exist, so create it now + curl -fs -X POST -H "Content-Type: application/json" \ + -d "{\"tag_name\": \"travis_build_${TRAVIS_BUILD_NUMBER}\"}" \ + "${GH_SECURE_URL}/releases" -o /dev/null + if test $? -ne 0; then + echo "ERROR: Failed to create release travis_build_${TRAVIS_BUILD_NUMBER} !" + else + echo " * Release travis_build_${TRAVIS_BUILD_NUMBER} created" + fi +else + echo " * Release travis_build_${TRAVIS_BUILD_NUMBER} already exists" +fi + +# Get release id +RELEASE=$(curl -fs "${GH_URL}/releases/tags/travis_build_${TRAVIS_BUILD_NUMBER}"); +if test $? -ne 0; then + echo "ERROR: failed to retrive release ID corresponding to travis_build_${TRAVIS_BUILD_NUMBER}" + exit 1 +fi +RELEASE_ID=$(echo ${RELEASE} | jq '.id') + +echo " * Upload ${ARCHIVE}" +curl -fs -X POST -H "Content-Type: application/gzip" \ + --data-binary @/tmp/${ARCHIVE} \ + "${GH_UPLOADS_URL}/releases/${RELEASE_ID}/assets?name=${ARCHIVE}&label=${ARTIFACT}" -o /dev/null +if test $? -ne 0; then + echo "ERROR: Failed to upload ${ARCHIVE}" + exit 1 +fi + +echo "[DONE]" diff -Nru yaws-2.0.6+dfsg/src/Makefile.in yaws-2.0.7+dfsg/src/Makefile.in --- yaws-2.0.6+dfsg/src/Makefile.in 2018-06-26 09:17:08.000000000 +0000 +++ yaws-2.0.7+dfsg/src/Makefile.in 1970-01-01 00:00:00.000000000 +0000 @@ -1,657 +0,0 @@ -# Makefile.in generated by automake 1.15.1 from Makefile.am. -# @configure_input@ - -# Copyright (C) 1994-2017 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@ -am__is_gnu_make = { \ - if test -z '$(MAKELEVEL)'; then \ - false; \ - elif test -n '$(MAKE_HOST)'; then \ - true; \ - elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ - true; \ - else \ - false; \ - fi; \ -} -am__make_running_with_option = \ - case $${target_option-} in \ - ?) ;; \ - *) echo "am__make_running_with_option: internal error: invalid" \ - "target option '$${target_option-}' specified" >&2; \ - exit 1;; \ - esac; \ - has_opt=no; \ - sane_makeflags=$$MAKEFLAGS; \ - if $(am__is_gnu_make); then \ - sane_makeflags=$$MFLAGS; \ - else \ - case $$MAKEFLAGS in \ - *\\[\ \ ]*) \ - bs=\\; \ - sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ - | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ - esac; \ - fi; \ - skip_next=no; \ - strip_trailopt () \ - { \ - flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ - }; \ - for flg in $$sane_makeflags; do \ - test $$skip_next = yes && { skip_next=no; continue; }; \ - case $$flg in \ - *=*|--*) continue;; \ - -*I) strip_trailopt 'I'; skip_next=yes;; \ - -*I?*) strip_trailopt 'I';; \ - -*O) strip_trailopt 'O'; skip_next=yes;; \ - -*O?*) strip_trailopt 'O';; \ - -*l) strip_trailopt 'l'; skip_next=yes;; \ - -*l?*) strip_trailopt 'l';; \ - -[dEDm]) skip_next=yes;; \ - -[JT]) skip_next=yes;; \ - esac; \ - case $$flg in \ - *$$target_option*) has_opt=yes; break;; \ - esac; \ - done; \ - test $$has_opt = yes -am__make_dryrun = (target_option=n; $(am__make_running_with_option)) -am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) -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 = src -ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/m4/ax_compare_version.m4 \ - $(top_srcdir)/m4/colored-echo.m4 $(top_srcdir)/m4/erlang.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)/configure.ac -am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ - $(ACLOCAL_M4) -DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON) -mkinstalldirs = $(install_sh) -d -CONFIG_CLEAN_FILES = yaws_charset.hrl yaws_appdeps.hrl -CONFIG_CLEAN_VPATH_FILES = -AM_V_P = $(am__v_P_@AM_V@) -am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) -am__v_P_0 = false -am__v_P_1 = : -AM_V_GEN = $(am__v_GEN_@AM_V@) -am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) -am__v_GEN_0 = @echo " GEN " $@; -am__v_GEN_1 = -AM_V_at = $(am__v_at_@AM_V@) -am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) -am__v_at_0 = @ -am__v_at_1 = -SOURCES = -DIST_SOURCES = -am__can_run_installinfo = \ - case $$AM_UPDATE_INFO_DIR in \ - n|no|NO) false;; \ - *) (install-info --version) >/dev/null 2>&1;; \ - esac -am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) -am__DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/yaws_appdeps.hrl.in \ - $(srcdir)/yaws_charset.hrl.in -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) -ACLOCAL = @ACLOCAL@ -AMTAR = @AMTAR@ -AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ -APPDEPS = @APPDEPS@ -AR = @AR@ -AUTOCONF = @AUTOCONF@ -AUTOHEADER = @AUTOHEADER@ -AUTOMAKE = @AUTOMAKE@ -AWK = @AWK@ -CADAVER = @CADAVER@ -CC = @CC@ -CCDEPMODE = @CCDEPMODE@ -CFLAGS = @CFLAGS@ -CONFIG_STATUS_DEPENDENCIES = @CONFIG_STATUS_DEPENDENCIES@ -CPP = @CPP@ -CPPFLAGS = @CPPFLAGS@ -CT_RUN = @CT_RUN@ -CURL = @CURL@ -CYGPATH_W = @CYGPATH_W@ -DEFAULT_CHARSET = @DEFAULT_CHARSET@ -DEFS = @DEFS@ -DEPDIR = @DEPDIR@ -DIALYZER = @DIALYZER@ -DLLTOOL = @DLLTOOL@ -DSYMUTIL = @DSYMUTIL@ -DUMPBIN = @DUMPBIN@ -DVILATEX = @DVILATEX@ -DVIPS = @DVIPS@ -ECHO_C = @ECHO_C@ -ECHO_N = @ECHO_N@ -ECHO_T = @ECHO_T@ -EGREP = @EGREP@ -EPAM_CFLAGS = @EPAM_CFLAGS@ -EPSTOPDF = @EPSTOPDF@ -ERL = @ERL@ -ERLANG_ERTS_DIR = @ERLANG_ERTS_DIR@ -ERLANG_ERTS_VER = @ERLANG_ERTS_VER@ -ERLANG_INSTALL_LIB_DIR = @ERLANG_INSTALL_LIB_DIR@ -ERLANG_INSTALL_LIB_DIR_yapp = @ERLANG_INSTALL_LIB_DIR_yapp@ -ERLANG_INSTALL_LIB_DIR_yaws = @ERLANG_INSTALL_LIB_DIR_yaws@ -ERLANG_LIB_DIR = @ERLANG_LIB_DIR@ -ERLANG_LIB_DIR_common_test = @ERLANG_LIB_DIR_common_test@ -ERLANG_LIB_DIR_compiler = @ERLANG_LIB_DIR_compiler@ -ERLANG_LIB_DIR_crypto = @ERLANG_LIB_DIR_crypto@ -ERLANG_LIB_DIR_erlsom = @ERLANG_LIB_DIR_erlsom@ -ERLANG_LIB_DIR_erts = @ERLANG_LIB_DIR_erts@ -ERLANG_LIB_DIR_eunit = @ERLANG_LIB_DIR_eunit@ -ERLANG_LIB_DIR_inets = @ERLANG_LIB_DIR_inets@ -ERLANG_LIB_DIR_kernel = @ERLANG_LIB_DIR_kernel@ -ERLANG_LIB_DIR_mnesia = @ERLANG_LIB_DIR_mnesia@ -ERLANG_LIB_DIR_public_key = @ERLANG_LIB_DIR_public_key@ -ERLANG_LIB_DIR_sasl = @ERLANG_LIB_DIR_sasl@ -ERLANG_LIB_DIR_ssl = @ERLANG_LIB_DIR_ssl@ -ERLANG_LIB_DIR_stdlib = @ERLANG_LIB_DIR_stdlib@ -ERLANG_LIB_DIR_tools = @ERLANG_LIB_DIR_tools@ -ERLANG_LIB_DIR_xmerl = @ERLANG_LIB_DIR_xmerl@ -ERLANG_LIB_DIR_xmlrpc = @ERLANG_LIB_DIR_xmlrpc@ -ERLANG_LIB_VER_common_test = @ERLANG_LIB_VER_common_test@ -ERLANG_LIB_VER_compiler = @ERLANG_LIB_VER_compiler@ -ERLANG_LIB_VER_crypto = @ERLANG_LIB_VER_crypto@ -ERLANG_LIB_VER_erlsom = @ERLANG_LIB_VER_erlsom@ -ERLANG_LIB_VER_erts = @ERLANG_LIB_VER_erts@ -ERLANG_LIB_VER_eunit = @ERLANG_LIB_VER_eunit@ -ERLANG_LIB_VER_inets = @ERLANG_LIB_VER_inets@ -ERLANG_LIB_VER_kernel = @ERLANG_LIB_VER_kernel@ -ERLANG_LIB_VER_mnesia = @ERLANG_LIB_VER_mnesia@ -ERLANG_LIB_VER_public_key = @ERLANG_LIB_VER_public_key@ -ERLANG_LIB_VER_sasl = @ERLANG_LIB_VER_sasl@ -ERLANG_LIB_VER_ssl = @ERLANG_LIB_VER_ssl@ -ERLANG_LIB_VER_stdlib = @ERLANG_LIB_VER_stdlib@ -ERLANG_LIB_VER_tools = @ERLANG_LIB_VER_tools@ -ERLANG_LIB_VER_xmerl = @ERLANG_LIB_VER_xmerl@ -ERLANG_LIB_VER_xmlrpc = @ERLANG_LIB_VER_xmlrpc@ -ERLANG_RELEASE = @ERLANG_RELEASE@ -ERLANG_ROOT_DIR = @ERLANG_ROOT_DIR@ -ERLC = @ERLC@ -ERLCFLAGS = @ERLCFLAGS@ -ERL_LIBS = @ERL_LIBS@ -ESCRIPT = @ESCRIPT@ -EXEEXT = @EXEEXT@ -EXTRAINCLUDE = @EXTRAINCLUDE@ -FGREP = @FGREP@ -GREP = @GREP@ -HAVE_SENDFILE = @HAVE_SENDFILE@ -INSTALL = @INSTALL@ -INSTALL_BUILDER = @INSTALL_BUILDER@ -INSTALL_DATA = @INSTALL_DATA@ -INSTALL_PROGRAM = @INSTALL_PROGRAM@ -INSTALL_SCRIPT = @INSTALL_SCRIPT@ -INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ -LD = @LD@ -LDFLAGS = @LDFLAGS@ -LIBOBJS = @LIBOBJS@ -LIBS = @LIBS@ -LIBTOOL = @LIBTOOL@ -LIPO = @LIPO@ -LN_S = @LN_S@ -LTLIBOBJS = @LTLIBOBJS@ -LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@ -MAKEINFO = @MAKEINFO@ -MAN = @MAN@ -MANIFEST_TOOL = @MANIFEST_TOOL@ -MKDIR_P = @MKDIR_P@ -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_URL = @PACKAGE_URL@ -PACKAGE_VERSION = @PACKAGE_VERSION@ -PATH_SEPARATOR = @PATH_SEPARATOR@ -PDFLATEX = @PDFLATEX@ -PS2PDF = @PS2PDF@ -RANLIB = @RANLIB@ -SED = @SED@ -SET_MAKE = @SET_MAKE@ -SHELL = @SHELL@ -STRIP = @STRIP@ -TODOS = @TODOS@ -UNIX2DOS = @UNIX2DOS@ -VERSION = @VERSION@ -WERL = @WERL@ -YAPP_VSN = @YAPP_VSN@ -YAWS_VSN = @YAWS_VSN@ -abs_builddir = @abs_builddir@ -abs_srcdir = @abs_srcdir@ -abs_top_builddir = @abs_top_builddir@ -abs_top_srcdir = @abs_top_srcdir@ -ac_ct_AR = @ac_ct_AR@ -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@ -appsdir = @appsdir@ -bindir = @bindir@ -build = @build@ -build_alias = @build_alias@ -build_cpu = @build_cpu@ -build_os = @build_os@ -build_vendor = @build_vendor@ -builddir = @builddir@ -confdir = @confdir@ -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@ -logdir = @logdir@ -mandir = @mandir@ -mkdir_p = @mkdir_p@ -oldincludedir = @oldincludedir@ -pdfdir = @pdfdir@ -prefix = @prefix@ -program_transform_name = @program_transform_name@ -psdir = @psdir@ -runstatedir = @runstatedir@ -sbindir = @sbindir@ -sharedstatedir = @sharedstatedir@ -srcdir = @srcdir@ -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@ -wwwdir = @wwwdir@ -yappdir = @yappdir@ -yawsdir = @yawsdir@ -STATIC_MODULES = yaws.erl \ - yaws_app.erl \ - yaws_ticker.erl \ - yaws_config.erl \ - yaws_server.erl \ - yaws_sup.erl \ - yaws_api.erl \ - yaws_log.erl \ - yaws_trace.erl \ - yaws_logger.erl \ - yaws_ls.erl \ - yaws_debug.erl \ - yaws_compile.erl \ - yaws_ctl.erl \ - yaws_cgi.erl \ - yaws_zlib.erl \ - mime_type_c.erl \ - yaws_session_server.erl \ - yaws_outmod.erl \ - yaws_revproxy.erl \ - yaws_html.erl \ - yaws_log_file_h.erl \ - yaws_rss.erl \ - yaws_appmod_dav.erl \ - yaws_runmod_lock.erl \ - yaws_pam.erl \ - json2.erl \ - jsonrpc.erl \ - yaws_jsonrpc.erl \ - yaws_xmlrpc.erl \ - haxe.erl \ - yaws_rpc.erl \ - yaws_soap_srv.erl \ - yaws_soap_lib.erl \ - yaws_soap12_lib.erl \ - yaws_appmod_cgi.erl \ - yaws_appmod_fcgi.erl \ - yaws_sendfile.erl \ - yaws_sup_restarts.erl \ - yaws_stats.erl \ - yaws_vdir.erl \ - yaws_multipart.erl \ - yaws_shaper.erl \ - yaws_dime.erl \ - yaws_exhtml.erl \ - yaws_sse.erl \ - yaws_websockets.erl \ - yaws_dynopts.erl \ - yaws_ws_sup.erl - -EXTRA_DIST = $(STATIC_MODULES) yaws_websockets.erl yaws_debug.hrl \ - yaws_generated.template yaws.app.src yaws.app.src.script \ - yaws.appup.src - -GENERATED_MODULES = yaws_generated.erl mime_types.erl -MODULES = $(STATIC_MODULES) $(GENERATED_MODULES) -EBIN_DIR = @top_builddir@/ebin -EBIN_FILES = $(MODULES:%.erl=$(EBIN_DIR)/%.beam) -ERLC_FLAGS = $(ERLC_GENERIC_FLAGS) -all: all-am - -.SUFFIXES: -$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) - @for dep in $?; do \ - case '$(am__configure_deps)' in \ - *$$dep*) \ - ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ - && { if test -f $@; then exit 0; else break; fi; }; \ - exit 1;; \ - esac; \ - done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign src/Makefile'; \ - $(am__cd) $(top_srcdir) && \ - $(AUTOMAKE) --foreign src/Makefile -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - @case '$?' in \ - *config.status*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ - *) \ - echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ - esac; - -$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh - -$(top_srcdir)/configure: $(am__configure_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(ACLOCAL_M4): $(am__aclocal_m4_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(am__aclocal_m4_deps): -yaws_charset.hrl: $(top_builddir)/config.status $(srcdir)/yaws_charset.hrl.in - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ -yaws_appdeps.hrl: $(top_builddir)/config.status $(srcdir)/yaws_appdeps.hrl.in - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ - -mostlyclean-libtool: - -rm -f *.lo - -clean-libtool: - -rm -rf .libs _libs -tags TAGS: - -ctags CTAGS: - -cscope cscopelist: - - -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 all-local -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: - if test -z '$(STRIP)'; then \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - install; \ - else \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ - fi -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 distclean-local - -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 all-local check check-am clean clean-generic \ - clean-libtool clean-local cscopelist-am ctags-am distclean \ - distclean-generic distclean-libtool distclean-local 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 tags-am uninstall \ - uninstall-am - -.PRECIOUS: Makefile - -include @top_srcdir@/include.mk - -include @top_srcdir@/erlang_deps.mk - -all-local: $(EBIN_DIR)/yaws.app $(EBIN_DIR)/yaws.appup $(EBIN_FILES) - -tags: $(EBIN_DIR)/yaws_generated.beam $(EBIN_DIR)/yaws_debug.beam - $(AM_V_GEN)erl -noshell -pa $(EBIN_DIR) -s yaws_debug mktags - -xref: $(EBIN_DIR)/yaws_generated.beam $(EBIN_DIR)/yaws_debug.beam - $(AM_V_GEN)erl -noshell -pa $(EBIN_DIR) -s yaws_debug xref $(EBIN_DIR) - -clean-local: - $(AM_V_at)rm -f $(EBIN_DIR)/yaws.app $(EBIN_DIR)/yaws.appup $(EBIN_FILES) - $(AM_V_at)rm -f yaws_generated.erl mime_types.erl - -yaws_generated.erl: @srcdir@/yaws_generated.template @top_srcdir@/vsn.mk \ - $(EBIN_DIR)/yaws.beam - $(AM_V_at)(cd @srcdir@ && \ - YAWS_VSN='@YAWS_VSN@' \ - VARDIR='@localstatedir@' \ - ETCDIR='@sysconfdir@' \ - @abs_top_srcdir@/scripts/gen-yaws-generated) > yaws_generated.erl - -mime_types.erl: @top_builddir@/priv/mime.types $(EBIN_DIR)/mime_type_c.beam \ - $(EBIN_DIR)/yaws.beam - $(AM_V_GEN)$(ERL) -noshell -pa $(EBIN_DIR) -s mime_type_c generate - -$(EBIN_DIR)/yaws.app: @srcdir@/yaws.app.src - $(AM_V_GEN)$(AWK) -v src="$(MODULES)" \ - "/{vsn, *{cmd,/ { \ - line = \$$0; \ - sub(/{vsn.*/, \"{vsn, \\\"@YAWS_VSN@\\\"},\", line); \ - print line; \ - next; \ - } \ - /{modules,/ { \ - line = \$$0; \ - indent = index(line, \"[\"); \ - line = substr(line, 1, indent); \ - print line; \ - split(src, mods); \ - mods_count = 0; \ - for (mod in mods) { \ - mods_count++; \ - } \ - prefix = sprintf(\"%*s\", indent, \" \"); \ - for (i = 1; i <= mods_count; i++) { \ - mod = mods[i]; \ - sub(/\.erl/, \"\", mod); \ - if (i != mods_count) \ - print prefix mod \",\"; \ - else \ - print prefix mod; \ - } \ - print prefix \"]},\"; \ - next; \ - } \ - /\@APPDEPS\@/ { \ - line = \$$0; \ - sub(/\@APPDEPS\@/, \"$(APPDEPS)\", line); \ - print line; \ - next; \ - } \ - { print; }" $< > $@ - -$(EBIN_DIR)/yaws.appup: @srcdir@/yaws.appup.src - $(AM_V_GEN)sed -e "s/%VSN%/@YAWS_VSN@/g" < $< > $@ - -$(EBIN_DIR)/%.beam: %.erl - $(AM_V_at)$(ERLC) $(ERLC_FLAGS) -M -MF $(@:$(EBIN_DIR)/%.beam=$(DEPDIR)/%.Pbeam) -MT $@ $< - $(AM_V_ERLC)$(ERLC) $(ERLC_FLAGS) -o $(EBIN_DIR) $< - -distclean-local: - $(AM_V_at)rm -fr $(DEPDIR) - -# Local Variables: -# tab-width: 8 -# End: - -# Tell versions [3.59,3.63) of GNU make to not export all variables. -# Otherwise a system limit (for SysV at least) may be exceeded. -.NOEXPORT: diff -Nru yaws-2.0.6+dfsg/src/yaws_api.erl yaws-2.0.7+dfsg/src/yaws_api.erl --- yaws-2.0.6+dfsg/src/yaws_api.erl 2018-04-11 14:14:36.000000000 +0000 +++ yaws-2.0.7+dfsg/src/yaws_api.erl 2019-07-14 13:01:11.000000000 +0000 @@ -72,7 +72,7 @@ -export([parse_set_cookie/1, parse_cookie/1, format_set_cookie/1, format_cookie/1, postvar/2, queryvar/2, getvar/2]). --export([binding/1,binding_exists/1, +-export([binding/1,binding_find/1,binding_exists/1, dir_listing/1, dir_listing/2, redirect_self/1]). -export([arg_clisock/1, arg_client_ip_port/1, arg_headers/1, arg_req/1, @@ -83,7 +83,7 @@ arg_pathinfo/1]). -export([http_request_method/1, http_request_path/1, http_request_version/1, http_response_version/1, http_response_status/1, - http_response_phrase/1, + http_response_phrase/1, http_extra_response_headers_add_status_codes/0, headers_connection/1, headers_accept/1, headers_host/1, headers_if_modified_since/1, headers_if_match/1, headers_if_none_match/1, @@ -98,8 +98,6 @@ -export([set_header/2, set_header/3, merge_header/2, merge_header/3, get_header/2, get_header/3, delete_header/2]). --import(lists, [flatten/1, reverse/1]). - %% These are a bunch of accessor functions that are useful inside %% yaws scripts. @@ -131,6 +129,12 @@ http_response_status(#http_response{status = X}) -> X. http_response_phrase(#http_response{phrase = X}) -> X. +%% A server conf can specify directives to add extra response +%% headers. This function returns the list of status codes that the +%% "add" directive applies to. +http_extra_response_headers_add_status_codes() -> + [200, 201, 204, 206, 301, 302, 303, 304, 307, 308]. + headers_connection(#headers{connection = X}) -> X. headers_accept(#headers{accept = X}) -> X. headers_host(#headers{host = X}) -> X. @@ -158,14 +162,14 @@ %% parse the command line query data parse_query(Arg) -> case get(query_parse) of - undefined -> + {QueryData, Res} when Arg#arg.querydata == QueryData -> + Res; + _ -> Res = case Arg#arg.querydata of [] -> []; D -> parse_post_data_urlencoded(D) end, - put(query_parse, Res), - Res; - Res -> + put(query_parse, {Arg#arg.querydata, Res}), Res end. @@ -536,6 +540,7 @@ code_to_phrase(100) -> "Continue"; code_to_phrase(101) -> "Switching Protocols "; code_to_phrase(102) -> "Processing"; +code_to_phrase(103) -> "Early Hints"; code_to_phrase(200) -> "OK"; code_to_phrase(201) -> "Created"; code_to_phrase(202) -> "Accepted"; @@ -728,7 +733,7 @@ ({N,V}, {L1, L2}) -> {[cookie_option(N,V) | L1], L2}; (N, {L1, L2}) -> {L1, [cookie_option(N) | L2]} end, {[], []}, Options), - {header, {set_cookie, [Key, $=, Value, "; Version=1", NV | SV]}}. + {header, {set_cookie, [Key, $=, Value, NV | SV]}}. setcookie(Name, Value) -> {header, {set_cookie, f("~s=~s;", [Name, Value])}}. @@ -784,18 +789,24 @@ %% url_decode(Path) -> - url_decode_with_encoding(Path, file:native_name_encoding()). + url_decode_with_encoding(Path, undefined). url_decode_with_encoding(Path, Encoding) -> {DecPath, QS} = url_decode(Path, []), DecPath1 = case Encoding of latin1 -> DecPath; - utf8 -> - case unicode:characters_to_list(list_to_binary(DecPath)) of + _ -> + try unicode:characters_to_list(list_to_binary(DecPath)) of UTF8DecPath when is_list(UTF8DecPath) -> UTF8DecPath; _ -> DecPath - end + catch + error:badarg -> + case unicode:characters_to_list(DecPath, Encoding) of + UTF8DecPath when is_list(UTF8DecPath) -> UTF8DecPath; + _ -> DecPath + end + end end, case QS of [] -> lists:flatten(DecPath1); @@ -852,10 +863,10 @@ url_decode_q_split(Path) -> {DecPath, QS} = url_decode_q_split(Path, []), - case file:native_name_encoding() of - latin1 -> + case io_lib:latin1_char_list(Path) of + true -> {DecPath, QS}; - utf8 -> + false -> case unicode:characters_to_list(list_to_binary(DecPath)) of UTF8DecPath when is_list(UTF8DecPath) -> {UTF8DecPath, QS}; _ -> {DecPath, QS} @@ -864,10 +875,19 @@ url_decode_q_split([$%, Hi, Lo | Tail], Ack) -> Hex = yaws:hex_to_integer([Hi, Lo]), - if Hex == 0 -> exit(badurl); - true -> ok - end, - url_decode_q_split(Tail, [Hex|Ack]); + if Hex == 0 -> exit(badurl); + %% RFC 3986 section 2.2 says that encoded reserved characters + %% should not be decoded, otherwise the meaning of the URL data + %% changes + Hex == $:; Hex == $/; Hex == $?; Hex == $#; + Hex == $[; Hex == $]; Hex == $@; + Hex == $!; Hex == $$; Hex == $&; Hex == $'; + Hex == $(; Hex == $); Hex == $*; Hex == $+; + Hex == $,; Hex == $;; Hex == $= -> + url_decode_q_split(Tail, [Lo, Hi, $%|Ack]); + true -> + url_decode_q_split(Tail, [Hex|Ack]) + end; url_decode_q_split([$?|T], Ack) -> %% Don't decode the query string here, %% that is parsed separately. @@ -879,18 +899,18 @@ url_encode(URL) when is_list(URL) -> - Bin = case file:native_name_encoding() of - latin1 -> list_to_binary(URL); - utf8 -> unicode:characters_to_binary(URL) + Bin = case io_lib:latin1_char_list(URL) of + true -> list_to_binary(URL); + false -> unicode:characters_to_binary(URL) end, + url_encode(Bin); +url_encode(URL) when is_binary(URL) -> %% ReservedChars = "!*'();:@&=+$,/?%#[]", UnreservedChars = sets:from_list("ABCDEFGHIJKLMNOPQRSTUVWXYZ" "abcdefghijklmnopqrstuvwxyz" "0123456789-_.~"), - flatten([url_encode_byte(Byte, UnreservedChars) || <> <= Bin]). + lists:flatten([url_encode_byte(Byte, UnreservedChars) || <> <= URL]). -url_encode_byte($:, _) -> $:; % FIXME: both : and / should be encoded, but -url_encode_byte($/, _) -> $/; % too much code currently assumes they're not url_encode_byte(Byte, UnreservedChars) -> case sets:is_element(Byte, UnreservedChars) of true -> Byte; @@ -1102,137 +1122,138 @@ %% returns [ Header1, Header2 .....] reformat_header(H) -> FormatFun = fun(Hname, {multi, Values}) -> - [lists:flatten(io_lib:format("~s: ~s", [Hname, Val])) || - Val <- Values]; + {multi, + [lists:flatten(io_lib:format("~s: ~s", [Hname, Val])) || + Val <- Values]}; (Hname, Str) -> lists:flatten(io_lib:format("~s: ~s", [Hname, Str])) end, reformat_header(H, FormatFun). reformat_header(H, FormatFun) -> - lists:zf(fun({Hname, Str}) -> - I = FormatFun(Hname, Str), - {true, I}; - (undefined) -> - false - end, - [ - if H#headers.connection == undefined -> - undefined; - true -> - {"Connection", H#headers.connection} - end, - - if H#headers.accept == undefined -> - undefined; - true -> - {"Accept", H#headers.accept} - end, - if H#headers.host == undefined -> - undefined; - true -> - {"Host", H#headers.host} - end, - if H#headers.if_modified_since == undefined -> - undefined; - true -> - {"If-Modified-Since", H#headers.if_modified_since} - end, - if H#headers.if_match == undefined -> - undefined; - true -> - {"If-Match", H#headers.if_match} - end, - if H#headers.if_none_match == undefined -> - undefined; - true -> - {"If-None-Match", H#headers.if_none_match} - end, - - - if H#headers.if_range == undefined -> - undefined; - true -> - {"If-Range", H#headers.if_range} - end, - if H#headers.if_unmodified_since == undefined -> - undefined; - true -> - {"If-Unmodified-Since", H#headers.if_unmodified_since} - end, - if H#headers.range == undefined -> - undefined; - true -> - {"Range", H#headers.range} - end, - if H#headers.referer == undefined -> - undefined; - true -> - {"Referer", H#headers.referer} - end, - if H#headers.user_agent == undefined -> - undefined; - true -> - {"User-Agent", H#headers.user_agent} - end, - if H#headers.accept_ranges == undefined -> - undefined; - true -> - {"Accept-Ranges", H#headers.accept_ranges} - end, - if H#headers.cookie == [] -> - undefined; - true -> - {"Cookie", H#headers.cookie} - end, - if H#headers.keep_alive == undefined -> - undefined; - true -> - {"Keep-Alive", H#headers.keep_alive} - end, - if H#headers.content_length == undefined -> - undefined; - true -> - {"Content-Length", H#headers.content_length} - end, - if H#headers.content_type == undefined -> - undefined; - true -> - {"Content-Type", H#headers.content_type} - end, - if H#headers.content_encoding == undefined -> - undefined; - true -> - {"Content-Encoding", H#headers.content_encoding} - end, - - if H#headers.authorization == undefined -> - undefined; - true -> - {"Authorization", element(3, H#headers.authorization)} - end, - if H#headers.transfer_encoding == undefined -> - undefined; - true -> - {"Transfer-Encoding", H#headers.transfer_encoding} - end, - if H#headers.location == undefined -> - undefined; - true -> - {"Location", H#headers.location} - end, - if H#headers.x_forwarded_for == undefined -> - undefined; - true -> - {"X-Forwarded-For", H#headers.x_forwarded_for} - end - - ] - ) ++ - lists:map( - fun({http_header,_,K,_,V}) -> - FormatFun(K,V) - end, H#headers.other). - + lists:foldr(fun({multi, Hdrs}, Acc) -> + Hdrs ++ Acc; + (Hdr, Acc) -> + [Hdr|Acc] + end, [], + lists:zf(fun({Hname, Str}) -> + I = FormatFun(Hname, Str), + {true, I}; + (undefined) -> + false + end, + [ + if H#headers.connection == undefined -> + undefined; + true -> + {"Connection", H#headers.connection} + end, + if H#headers.accept == undefined -> + undefined; + true -> + {"Accept", H#headers.accept} + end, + if H#headers.host == undefined -> + undefined; + true -> + {"Host", H#headers.host} + end, + if H#headers.if_modified_since == undefined -> + undefined; + true -> + {"If-Modified-Since", H#headers.if_modified_since} + end, + if H#headers.if_match == undefined -> + undefined; + true -> + {"If-Match", H#headers.if_match} + end, + if H#headers.if_none_match == undefined -> + undefined; + true -> + {"If-None-Match", H#headers.if_none_match} + end, + if H#headers.if_range == undefined -> + undefined; + true -> + {"If-Range", H#headers.if_range} + end, + if H#headers.if_unmodified_since == undefined -> + undefined; + true -> + {"If-Unmodified-Since", H#headers.if_unmodified_since} + end, + if H#headers.range == undefined -> + undefined; + true -> + {"Range", H#headers.range} + end, + if H#headers.referer == undefined -> + undefined; + true -> + {"Referer", H#headers.referer} + end, + if H#headers.user_agent == undefined -> + undefined; + true -> + {"User-Agent", H#headers.user_agent} + end, + if H#headers.accept_ranges == undefined -> + undefined; + true -> + {"Accept-Ranges", H#headers.accept_ranges} + end, + if H#headers.cookie == [] -> + undefined; + true -> + {"Cookie", H#headers.cookie} + end, + if H#headers.keep_alive == undefined -> + undefined; + true -> + {"Keep-Alive", H#headers.keep_alive} + end, + if H#headers.content_length == undefined -> + undefined; + true -> + {"Content-Length", H#headers.content_length} + end, + if H#headers.content_type == undefined -> + undefined; + true -> + {"Content-Type", H#headers.content_type} + end, + if H#headers.content_encoding == undefined -> + undefined; + true -> + {"Content-Encoding", H#headers.content_encoding} + end, + + if H#headers.authorization == undefined -> + undefined; + true -> + {"Authorization", element(3, H#headers.authorization)} + end, + if H#headers.transfer_encoding == undefined -> + undefined; + true -> + {"Transfer-Encoding", H#headers.transfer_encoding} + end, + if H#headers.location == undefined -> + undefined; + true -> + {"Location", H#headers.location} + end, + if H#headers.x_forwarded_for == undefined -> + undefined; + true -> + {"X-Forwarded-For", H#headers.x_forwarded_for} + end + ] + ) ++ + lists:map( + fun({http_header,_,K,_,V}) -> + FormatFun(K,V) + end, H#headers.other)). set_header(#headers{}=Hdrs, {Header, Value}) -> set_header(Hdrs, Header, Value). @@ -1915,7 +1936,7 @@ %% I don't really know :-) -luke) ehtml_expander(X) -> - ehtml_expander_compress(flatten(ehtml_expander(X, [], [])), []). + ehtml_expander_compress(lists:flatten(ehtml_expander(X, [], [])), []). %% Returns a deep list of text and variable references (atoms) @@ -1954,7 +1975,7 @@ [""|After]); %% Variable references ehtml_expander(Var, Before, After) when is_atom(Var) -> - [reverse(Before), {ehtml, ehtml_var_name(Var)}, After]; + [lists:reverse(Before), {ehtml, ehtml_var_name(Var)}, After]; %% Lists ehtml_expander([H|T], Before, After) -> ehtml_expander(T, [ehtml_expander(H, [], [])|Before], After); @@ -1986,15 +2007,15 @@ ehtml_attr_part_expander(I) when is_integer(I) -> integer_to_list(I); ehtml_attr_part_expander(S) when is_list(S) -> S. -ehtml_expander_done(X, Before, After) -> [reverse([X|Before]), After]. +ehtml_expander_done(X, Before, After) -> [lists:reverse([X|Before]), After]. %% Compress an EHTML expander, converting all adjacent bits of text into %% binaries. %% Returns: [binary() | {ehtml, Var} | {preformatted, Var}, {ehtml_attrs, Var}] %% Var = atom() ehtml_expander_compress([Tag|T], Acc) when is_tuple(Tag) -> - [list_to_binary(reverse(Acc)), Tag | ehtml_expander_compress(T, [])]; -ehtml_expander_compress([], Acc) -> [list_to_binary(reverse(Acc))]; + [list_to_binary(lists:reverse(Acc)), Tag | ehtml_expander_compress(T, [])]; +ehtml_expander_compress([], Acc) -> [list_to_binary(lists:reverse(Acc))]; ehtml_expander_compress([H|T], Acc) when is_integer(H) -> ehtml_expander_compress(T, [H|Acc]). @@ -2534,29 +2555,32 @@ Value -> Value end. +binding_find(Key) -> + get({binding, Key}). + binding_exists(Key) -> - case get({binding, Key}) of - undefined -> false; - _ -> true - end. + get({binding, Key}) =/= undefined. %% Return the parsed url that the client requested. request_url(ARG) -> - SC = get(sc), - Headers = ARG#arg.headers, - {_, Path} = (ARG#arg.req)#http_request.path, - DecPath = url_decode(Path), - {P,Q} = yaws:split_at(DecPath, $?), - Url = case Headers#headers.host of - undefined -> - parse_url(SC#sconf.servername, sloppy); - HostHdr -> - try parse_url(HostHdr, sloppy) - catch _:_ -> parse_url(SC#sconf.servername, sloppy) - end - end, + SC = get(sc), + Headers = ARG#arg.headers, + {P,Q} = case (ARG#arg.req)#http_request.path of + '*' -> {"*",[]}; + {_, Path} -> + DecPath = url_decode(Path), + yaws:split_at(DecPath, $?) + end, + Url = case Headers#headers.host of + undefined -> + parse_url(SC#sconf.servername, sloppy); + HostHdr -> + try parse_url(HostHdr, sloppy) + catch _:_ -> parse_url(SC#sconf.servername, sloppy) + end + end, Url#url{scheme = case SC#sconf.ssl of undefined -> "http"; _ -> "https" diff -Nru yaws-2.0.6+dfsg/src/yaws_appmod_dav.erl yaws-2.0.7+dfsg/src/yaws_appmod_dav.erl --- yaws-2.0.6+dfsg/src/yaws_appmod_dav.erl 2018-06-26 09:15:17.000000000 +0000 +++ yaws-2.0.7+dfsg/src/yaws_appmod_dav.erl 2019-07-14 13:01:11.000000000 +0000 @@ -33,7 +33,6 @@ %% for replacement xmerl_xml: -export([export/1]). --import(xmerl_lib, [markup/3, empty_tag/2, export_text/1]). -ifdef(debug). @@ -522,7 +521,7 @@ %% propfind response propfind_response(Props,A,R) -> - Url = yaws_api:url_encode(R#resource.name), + Url = R#resource.name, case Props of [allprop] -> AllProp = [ prop_get(N,A,R) || N <- allprops(R) ], @@ -554,7 +553,7 @@ %% proppatch response/ proppatch_response(Update,A,R) -> - Url = yaws_api:url_encode(R#resource.name), + Url = R#resource.name, Results = proppatch_response(Update,A,R,[]), ResultsSorted = prop_sort(lists:flatten(Results)), [{'D:href', [], [Url]}| @@ -1319,7 +1318,7 @@ export([#xmlComment{}|T]) -> % for now I skip comments export(T); export([#xmlText{type=text, value=Text}|T]) -> - [export_text(Text),export(T)]; + [xmerl_lib:export_text(Text),export(T)]; export([#xmlText{type=cdata, value=Text}|T]) -> ["",export(T)]; export([#xmlElement{name=Name,attributes=Attrs,content=Content}|T]) -> diff -Nru yaws-2.0.6+dfsg/src/yaws.conf yaws-2.0.7+dfsg/src/yaws.conf --- yaws-2.0.6+dfsg/src/yaws.conf 1970-01-01 00:00:00.000000000 +0000 +++ yaws-2.0.7+dfsg/src/yaws.conf 2019-07-14 13:01:11.000000000 +0000 @@ -0,0 +1,20 @@ + +# conf for yaws + +# first we have a set of globals + +# logdir = . +# ebin_dir = . +# include_dir = . +# keep_alive_timeout = 15000 + +#end then a set of servers + + + port = 8000 + listen = 192.168.128.24 + docroot = /home/klacke/yaws/www + + + + diff -Nru yaws-2.0.6+dfsg/src/yaws_config.erl yaws-2.0.7+dfsg/src/yaws_config.erl --- yaws-2.0.6+dfsg/src/yaws_config.erl 2018-05-31 21:49:16.000000000 +0000 +++ yaws-2.0.7+dfsg/src/yaws_config.erl 2019-07-14 13:01:11.000000000 +0000 @@ -663,15 +663,8 @@ make_default_gconf(Debug, Id) -> Y = yaws_dir(), - Flags = case yaws_sendfile:have_sendfile() of - true -> - (?GC_COPY_ERRLOG bor ?GC_FAIL_ON_BIND_ERR bor - ?GC_PICK_FIRST_VIRTHOST_ON_NOMATCH bor - ?GC_USE_YAWS_SENDFILE); - false -> - (?GC_COPY_ERRLOG bor ?GC_FAIL_ON_BIND_ERR bor - ?GC_PICK_FIRST_VIRTHOST_ON_NOMATCH) - end, + Flags = (?GC_COPY_ERRLOG bor ?GC_FAIL_ON_BIND_ERR bor + ?GC_PICK_FIRST_VIRTHOST_ON_NOMATCH), #gconf{yaws_dir = Y, ebin_dir = [filename:join([Y, "examples/ebin"])], include_dir = [filename:join([Y, "examples/include"])], @@ -1303,6 +1296,67 @@ Err end. +fload(FD, extra_response_headers, GC, C, Lno, Chars) -> + case toks(Lno, Chars) of + [] -> + fload(FD, extra_response_headers, GC, C, Lno+1, ?NEXTLINE); + + ["extramod", '=', Mod] -> + ExtraResponseHdrs = C#sconf.extra_response_headers, + C1 = C#sconf{extra_response_headers = [{extramod, list_to_atom(Mod)}| + ExtraResponseHdrs]}, + fload(FD, extra_response_headers, GC, C1, Lno+1, ?NEXTLINE); + + ["add", Hdr, '=', Value] -> + ExtraResponseHdrs = C#sconf.extra_response_headers, + C1 = C#sconf{extra_response_headers = [{add,Hdr,Value}| + ExtraResponseHdrs]}, + fload(FD, extra_response_headers, GC, C1, Lno+1, ?NEXTLINE); + + ["always", "add", Hdr, '=', Value] -> + ExtraResponseHdrs = C#sconf.extra_response_headers, + C1 = C#sconf{extra_response_headers = [{always_add,Hdr,Value}| + ExtraResponseHdrs]}, + fload(FD, extra_response_headers, GC, C1, Lno+1, ?NEXTLINE); + + ["add", Hdr, '='| Value] -> + StringVal = lists:flatten( + yaws:join_sep( + lists:map(fun(V) when is_atom(V) -> + atom_to_list(V); + (V) -> V + end, Value), " ")), + ExtraResponseHdrs = C#sconf.extra_response_headers, + C1 = C#sconf{extra_response_headers = [{add,Hdr,StringVal}| + ExtraResponseHdrs]}, + fload(FD, extra_response_headers, GC, C1, Lno+1, ?NEXTLINE); + + ["always", "add", Hdr, '='| Value] -> + StringVal = lists:flatten( + yaws:join_sep( + lists:map(fun(V) when is_atom(V) -> + atom_to_list(V); + (V) -> V + end, Value), " ")), + ExtraResponseHdrs = C#sconf.extra_response_headers, + C1 = C#sconf{extra_response_headers = [{always_add,Hdr,StringVal}| + ExtraResponseHdrs]}, + fload(FD, extra_response_headers, GC, C1, Lno+1, ?NEXTLINE); + + ["erase", Hdr] -> + ExtraResponseHdrs = C#sconf.extra_response_headers, + C1 = C#sconf{extra_response_headers = [{erase,Hdr}| + ExtraResponseHdrs]}, + fload(FD, extra_response_headers, GC, C1, Lno+1, ?NEXTLINE); + + ['<', "/extra_response_headers", '>'] -> + fload(FD, server, GC, C, Lno+1, ?NEXTLINE); + + [H|T] -> + {error, ?F("Unexpected input ~p at line ~w", [[H|T], Lno])}; + Err -> + Err + end; fload(FD, server, GC, C, Lno, eof) -> file:close(FD), @@ -1792,6 +1846,18 @@ {error, ?F("~s at line ~w", [Str, Lno])} end; + ["strip_undefined_bindings", '=', Bool] -> + case is_bool(Bool) of + {true, Val} -> + C1 = ?sc_set_strip_undef_bindings(C, Val), + fload(FD, server, GC, C1, Lno+1, ?NEXTLINE); + false -> + {error, ?F("Expect true|false at line ~w", [Lno])} + end; + + ['<', "extra_response_headers", '>'] -> + fload(FD, extra_response_headers, GC, C, Lno+1, ?NEXTLINE); + ['<', "/server", '>'] -> {ok, GC, C, Lno, ['<', "/server", '>']}; @@ -2013,7 +2079,20 @@ catch _:_ -> {error, ?F("Bad cipherspec at line ~w", [Lno])} end; - + ["eccs", '=', Val] -> + try + L = str2term(Val), + Curves = ssl:eccs(), + case check_eccs(L, Curves) of + ok -> + C1 = C#sconf{ssl = (C#sconf.ssl)#ssl{eccs = L}}, + fload(FD, ssl, GC, C1, Lno+1, ?NEXTLINE); + Err -> + Err + end + catch _:_ -> + {error, ?F("Bad elliptic curves at line ~w", [Lno])} + end; ["secure_renegotiate", '=', Bool] -> case is_bool(Bool) of {true, Val} -> @@ -2480,7 +2559,6 @@ Err end. - is_bool("true") -> {true, true}; is_bool("false") -> @@ -3141,12 +3219,11 @@ S1#sconf.php_handler == S2#sconf.php_handler andalso S1#sconf.shaper == S2#sconf.shaper andalso S1#sconf.deflate_options == S2#sconf.deflate_options andalso - S1#sconf.mime_types_info == S2#sconf.mime_types_info). - + S1#sconf.mime_types_info == S2#sconf.mime_types_info andalso + S1#sconf.dispatch_mod == S2#sconf.dispatch_mod andalso + S1#sconf.extra_response_headers == S2#sconf.extra_response_headers). - - -%% This the version of setconf that perform a +%% This is the version of setconf that performs a %% soft reconfig, it requires the args to be checked. soft_setconf(GC, Groups, OLDGC, OldGroups) -> if @@ -3487,6 +3564,11 @@ check_ciphers(X,_) -> {error, ?F("Bad cipherspec ~p",[X])}. +check_eccs(From_conf, Available) -> + case From_conf -- Available of + [] -> ok; + Bad -> {error, ?F("Bad elliptic curves ~p",[Bad])} + end. io_get_line(FD, Prompt, Acc) -> Next = io:get_line(FD, Prompt), @@ -3508,15 +3590,9 @@ SOpts = lists:keystore(Name, 1, SC#sconf.soptions, {Name, Opts1}), SC#sconf{soptions = SOpts}. - set_sendfile_flags(GC, "erlang") -> - GC1 = ?gc_set_use_erlang_sendfile(GC, true), - {ok, ?gc_set_use_yaws_sendfile(GC1, false)}; -set_sendfile_flags(GC, "yaws") -> - GC1 = ?gc_set_use_erlang_sendfile(GC, false), - {ok, ?gc_set_use_yaws_sendfile(GC1, true)}; + {ok, ?gc_set_use_erlang_sendfile(GC, true)}; set_sendfile_flags(GC, "disable") -> - GC1 = ?gc_set_use_erlang_sendfile(GC, false), - {ok, ?gc_set_use_yaws_sendfile(GC1, false)}; + {ok, ?gc_set_use_erlang_sendfile(GC, false)}; set_sendfile_flags(_, _) -> - {error, "Expect erlang|yaws|disable"}. + {error, "Expect erlang|disable"}. diff -Nru yaws-2.0.6+dfsg/src/yaws_dynopts.erl yaws-2.0.7+dfsg/src/yaws_dynopts.erl --- yaws-2.0.6+dfsg/src/yaws_dynopts.erl 2018-06-26 09:15:17.000000000 +0000 +++ yaws-2.0.7+dfsg/src/yaws_dynopts.erl 2019-07-14 13:01:11.000000000 +0000 @@ -9,7 +9,6 @@ have_ssl_sni/0, have_ssl_log_alert/0, have_ssl_handshake/0, - have_erlang_sendfile/0, have_erlang_now/0, have_rand/0, have_start_error_logger/0, @@ -51,10 +50,6 @@ have_ssl_handshake() -> is_greater_or_equal(erlang:system_info(version), "10.0"). -%% erlang:sendfile/5 is buggy for R15 & R16 releases (ERTS < 6.0) -have_erlang_sendfile() -> - is_greater_or_equal(erlang:system_info(version), "6.0"). - %% erlang:now/0 is deprecated since releases 18 (ERTS >= 7.0) have_erlang_now() -> is_less(erlang:system_info(version), "7.0"). @@ -227,10 +222,19 @@ [ModName, What] ) end; - _ -> + {error, Errors, _} -> start_error_logger(), - error_logger:format("Compilation of '~p' failed: ~p~n" - "Use the default version~n", + lists:foreach( + fun({File,FileErrors}) -> + lists:foreach( + fun({Line,ErrorMod,ErrorDesc}) -> + error_logger:format( + "~s:~w: ~s~n", + [File, Line, + ErrorMod:format_error(ErrorDesc)]) + end, FileErrors) + end, Errors), + error_logger:format("Use the default version of ~s~n", [ModFile]) end; {error, Reason} -> @@ -243,14 +247,10 @@ file:write_file(ModFile, source()). compile_options() -> - [binary, report, + [binary, report, return_errors, {d, 'HAVE_SSL_HONOR_CIPHER_ORDER', have_ssl_honor_cipher_order()}, {d, 'HAVE_SSL_CLIENT_RENEGOTIATION', have_ssl_client_renegotiation()}, - {d, 'HAVE_SSL_SNI', have_ssl_sni()}, - {d, 'HAVE_SSL_LOG_ALERT', have_ssl_log_alert()}, - {d, 'HAVE_SSL_HANDSHAKE', have_ssl_handshake()}, - {d, 'HAVE_ERLANG_SENDFILE', have_erlang_sendfile()}, - {d, 'HAVE_START_ERROR_LOGGER', have_start_error_logger()} + {d, 'HAVE_SSL_LOG_ALERT', have_ssl_log_alert()} ] ++ case have_erlang_now() of @@ -261,6 +261,21 @@ case have_rand() of true -> [{d, 'HAVE_RAND'}]; false -> [] + end + ++ + case have_ssl_sni() of + true -> [{d, 'HAVE_SSL_SNI'}]; + false -> [] + end + ++ + case have_ssl_handshake() of + true -> [{d, 'HAVE_SSL_HANDSHAKE'}]; + false -> [] + end + ++ + case have_start_error_logger() of + true -> [{d, 'HAVE_START_ERROR_LOGGER'}]; + false -> [] end. source() -> @@ -277,7 +292,6 @@ " have_ssl_sni/0,", " have_ssl_log_alert/0,", " have_ssl_handshake/0,", - " have_erlang_sendfile/0,", " have_erlang_now/0,", " have_rand/0," " have_start_error_logger/0," @@ -303,11 +317,7 @@ "", "have_ssl_honor_cipher_order() -> ?HAVE_SSL_HONOR_CIPHER_ORDER.", "have_ssl_client_renegotiation() -> ?HAVE_SSL_CLIENT_RENEGOTIATION.", - "have_ssl_sni() -> ?HAVE_SSL_SNI.", "have_ssl_log_alert() -> ?HAVE_SSL_LOG_ALERT.", - "have_ssl_handshake() -> ?HAVE_SSL_HANDSHAKE.", - "have_erlang_sendfile() -> ?HAVE_ERLANG_SENDFILE.", - "have_start_error_logger() -> ?HAVE_START_ERROR_LOGGER.", "", "-ifdef(HAVE_ERLANG_NOW).", "have_erlang_now() -> true.", @@ -342,23 +352,28 @@ "-endif.", "", "-ifdef(HAVE_SSL_SNI).", + "have_ssl_sni() -> true.", "connection_information(Sock, Items) -> ", " ssl:connection_information(Sock, Items).", "-else.", + "have_ssl_sni() -> false.", "connection_information(_, _) -> undefined.", "-endif.", "", "-ifdef(HAVE_SSL_HANDSHAKE).", + "have_ssl_handshake() -> true.", "ssl_handshake(Sock, Timeout) ->", " ssl:handshake(Sock, Timeout).", "-else.", + "have_ssl_handshake() -> false.", "ssl_handshake(Sock, Timeout) ->", " case ssl:ssl_accept(Sock, Timeout) of" " ok -> {ok, Sock};", " Error -> Error", " end.", "-endif.", - "-ifdef(HAVE_ERROR_LOGGER_START).", + "-ifdef(HAVE_START_ERROR_LOGGER).", + "have_start_error_logger() -> true.", "start_error_logger() ->", " case logger:get_handler_config(error_logger) of", " {ok, _} -> ok;", @@ -368,6 +383,7 @@ " filters => []})", " end.", "-else.", + "have_start_error_logger() -> false.", "start_error_logger() -> ok.", "-endif." ], diff -Nru yaws-2.0.6+dfsg/src/yaws.erl yaws-2.0.7+dfsg/src/yaws.erl --- yaws-2.0.6+dfsg/src/yaws.erl 2018-04-11 14:14:36.000000000 +0000 +++ yaws-2.0.7+dfsg/src/yaws.erl 2019-07-14 13:01:11.000000000 +0000 @@ -59,7 +59,7 @@ sconf_spotions/1, sconf_extra_cgi_vars/1, sconf_stats/1, sconf_fcgi_app_server/1, sconf_php_handler/1, sconf_shaper/1, sconf_deflate_options/1, sconf_mime_types_info/1, - sconf_dispatch_mod/1]). + sconf_dispatch_mod/1, sconf_extra_resp_headers/1]). -export([sconf_port/2, sconf_flags/2, sconf_redirect_map/2, sconf_rhost/2, sconf_rmethod/2, sconf_docroot/2, sconf_xtra_docroots/2, @@ -72,7 +72,7 @@ sconf_spotions/2, sconf_extra_cgi_vars/2, sconf_stats/2, sconf_fcgi_app_server/2, sconf_php_handler/2, sconf_shaper/2, sconf_deflate_options/2, sconf_mime_types_info/2, - sconf_dispatch_mod/2]). + sconf_dispatch_mod/2, sconf_extra_resp_headers/2]). -export([new_auth/0, auth_dir/1, auth_dir/2, @@ -102,7 +102,8 @@ ssl_client_renegotiation/1, ssl_client_renegotiation/2, ssl_protocol_version/1, ssl_protocol_version/2, ssl_honor_cipher_order/1, ssl_honor_cipher_order/2, - ssl_require_sni/1, ssl_require_sni/2]). + ssl_require_sni/1, ssl_require_sni/2, + ssl_eccs/1, ssl_eccs/2]). -export([new_deflate/0, deflate_min_compress_size/1, deflate_min_compress_size/2, @@ -175,9 +176,10 @@ outh_get_content_encoding_header/0, outh_get_content_type/0, outh_get_vary_fields/0, - outh_serialize/0]). + outh_serialize/1]). --export([accumulate_header/1, headers_to_str/1, +-export([compressible_mime_type/2, + accumulate_header/1, headers_to_str/1, getuid/0, user_to_home/1, uid_to_name/1, @@ -375,6 +377,7 @@ sconf_deflate_options (#sconf{deflate_options = X}) -> X. sconf_mime_types_info (#sconf{mime_types_info = X}) -> X. sconf_dispatch_mod (#sconf{dispatch_mod = X}) -> X. +sconf_extra_resp_headers (#sconf{extra_response_headers= X}) -> X. %% Setters sconf_port (S, X) -> S#sconf{port = X}. @@ -413,7 +416,7 @@ sconf_deflate_options (S, X) -> S#sconf{deflate_options = X}. sconf_mime_types_info (S, X) -> S#sconf{mime_types_info = X}. sconf_dispatch_mod (S, X) -> S#sconf{dispatch_mod = X}. - +sconf_extra_resp_headers (S, X) -> S#sconf{extra_response_headers= X}. %% Access functions for the AUTH record. new_auth() -> #auth{}. @@ -484,6 +487,7 @@ ssl_protocol_version (#ssl{protocol_version = X}) -> X. ssl_honor_cipher_order (#ssl{honor_cipher_order = X}) -> X. ssl_require_sni (#ssl{require_sni = X}) -> X. +ssl_eccs (#ssl{eccs = X}) -> X. ssl_keyfile (S, File) -> S#ssl{keyfile = File}. ssl_certfile (S, File) -> S#ssl{certfile = File}. @@ -498,6 +502,7 @@ ssl_secure_renegotiate (S, Bool) -> S#ssl{secure_renegotiate = Bool}. ssl_protocol_version (S, Vsns) -> S#ssl{protocol_version = Vsns}. ssl_require_sni (S, Bool) -> S#ssl{require_sni = Bool}. +ssl_eccs (S, ECCS) -> S#ssl{eccs = ECCS}. ssl_honor_cipher_order (S, Bool) -> case yaws_dynopts:have_ssl_honor_cipher_order() of true -> S#ssl{honor_cipher_order = Bool}; @@ -544,7 +549,9 @@ protocol_version = lkup(protocol_version, SSLProps, undefined), require_sni = lkup(require_sni, SSLProps, - SSL#ssl.require_sni)} + SSL#ssl.require_sni), + eccs = lkup(eccs, SSLProps, SSL#ssl.eccs) + } end. @@ -568,6 +575,10 @@ deflate_mime_types (D, Types) -> D#deflate{mime_types = Types}. +setup_deflate(SL, undefined, true) -> + setup_deflate(SL, #deflate{}); +setup_deflate(SL, DefaultDeflate, _) -> + setup_deflate(SL, DefaultDeflate). setup_deflate(SL, DefaultDeflate) -> case lkup(deflate_options, SL, undefined) of undefined -> @@ -710,10 +721,6 @@ set_gc_flags(T, flag(Flags,?GC_FAIL_ON_BIND_ERR,Bool)); set_gc_flags([{pick_first_virthost_on_nomatch, Bool}|T], Flags) -> set_gc_flags(T, flag(Flags, ?GC_PICK_FIRST_VIRTHOST_ON_NOMATCH,Bool)); -set_gc_flags([{use_erlang_sendfile, Bool}|T], Flags) -> - set_gc_flags(T, flag(Flags,?GC_USE_ERLANG_SENDFILE,Bool)); -set_gc_flags([{use_yaws_sendfile, Bool}|T], Flags) -> - set_gc_flags(T, flag(Flags,?GC_USE_YAWS_SENDFILE,Bool)); set_gc_flags([_|T], Flags) -> set_gc_flags(T, Flags); set_gc_flags([], Flags) -> @@ -722,9 +729,9 @@ %% Setup vhost configuration setup_sconf(SL, SC) -> + Flags = set_sc_flags(lkup(flags, SL, []), SC#sconf.flags), #sconf{port = lkup(port, SL, SC#sconf.port), - flags = set_sc_flags(lkup(flags, SL, []), - SC#sconf.flags), + flags = Flags, redirect_map = lkup(redirect_map, SL, SC#sconf.redirect_map), rhost = lkup(rhost, SL, SC#sconf.rhost), @@ -768,11 +775,14 @@ SC#sconf.fcgi_app_server), php_handler = lkup(php_handler, SL, SC#sconf.php_handler), shaper = lkup(shaper, SL, SC#sconf.shaper), - deflate_options = setup_deflate(SL, SC#sconf.deflate_options), + deflate_options = setup_deflate(SL, SC#sconf.deflate_options, + Flags band ?SC_DEFLATE /= 0), mime_types_info = setup_mime_types_info( SL, SC#sconf.mime_types_info ), - dispatch_mod = lkup(dispatchmod, SL, SC#sconf.dispatch_mod) + dispatch_mod = lkup(dispatchmod, SL, SC#sconf.dispatch_mod), + extra_response_headers= lkup(extra_response_headers, SL, + SC#sconf.extra_response_headers) }. set_sc_flags([{access_log, Bool}|T], Flags) -> @@ -801,6 +811,8 @@ set_sc_flags(T, flag(Flags, ?SC_FORWARD_PROXY, Bool)); set_sc_flags([{auth_skip_docroot, Bool}|T], Flags) -> set_sc_flags(T, flag(Flags, ?SC_AUTH_SKIP_DOCROOT, Bool)); +set_sc_flags([{strip_undefined_bindings, Bool}|T], Flags) -> + set_sc_flags(T, flag(Flags, ?SC_STRIP_UNDEF_BINDINGS, Bool)); set_sc_flags([_Unknown|T], Flags) -> error_logger:format("Unknown and unhandled flag ~p~n", [_Unknown]), set_sc_flags(T, Flags); @@ -1050,6 +1062,8 @@ drop_spaces([]) -> []; +drop_spaces(X) when is_binary(X) -> + drop_spaces(binary_to_list(X)); drop_spaces(YS=[X|XS]) -> case is_space(X) of true -> drop_spaces(XS); @@ -1684,7 +1698,7 @@ case split_sep(MT1, $/) of [Type, SubType] -> make_expires_header({Type,SubType}, FI); - false -> + [] -> make_expires_header(all, FI) end end @@ -1765,7 +1779,7 @@ ["WWW-Authenticate: Basic realm=\"", Realm, ["\"\r\n"]]; make_www_authenticate_header(Method) -> - ["WWW-Authenticate: ", Method, ["\r\n"]]. + ["WWW-Authenticate: ", Method, "\r\n"]. make_date_header() -> N = element(2, os:timestamp()), @@ -1833,12 +1847,14 @@ [_, Fields, _] -> split_sep(Fields, $,) end. -outh_serialize() -> +outh_serialize(Arg) -> H = get(outh), Code = case H#outh.status of undefined -> 200; Int -> Int end, + %% FIXME: Version 1.1 is hardcoded here + HttpVersion = {1,1}, StatusLine = ["HTTP/1.1 ", erlang:integer_to_list(Code), " ", yaws_api:code_to_phrase(Code), "\r\n"], GC=get(gc), @@ -1866,10 +1882,12 @@ %% Add 'Accept-Encoding' in the 'Vary:' header if the compression is enabled %% or if the response is compressed _AND_ if the response has a non-empty - %% body. - Vary = case get(sc) of + %% body. If only certain mime types are specified in deflate_options, add the + %% Vary header only if the response Content-Type is one of those mime types. + SC = get(sc), + Vary = case SC of undefined -> undefined; - SC -> + _ -> case (?sc_has_deflate(SC) orelse H#outh.encoding == deflate) of true when H#outh.contlen /= undefined, H#outh.contlen /= 0; H#outh.act_contlen /= undefined, @@ -1880,43 +1898,217 @@ end, case lists:any(Fun, Fields) of true -> H#outh.vary; - false -> make_vary_header(["Accept-Encoding"|Fields]) + false -> + case noundef(H#outh.content_type) of + [] -> + make_vary_header(["Accept-Encoding"|Fields]); + ["Content-Type: ", ContentType|_] -> + case SC#sconf.deflate_options of + undefined -> + make_vary_header(["Accept-Encoding"|Fields]); + DOpts -> + [Mime|_] = yaws:split_sep(ContentType, $;), + case compressible_mime_type(Mime, DOpts) of + true -> + make_vary_header(["Accept-Encoding"|Fields]); + false -> + H#outh.vary + end + end + end end; _ -> H#outh.vary end end, - Headers = [noundef(H#outh.connection), - noundef(H#outh.server), - noundef(H#outh.location), - noundef(H#outh.date), - noundef(H#outh.allow), - noundef(H#outh.last_modified), - noundef(Expires), - noundef(CacheControl), - noundef(H#outh.etag), - noundef(H#outh.content_range), - noundef(H#outh.content_length), - noundef(H#outh.content_type), - noundef(ContentEnc), - noundef(H#outh.set_cookie), - noundef(H#outh.transfer_encoding), - noundef(H#outh.www_authenticate), - noundef(Vary), - noundef(H#outh.other)], + %% RFC7230 section 3.3.2 disallows returning a Content-Length + %% header with 1xx status codes, with the 204 or 304 status code, + %% or if a Transfer-Encoding header is present. Check these + %% conditions and drop any Content-Length header if necessary. For + %% more details see + %% https://tools.ietf.org/html/rfc7230#section-3.3.2 . + ContentLength = if + Code >= 100, Code < 200 -> undefined; + Code == 204 -> undefined; + Code == 304 -> undefined; + H#outh.transfer_encoding /= undefined -> + undefined; + true -> + H#outh.content_length + end, + + NewOutH0 = H#outh{expires=Expires, + content_length=ContentLength, + cache_control=CacheControl, + content_encoding=ContentEnc, + vary=Vary}, + NewOutH = case ContentLength of + undefined -> NewOutH0#outh{contlen=0}; + _ -> NewOutH0 + end, + + NewH = case SC of + undefined -> NewOutH; + _ -> + put(outh, NewOutH), + extra_response_headers(SC#sconf.extra_response_headers, Arg, {Code,HttpVersion}) + end, + + Headers = [noundef(NewH#outh.connection), + noundef(NewH#outh.server), + noundef(NewH#outh.location), + noundef(NewH#outh.date), + noundef(NewH#outh.allow), + noundef(NewH#outh.last_modified), + noundef(NewH#outh.expires), + noundef(NewH#outh.cache_control), + noundef(NewH#outh.etag), + noundef(NewH#outh.content_range), + noundef(NewH#outh.content_length), + noundef(NewH#outh.content_type), + noundef(NewH#outh.content_encoding), + noundef(NewH#outh.set_cookie), + noundef(NewH#outh.transfer_encoding), + noundef(NewH#outh.www_authenticate), + noundef(NewH#outh.vary), + noundef(NewH#outh.accept_ranges), + noundef(NewH#outh.other)], {StatusLine, Headers}. +extra_response_headers([], _Arg, _Status) -> + get(outh); +extra_response_headers(Extras, Arg, Status) -> + %% convert #outh{} to map + OutH = get(outh), + OuthHdrs = [OutH#outh.connection, + OutH#outh.server, + OutH#outh.location, + OutH#outh.date, + OutH#outh.allow, + OutH#outh.last_modified, + OutH#outh.expires, + OutH#outh.cache_control, + OutH#outh.etag, + OutH#outh.content_range, + OutH#outh.content_length, + OutH#outh.content_type, + OutH#outh.content_encoding, + OutH#outh.set_cookie, + OutH#outh.transfer_encoding, + OutH#outh.www_authenticate, + OutH#outh.vary, + OutH#outh.accept_ranges, + {other, OutH#outh.other}], + Hdrs = lists:foldl(fun({other, undefined}, Acc) -> + Acc; + ({other, Other}, Acc) -> + lists:foldl(fun(HdrVal, Acc2) -> + {H,V} = split_header(strip_spaces(HdrVal)), + maps:put(H, V, Acc2) + end, + Acc, + string:tokens(lists:flatten(Other), "\r\n")); + (undefined, Acc) -> + Acc; + (Hdr, Acc) -> + {H,V} = split_header(strip_spaces(lists:flatten(Hdr))), + maps:put(H, V, Acc) + end, #{}, OuthHdrs), + extra_response_headers(Extras, Arg, Status, Hdrs). +extra_response_headers([], _Arg, _Status, Acc) -> + %% convert back to #outh{} + OuthHdrs = [{"Connection", connection}, + {"Server", server}, + {"Location", location}, + {"Date", date}, + {"Allow", allow}, + {"Last-Modified", last_modified}, + {"Expires", expires}, + {"Cache-Control", cache_control}, + {"Etag", etag}, + {"Content-Range", content_range}, + {"Content-Length", "Content-Length"}, + {"Content-Type", content_type}, + {"Content-Encoding", content_encoding}, + {"Set-Cookie", set_cookie}, + {"Transfer-Encoding", transfer_encoding}, + {"WWW-Authenticate", www_authenticate}, + {"Vary", vary}, + {"Accept-Ranges", accept_ranges}], + HdrMap = lists:foldl(fun({Hdr, Nm}, Map) -> + case maps:is_key(Hdr, Map) of + true -> + accumulate_header({Nm, maps:get(Hdr, Map)}), + maps:remove(Hdr, Map); + false -> + erase_header(Nm), + Map + end + end, Acc, OuthHdrs), + %% Anything remaining in HdrMap is in the #outh{} other + %% field. Grab what's there, clear outh.other, and then rebuild it + %% from the accumulated map. + OutH = get(outh), + HdrMap2 = case OutH#outh.other of + undefined -> HdrMap; + Other -> + put(outh, OutH#outh{other=undefined}), + lists:foldl(fun(HdrVal, Map) -> + {H,_} = split_header(strip_spaces(HdrVal)), + case maps:is_key(H, Map) of + true -> + accumulate_header({H, maps:get(H, Map)}), + maps:remove(H, Map); + false -> + erase_header(H), + Map + end + end, + HdrMap, + string:tokens(lists:flatten(Other), "\r\n")) + end, + %% Accumulate everything left in HdrMap2 + lists:foreach(fun accumulate_header/1, maps:to_list(HdrMap2)), + get(outh); +extra_response_headers([{extramod,Mod}|Extras], Arg, Status, Acc) -> + extra_response_headers(Extras, Arg, Status, Mod:extra_response_headers(Acc, Arg, Status)); +extra_response_headers([{add,Hdr,Value}|Extras], Arg, {Code,_}=Status, Acc) -> + case lists:member(Code, yaws_api:http_extra_response_headers_add_status_codes()) of + true -> extra_response_headers(Extras, Arg, Status, maps:put(Hdr, Value, Acc)); + false -> extra_response_headers(Extras, Arg, Status, Acc) + end; +extra_response_headers([{always_add,Hdr,Value}|Extras], Arg, Status, Acc) -> + extra_response_headers(Extras, Arg, Status, maps:put(Hdr, Value, Acc)); +extra_response_headers([{erase,Hdr}|Extras], Arg, Status, Acc) -> + extra_response_headers(Extras, Arg, Status, maps:remove(Hdr, Acc)). + noundef(undefined) -> []; noundef(Str) -> Str. +compressible_mime_type(Mime, #deflate{mime_types=MimeTypes}) -> + case yaws:split_sep(Mime, $/) of + [Type, SubType] -> compressible_mime_type(Mime,Type,SubType,MimeTypes); + _ -> false + end. +compressible_mime_type(_, _, _, all) -> + true; +compressible_mime_type(_, _, _, []) -> + false; +compressible_mime_type(_, Type, _, [{Type, all}|_]) -> + true; +compressible_mime_type(_, Type, SubType, [{Type, SubType}|_]) -> + true; +compressible_mime_type(Mime, _, _, [Mime|_]) -> + true; +compressible_mime_type(Mime, Type, SubType, [_|Rest]) -> + compressible_mime_type(Mime, Type, SubType, Rest). -accumulate_header({X, erase}) when is_atom(X) -> +accumulate_header({X, erase}) -> erase_header(X); - %% special headers accumulate_header({connection, What}) -> DC = case What of @@ -1971,13 +2163,18 @@ accumulate_header({"Etag", What}) -> accumulate_header({etag, What}); +%% Per RFC7230, multiple Set-Cookie values result in multiple +%% Set-Cookie headers. The values are not collapsed into a single +%% header. +accumulate_header({set_cookie, {multi, Values}}) -> + lists:foreach(fun(V) -> accumulate_header({set_cookie,V}) end, Values); accumulate_header({set_cookie, What}) -> O = get(outh), Old = case O#outh.set_cookie of undefined -> ""; X -> X end, - put(outh, O#outh{set_cookie = ["Set-Cookie: ", What, "\r\n"|Old]}); + put(outh, O#outh{set_cookie = [Old, "Set-Cookie: ", What, "\r\n"]}); accumulate_header({"Set-Cookie", What}) -> accumulate_header({set_cookie, What}); @@ -2041,14 +2238,20 @@ accumulate_header({"Vary", What}) -> accumulate_header({vary, What}); -%% non-special headers (which may be special in a future Yaws version) +accumulate_header({accept_ranges, What}) -> + put(outh, (get(outh))#outh{accept_ranges = ["Accept-Ranges: ", What, "\r\n"]}); +accumulate_header({"Accept-Ranges", What}) -> + accumulate_header({accept_ranges, What}); + +accumulate_header({Name, {multi, Values}}) when is_list(Name) -> + accumulate_header({Name, join_sep(Values, ",")}); accumulate_header({Name, What}) when is_list(Name) -> H = get(outh), Old = case H#outh.other of undefined -> []; V -> V end, - H2 = H#outh{other = [Name, ": ", What, "\r\n", Old]}, + H2 = H#outh{other = [Old, Name, ": ", What, "\r\n"]}, put(outh, H2); @@ -2071,6 +2274,8 @@ put(outh, (get(outh))#outh{connection=undefined, doclose=false}); erase_header(server) -> put(outh, (get(outh))#outh{server=undefined}); +erase_header(location) -> + put(outh, (get(outh))#outh{location=undefined}); erase_header(cache_control) -> put(outh, (get(outh))#outh{cache_control=undefined}); erase_header(expires) -> @@ -2099,10 +2304,52 @@ transfer_encoding = undefined}); erase_header(www_authenticate) -> put(outh, (get(outh))#outh{www_authenticate=undefined}); -erase_header(location) -> - put(outh, (get(outh))#outh{location=undefined}); erase_header(vary) -> - put(outh, (get(outh))#outh{vary=undefined}). + put(outh, (get(outh))#outh{vary=undefined}); +erase_header(accept_ranges) -> + put(outh, (get(outh))#outh{accept_ranges=undefined}); +erase_header(X) when is_atom(X) -> + erase_header(atom_to_list(X)); +erase_header(X) when is_binary(X) -> + erase_header(binary_to_list(X)); +erase_header(X) when is_list(X) -> + case string:to_lower(X) of + "connection" -> erase_header(connection); + "server" -> erase_header(server); + "location" -> erase_header(location); + "cache-control" -> erase_header(cache_control); + "expires" -> erase_header(expires); + "date" -> erase_header(date); + "allow" -> erase_header(allow); + "last-modified" -> erase_header(last_modified); + "etag" -> erase_header(etag); + "set-cookie" -> erase_header(set_cookie); + "content-range" -> erase_header(content_range); + "content-length" -> erase_header(content_length); + "content-type" -> erase_header(content_type); + "content-encoding" -> erase_header(content_encoding); + "transfer-encoding" -> erase_header(transfer_encoding); + "www-authenticate" -> erase_header(www_authenticate); + "vary" -> erase_header(vary); + "accept-ranges" -> erase_header(accept_ranges); + Hdr -> erase_header({other, Hdr}) + end; +erase_header({other, Hdr}) -> + Outh = get(outh), + case Outh#outh.other of + undefined -> Outh; + Other -> + NewOther = lists:reverse( + lists:foldl( + fun(HdrVal, Acc) -> + {OtherHdr,_} = split_header(strip_spaces(HdrVal)), + case string:to_lower(OtherHdr) of + Hdr -> Acc; + _ -> [[HdrVal, "\r\n"]|Acc] + end + end, [], string:tokens(lists:flatten(Other), "\r\n"))), + put(outh, Outh#outh{other = NewOther}) + end. getuid() -> case os:type() of @@ -2438,8 +2685,10 @@ closed; {error, timeout} -> closed; - _Other -> - error_logger:format("Unhandled reply fr. do_recv() ~p~n", [_Other]), + {error, etimedout} -> + closed; + Other -> + error_logger:format("Unhandled reply from yaws:do_recv(): ~p~n", [Other]), exit(normal) end. @@ -2461,8 +2710,13 @@ http_collect_headers(CliSock, Req, H#headers{connection = Conn},SSL, Count+1); {ok, {http_header, _Num, 'Accept', _, Accept}} -> - http_collect_headers(CliSock, Req, H#headers{accept = Accept}, - SSL, Count+1); + %% Here we just collect all Accept headers, at http_eoh we verify + %% and build one Accept header. + NewAcceptH = case H#headers.accept of + undefined -> H#headers{accept = [Accept]}; + AcceptL -> H#headers{accept = [Accept|AcceptL]} + end, + http_collect_headers(CliSock, Req, NewAcceptH, SSL, Count+1); {ok, {http_header, _Num, 'If-Modified-Since', _, X}} -> http_collect_headers(CliSock, Req, H#headers{if_modified_since = X},SSL, Count+1); @@ -2529,7 +2783,13 @@ SSL, Count+1) end; {ok, http_eoh} -> - H; + %% NOTE empty Accept headers will be stripped! + case build_accept_hdr(H#headers.accept) of + {error, empty_accept_header_list = Err} -> + {error, {Err, Req#http_request{method = bad_request}}}; + AcceptHdrs -> + H#headers{accept = AcceptHdrs} + end; %% these are here to be a little forgiving to %% bad (typically test script) clients @@ -2552,6 +2812,28 @@ {error, {too_many_headers, Req}}. +%% @doc Filter out empty accept headers from list. +-spec split_accept_hdrs([string()]) -> [string()]. +split_accept_hdrs([]) -> + []; +split_accept_hdrs([Hdr|AcceptHdrs]) -> + [H || H <- [string:strip(S) || S <- string:tokens(Hdr, ",")], H /= [] ] + ++ split_accept_hdrs(AcceptHdrs). + + +%% @doc Build one Accept header from the collected Accept headers. +-spec build_accept_hdr([string()] | undefined) -> + string() | undefined | {error, empty_accept_header_list}. +build_accept_hdr(undefined) -> + undefined; +build_accept_hdr(AcceptHdrs) -> + AcceptHdrsReqOrder = lists:reverse(AcceptHdrs), + case split_accept_hdrs(AcceptHdrsReqOrder) of + [] -> {error, empty_accept_header_list}; + [Hdr] -> Hdr; + Hdrs -> string:join(Hdrs, ", ") + end. + parse_auth(Orig = "Basic " ++ Auth64) -> case decode_base64(Auth64) of diff -Nru yaws-2.0.6+dfsg/src/yaws_ls.erl yaws-2.0.7+dfsg/src/yaws_ls.erl --- yaws-2.0.6+dfsg/src/yaws_ls.erl 2017-01-27 15:41:40.000000000 +0000 +++ yaws-2.0.7+dfsg/src/yaws_ls.erl 2019-07-14 13:01:11.000000000 +0000 @@ -23,7 +23,7 @@ -define(FILE_LEN_SZ, 45). -list_directory(_Arg, CliSock, List, DirName, Req, DoAllZip) -> +list_directory(Arg, CliSock, List, DirName, Req, DoAllZip) -> {abs_path, Path} = Req#http_request.path, {DirStr, Pos, Direction, Qry} = parse_query(Path), ?Debug("List=~p Dirname~p~n", [List, DirName]), @@ -84,7 +84,7 @@ yaws:outh_set_content_type(NewCT), yaws_server:accumulate_content(B), - yaws_server:deliver_accumulated(CliSock), + yaws_server:deliver_accumulated(CliSock, Arg), yaws_server:done_or_continue(). parse_query(Path) -> diff -Nru yaws-2.0.6+dfsg/src/yaws_multipart.erl yaws-2.0.7+dfsg/src/yaws_multipart.erl --- yaws-2.0.6+dfsg/src/yaws_multipart.erl 2016-07-03 10:01:00.000000000 +0000 +++ yaws-2.0.7+dfsg/src/yaws_multipart.erl 2019-07-14 13:01:11.000000000 +0000 @@ -18,7 +18,8 @@ temp_dir = yaws:tmpdir("/tmp"), temp_file, headers = [], - data_type = list + data_type = list, + return_error_file_path = false }). read_multipart_form(A, Options) when A#arg.state == undefined -> @@ -43,7 +44,9 @@ list -> State#upload{data_type = list}; binary -> - State#upload{data_type = binary} + State#upload{data_type = binary}; + return_error_file_path -> + State#upload{return_error_file_path = true} end, read_options(Rest, NewState). @@ -83,7 +86,9 @@ add_file_chunk(A, [{head, {_Name, Opts}}|Res], State ) -> S1 = close_previous_param(State), S2 = lists:foldl( - fun({"filename", Fname0}, RunningState) -> + fun(_, Error={error, _Reason}) -> + Error; + ({"filename", Fname0}, RunningState) -> case create_temp_file(State) of [undefined, undefined] -> %% values will be stored in memory as @@ -98,7 +103,9 @@ filename = Fname0, temp_file = Fname, param_running_value = undefined, - running_file_size = 0} + running_file_size = 0}; + Error={error, _Reason} -> + Error end; ({"name", ParamName}, RunningState) -> RunningState#upload{ @@ -110,21 +117,32 @@ end, S1, Opts), - add_file_chunk(A,Res,S2); + case S2 of + Error={error, _Reason} -> + Error; + _ -> + add_file_chunk(A,Res,S2) + end; add_file_chunk(A, [{body, Data}|Res],State) when State#upload.fd /= undefined -> - NewSize = compute_new_size(State,Data), + NewSize = compute_new_size(State, Data), Check = check_param_size(State, NewSize), case Check of ok -> - ok = file:write(State#upload.fd, Data), - add_file_chunk(A, Res, State#upload{running_file_size = NewSize}); + Fd = State#upload.fd, + case file:write(Fd, Data) of + ok -> + add_file_chunk(A, Res, State#upload{running_file_size = NewSize}); + {error, Reason} -> + file:close(Fd), + {error, make_error_reason(Reason, State)} + end; Error={error, _Reason} -> Error end; add_file_chunk(A, [{body, Data}|Res], State) -> - NewSize = compute_new_size(State,Data), + NewSize = compute_new_size(State, Data), Check = check_param_size(State, NewSize), case Check of ok -> @@ -143,7 +161,9 @@ create_temp_file(State) -> case State#upload.no_temp_file of - undefined -> + true -> + [undefined, undefined]; + _ -> FilePath = case State#upload.fixed_filename of undefined -> @@ -156,12 +176,12 @@ Filename -> Filename end, - {ok,Fd} = file:open(FilePath, [write,binary]), - [FilePath, Fd]; - true -> - [undefined, undefined] - end - . + case file:open(FilePath, [write,binary]) of + {ok, Fd} -> [FilePath, Fd]; + {error, Reason} -> + {error, make_error_reason(Reason, State)} + end + end. close_previous_param(#upload{param_name = undefined} = State) -> State; @@ -208,17 +228,16 @@ State#upload.running_file_size + iolist_size(Data) end. - check_param_size(State, NewSize) -> case State#upload.max_file_size of undefined -> ok; MaxSizeInBytes -> case NewSize > MaxSizeInBytes of - true -> - {error, io_lib:format("~p is too large", - [State#upload.param_name])}; false -> - ok + ok; + true -> + file:close(State#upload.fd), + {error, make_error_reason(max_file_size_exceeded, State)} end end. @@ -229,3 +248,13 @@ Data when is_list(NewData) -> PrevValue ++ Data end. + +make_error_reason(Reason, State) -> + Elements = [Reason, State#upload.param_name | + case State#upload.return_error_file_path of + true -> + [State#upload.fixed_filename, State#upload.temp_file]; + false -> + [] + end], + list_to_tuple([E || E <- Elements, E /= undefined]). diff -Nru yaws-2.0.6+dfsg/src/yaws_sendfile.erl yaws-2.0.7+dfsg/src/yaws_sendfile.erl --- yaws-2.0.6+dfsg/src/yaws_sendfile.erl 2018-04-11 14:14:36.000000000 +0000 +++ yaws-2.0.7+dfsg/src/yaws_sendfile.erl 2019-07-14 13:01:11.000000000 +0000 @@ -1,6 +1,6 @@ %%% File : yaws_sendfile.erl %%% Author : Steve Vinoski -%%% Description : interface to sendfile linked-in driver for Yaws +%%% Description : sendfile interface %%% Created : 9 Nov 2008 by Steve Vinoski -module(yaws_sendfile). @@ -10,55 +10,6 @@ -include_lib("kernel/include/file.hrl"). -export([send/2, send/3, send/4]). --export([have_sendfile/0, have_erlang_sendfile/0, check_gc_flags/1]). - -%% export bytes_to_transfer to avoid warning when sendfile is disabled (or not -%% supported) --export([bytes_to_transfer/3]). - - --ifdef(HAVE_SENDFILE). - --behavior(gen_server). --export([init/1, handle_call/3, handle_cast/2, handle_info/2, terminate/2, - code_change/3]). - --export([start_link/0, stop/0]). - -have_sendfile() -> true. - --else. - -have_sendfile() -> false. - --endif. - -have_erlang_sendfile() -> yaws_dynopts:have_erlang_sendfile(). - -check_gc_flags(GC) -> - %% below, ignore dialyzer warning: - %% The pattern depends on the macro HAVE_ERLANG_SENDFILE - case have_erlang_sendfile() of - false when ?gc_use_erlang_sendfile(GC) -> - error_logger:error_msg("Cannot use file:sendfile/5: not supported, " - "gen_tcp:send/2 will be used instead.~n", - []); - _ -> - ok - end, - - %% below, ignore dialyzer warning: - %% The pattern depends on the macro HAVE_SENDFILE - case have_sendfile() of - false when ?gc_use_yaws_sendfile(GC) -> - error_logger:error_msg("Cannot use Yaws sendfile linked-in driver:" - " not supported, gen_tcp:send/2 will be used" - " instead.~n", - []); - _ -> - ok - end. - send(Out, Filename) -> send(Out, Filename, 0, all). @@ -68,18 +19,13 @@ send(Out, Filename, Offset, Count) -> GC = get(gc), ChunkSize = GC#gconf.large_file_chunk_size, - ErlangSendFile = ?gc_use_erlang_sendfile(GC), - YawsSendFile = ?gc_use_yaws_sendfile(GC), - if - ErlangSendFile -> - erlang_sendfile(Out, Filename, Offset, Count, ChunkSize); - YawsSendFile -> - yaws_sendfile(Out, Filename, Offset, Count, ChunkSize); + case ?gc_use_erlang_sendfile(GC) of true -> + erlang_sendfile(Out, Filename, Offset, Count, ChunkSize); + false -> compat_send(Out, Filename, Offset, Count, ChunkSize) end. - bytes_to_transfer(Filename, Offset, Count) -> case Count of all -> @@ -93,140 +39,23 @@ {error, badarg} end. - erlang_sendfile(Out, Filename, Offset, Count, ChunkSize) -> - case have_erlang_sendfile() of - true -> - Count1 = bytes_to_transfer(Filename, Offset, Count), - case Count1 of - {error, _}=Error1 -> - Error1; - _ -> - case file:open(Filename, [raw, read, binary]) of - {ok, RawFile} -> - Res = file:sendfile(RawFile, Out, Offset, Count1, - [{chunk_size, ChunkSize}]), - ok = file:close(RawFile), - Res; - Error2 -> - Error2 - end - end; - false -> - compat_send(Out, Filename, Offset, Count, ChunkSize) - end. - - --ifdef(HAVE_SENDFILE). - -yaws_sendfile(Out, Filename, Offset, Count, ChunkSize) -> - Count1 = bytes_to_transfer(Filename, Offset, Count), - case Count1 of - {error, _}=Error -> - Error; - _ -> - case prim_inet:getfd(Out) of - {ok, SocketFd} -> - do_send(Out, SocketFd, Filename, Offset, Count1, ChunkSize); - Error2 -> - Error2 - end - end. - - --record(state, { - port, % driver port - caller_tbl % table mapping socket fd to caller - }). - -start_link() -> - gen_server:start_link({local, ?MODULE}, ?MODULE, [], []). - -stop() -> - gen_server:cast(?MODULE, stop). - -init([]) -> - process_flag(trap_exit, true), - Shlib = "yaws_sendfile_drv", - Dir = filename:join(yaws:get_priv_dir(), "lib"), - case erl_ddll:load_driver(Dir, Shlib) of - ok -> ok; - {error, already_loaded} -> ok; - {error, Reason} -> - exit({error, - "could not load driver " ++ Shlib ++ ": " ++ - erl_ddll:format_error(Reason)}) - end, - Port = open_port({spawn, Shlib}, [binary]), - CallerTable = ets:new(yaws_sendfile, []), - {ok, #state{port = Port, caller_tbl = CallerTable}}. - -handle_call({send, SocketFd, Msg}, From, State) -> - true = erlang:port_command(State#state.port, Msg), - true = ets:insert(State#state.caller_tbl, {SocketFd, From}), - {noreply, State}; -handle_call(_Req, _From, State) -> - {reply, ok, State}. - -handle_info({_, {data, <>}}, State) -> - Reply = case Res of - 1 -> - {ok, Cnt}; - 0 -> - {error, - list_to_atom( - lists:takewhile(fun(El) -> El =/= 0 end, - binary_to_list(Err)))} - end, - CallerTable = State#state.caller_tbl, - [{SocketFd, From}] = ets:lookup(CallerTable, SocketFd), - gen_server:reply(From, Reply), - ets:delete(CallerTable, SocketFd), - {noreply, State}; -handle_info(_Info, State) -> - {noreply, State}. - -handle_cast(stop, State) -> - {stop, State}; -handle_cast(_, State) -> - {noreply, State}. - -terminate(_Reason, #state{port = Port, caller_tbl = CallerTable}) -> - erlang:port_close(Port), - receive {'EXIT', Port, _Reason} -> ok - after 0 -> ok - end, - ets:delete(CallerTable), - ok. - -code_change(_OldVsn, Data, _Extra) -> - {ok, Data}. - -do_send(_Out, _SocketFd, _Filename, _Offset, Count, _) when Count =< 0 -> - {ok, 0}; -do_send(Out, SocketFd, Filename0, Offset, Count, ChunkSize) -> - Filename = case file:native_name_encoding() of - latin1 -> Filename0; - utf8 -> unicode:characters_to_binary(Filename0) - end, - Call = list_to_binary([<>, - Filename, <<0:8>>]), - case gen_server:call(?MODULE, {send, SocketFd, Call}, infinity) of - {error, eoverflow} -> - compat_send(Out, Filename, Offset, Count, ChunkSize); - Else -> - Else + Count = bytes_to_transfer(Filename, Offset, Count), + case Count of + {error, _}=Error1 -> + Error1; + _ -> + case file:open(Filename, [raw, read, binary]) of + {ok, RawFile} -> + Res = file:sendfile(RawFile, Out, Offset, Count, + [{chunk_size, ChunkSize}]), + ok = file:close(RawFile), + Res; + Error2 -> + Error2 + end end. --else. - -yaws_sendfile(Out, Filename, Offset, Count, ChunkSize) -> - compat_send(Out, Filename, Offset, Count, ChunkSize). - --endif. - - - compat_send(Out, Filename, Offset, Count0, ChunkSize) -> Count = case Count0 of 0 -> all; diff -Nru yaws-2.0.6+dfsg/src/yaws_server.erl yaws-2.0.7+dfsg/src/yaws_server.erl --- yaws-2.0.6+dfsg/src/yaws_server.erl 2018-06-26 09:15:17.000000000 +0000 +++ yaws-2.0.7+dfsg/src/yaws_server.erl 2019-07-14 13:01:11.000000000 +0000 @@ -35,7 +35,7 @@ %% internal exports -export([gserv/3,acceptor0/2, load_and_run/2, done_or_continue/0, - accumulate_content/1, deliver_accumulated/4, deliver_accumulated/1, + accumulate_content/1, deliver_accumulated/4, deliver_accumulated/2, setup_dirs/1, deliver_dyn_part/8, finish_up_dyn_file/2, gserv_loop/4 ]). @@ -52,11 +52,6 @@ 'DELETE'/4, 'PATCH'/4]). --import(lists, [member/2, foreach/2, map/2, - flatten/1, reverse/1]). - --import(yaws_api, [ehtml_expand/1]). - -record(gs, {gconf, group, %% list of #sconf{} s ssl, %% ssl | nossl @@ -194,7 +189,6 @@ init2(GC, Sconfs, RunMod, Embedded, FirstTime) -> put(gc, GC), - yaws_sendfile:check_gc_flags(GC), case GC#gconf.mnesia_dir of MD when length(MD) > 0 -> yaws_debug:format("loading mnesia ~p~n", [MD]), @@ -203,10 +197,10 @@ _ -> ok end, - foreach(fun(D) -> - yaws_debug:format("Add path ~p~n", [D]), - code:add_pathz(D) - end, GC#gconf.ebin_dir), + lists:foreach(fun(D) -> + yaws_debug:format("Add path ~p~n", [D]), + code:add_pathz(D) + end, GC#gconf.ebin_dir), yaws_debug:format("Running with id=~p ~n" "~s" "Logging to directory ~p~n", @@ -291,22 +285,22 @@ {reply, (State#state.gc)#gconf.id, State}; handle_call(pids, _From, State) -> %% for gprof - L = map(fun(X) ->element(1, X) end, State#state.pairs), + L = lists:map(fun(X) ->element(1, X) end, State#state.pairs), {reply, [self() | L], State}; %% This is a brutal restart of everything handle_call({setconf, GC, Groups}, _From, State) -> %% First off, terminate all currently running processes - Curr = map(fun(X) ->element(1, X) end, State#state.pairs), - foreach(fun(Pid) -> - gserv_stop(Pid) - end, Curr), + Curr = lists:map(fun(X) ->element(1, X) end, State#state.pairs), + lists:foreach(fun(Pid) -> + gserv_stop(Pid) + end, Curr), {ok, State2} = init2(GC, Groups, undef, State#state.embedded, false), {reply, ok, State2}; handle_call(getconf, _From, State) -> - Groups = map(fun({_Pid, SCs}) -> SCs end, State#state.pairs), + Groups = lists:map(fun({_Pid, SCs}) -> SCs end, State#state.pairs), {reply, {ok, State#state.gc, Groups}, State}; %% If cert has changed, server will stop implicitly @@ -440,7 +434,7 @@ %% Returns: any (ignored by gen_server) %%---------------------------------------------------------------------- terminate(_Reason, State) -> - foreach(fun({Pid, _GP}) -> gserv_stop(Pid) end, State#state.pairs), + lists:foreach(fun({Pid, _GP}) -> gserv_stop(Pid) end, State#state.pairs), ok. do_listen(GC, [SC0|_]=Group) -> @@ -507,8 +501,8 @@ ?TC([{record, GC, gconf}]), put(gc, GC), put(top, Top), - Group1 = map(fun(SC) -> setup_ets(SC) end, Group0), - Group = map(fun(SC) -> start_stats(SC) end, Group1), + Group1 = lists:map(fun(SC) -> setup_ets(SC) end, Group0), + Group = lists:map(fun(SC) -> start_stats(SC) end, Group1), case do_listen(GC, Group) of {SSLBOOL, CertInfo, {ok, Listen}} -> lists:foreach(fun(SC) -> call_start_mod(SC) end, Group), @@ -517,7 +511,7 @@ [inet_parse:ntoa((hd(Group))#sconf.listen), (hd(Group))#sconf.port, length(Group), - catch map( + catch lists:map( fun(S) -> io_lib:format("~n - ~s under ~s", [yaws:sconf_to_srvstr(S), @@ -548,7 +542,7 @@ ok = filelib:ensure_dir(Ctl), case file:list_dir(Dir) of {ok, LL} -> - foreach( + lists:foreach( fun(F) -> file:delete(filename:join([Dir, F])) end, LL -- ["CTL"]); @@ -641,11 +635,11 @@ Pid when Reason /= shutdown -> error_logger:format("Top proc died, terminate gserv",[]), {links, Ls} = process_info(self(), links), - foreach(fun(X) -> unlink(X), exit(X, shutdown) end, Ls), + lists:foreach(fun(X) -> unlink(X), exit(X, shutdown) end, Ls), exit(noserver); Pid -> {links, Ls} = process_info(self(), links), - foreach(fun(X) -> unlink(X), exit(X, shutdown) end, Ls), + lists:foreach(fun(X) -> unlink(X), exit(X, shutdown) end, Ls), exit(normal); Top when Reason == failaccept -> error_logger:format( @@ -653,7 +647,7 @@ {links, Ls} = process_info(self(), links), %% do not send exit signal to yaws_server process Ls1 = Ls -- [Top], - foreach(fun(X) -> unlink(X), exit(X, shutdown) end, Ls1), + lists:foreach(fun(X) -> unlink(X), exit(X, shutdown) end, Ls1), exit(noserver); _ -> GS2 = if (Reason == normal) orelse (Reason == shutdown) -> @@ -694,16 +688,16 @@ end, %% Stop yaws_stats processes, if needed - foreach(fun(SC) -> stop_stats(SC) end, GS#gs.group), + lists:foreach(fun(SC) -> stop_stats(SC) end, GS#gs.group), %% Close softly all opened connections {links, Ls1} = process_info(self(), links), - foreach(fun(X) when is_pid(X) -> - unlink(X), - X ! {self(), suspend}, - exit(X, shutdown); - (_) -> ok - end, Ls1), + lists:foreach(fun(X) when is_pid(X) -> + unlink(X), + X ! {self(), suspend}, + exit(X, shutdown); + (_) -> ok + end, Ls1), WaitFun = fun(_, 0, Pids) -> Pids; (_, _, []) -> []; (F, Secs, Pids0) -> @@ -718,7 +712,7 @@ Ls2 = WaitFun(WaitFun, 60, Ls1), %% Kill all remaining connections - foreach(fun(X) -> exit(X, kill) end, Ls2), + lists:foreach(fun(X) -> exit(X, kill) end, Ls2), From ! {self(), ok}, exit(normal); @@ -807,7 +801,7 @@ [yaws:sconf_to_srvstr(hd(GS#gs.group))]), {links, Ls0} = process_info(self(), links), Ls = Ls0 -- [get(top)], - foreach(fun(X) -> unlink(X), exit(X, shutdown) end, Ls), + lists:foreach(fun(X) -> unlink(X), exit(X, shutdown) end, Ls), From ! {self(), yes}, unlink(get(top)), get(top) ! {self(), certchanged}, @@ -1004,6 +998,11 @@ true -> false end, + if SSL#ssl.eccs /= undefined -> + {eccs, SSL#ssl.eccs}; + true -> + false + end, case yaws_dynopts:have_ssl_log_alert() of true -> {log_alert, false}; false -> false @@ -1191,17 +1190,29 @@ Head = yaws:http_get_headers(CliSock, SSL), process_flag(trap_exit, true), ?Debug("Head = ~p~n", [Head]), + NoArg = undefined, case Head of + {error, {empty_accept_header_list, ReqEmptyAccept}} -> + ?Debug("Request's Accept headers all empty~n", []), + case pick_sconf(GS#gs.gconf, #headers{}, GS#gs.group) of + undefined -> + deliver_400(CliSock, ReqEmptyAccept, NoArg); + SC -> + put(sc, SC), + put(outh, #outh{}), + deliver_400(CliSock, ReqEmptyAccept, NoArg) + end, + {ok, Num+1}; {error, {too_many_headers, ReqTooMany}} -> %% RFC 6585 status code 431 ?Debug("Request headers too large~n", []), case pick_sconf(GS#gs.gconf, #headers{}, GS#gs.group) of undefined -> - deliver_400(CliSock, ReqTooMany); + deliver_400(CliSock, ReqTooMany, NoArg); SC -> put(sc, SC), put(outh, #outh{}), - deliver_431(CliSock, ReqTooMany) + deliver_431(CliSock, ReqTooMany, NoArg) end, {ok, Num+1}; {Req0, H0} when Req0#http_request.method /= bad_request -> @@ -1209,7 +1220,7 @@ ?Debug("{Req, H} = ~p~n", [{Req, H}]), case pick_sconf({GS#gs.ssl, CliSock}, GS#gs.gconf, H, GS#gs.group) of undefined -> - deliver_400(CliSock, Req), + deliver_400(CliSock, Req, NoArg), {ok, Num+1}; SC -> put(outh, #outh{}), @@ -1218,13 +1229,13 @@ undefined -> continue; DispatchMod -> - Arg = make_arg(SC, CliSock, IPPort, + ARG = make_arg(SC, CliSock, IPPort, H, Req, undefined), ok = yaws:setopts(CliSock, [{packet, raw}, {active, false}], yaws:is_ssl(SC)), - DispatchMod:dispatch(Arg) + DispatchMod:dispatch(ARG) end, case DispatchResult of done -> @@ -1251,7 +1262,7 @@ call_method(Req#http_request.method,CliSock, IPPort,Req,H); {deny, Status, Msg} -> - deliver_xxx(CliSock, Req, Status, Msg) + deliver_xxx(CliSock, Req, NoArg, Status, Msg) end, Call2 = fix_keepalive_maxuses(Call), handle_method_result(Call2, CliSock, IPPort, @@ -1665,7 +1676,7 @@ ok = yaws:setopts(CliSock, [{packet, raw}, binary], yaws:is_ssl(SC)), flush(CliSock, Head#headers.content_length, yaws:to_lower(Head#headers.transfer_encoding)), - deliver_501(CliSock, Req). + deliver_501(CliSock, Req, undefined). 'TRACE'(CliSock, IPPort, Req, Head) -> @@ -1674,9 +1685,10 @@ 'OPTIONS'(CliSock, IPPort, Req, Head) -> case Req#http_request.path of '*' -> + ARG = make_arg(CliSock, IPPort, Head, Req, undefined), % Handle "*" as per RFC2616 section 5.1.2 - deliver_options(CliSock, Req, ['GET', 'HEAD', 'OPTIONS', - 'PUT', 'POST', 'DELETE']); + deliver_options(CliSock, Req, ARG, ['GET', 'HEAD', 'OPTIONS', + 'PUT', 'POST', 'DELETE']); _ -> no_body_method(CliSock, IPPort, Req, Head) end. @@ -1713,7 +1725,9 @@ ok; Value -> case yaws:to_lower(Value) of - "100-continue" -> deliver_100(CliSock); + "100-continue" -> + Arg = make_arg(CliSock, IPPort, Head, Req, undefined), + deliver_100(CliSock, Arg); _ -> ok end end, @@ -1724,7 +1738,7 @@ {_, undefined} -> <<>>; {_, Len} -> - Int_len = list_to_integer(Len), + Int_len = strip_list_to_integer(Len), if Int_len < 0 -> {error, content_length_overflow}; @@ -1739,7 +1753,7 @@ case Res of {error, Reason} -> error_logger:format("Invalid Request: ~p~n", [Reason]), - deliver_400(CliSock, Req); + deliver_400(CliSock, Req, undefined); Bin -> ?Debug("Request data = ~s~n", [binary_to_list(un_partial(Bin))]), ARG = make_arg(CliSock, IPPort, Head, Req, Bin), @@ -1814,7 +1828,7 @@ end, State#rewrite_response.headers), case State#rewrite_response.content of <<>> -> - deliver_accumulated(CliSock); + deliver_accumulated(CliSock, ARG); _ -> %% Define a default content type if needed case yaws:outh_get_content_type() of @@ -1836,7 +1850,7 @@ {abs_path, RawPath} -> case (catch yaws_api:url_decode_q_split(RawPath)) of {'EXIT', _} -> %% weird broken cracker requests - deliver_400(CliSock, Req); + deliver_400(CliSock, Req, ARG); {DecPath, QueryPart} -> %% http://? %% DecPath is stored in arg.server_path and is equiv to @@ -1888,7 +1902,7 @@ %%!todo - log somewhere? error_logger:format( "BAD arg.docroot_mount data: '~p'\n",[ARGvdir]), - deliver_xxx(CliSock, Req, 500), + deliver_xxx(CliSock, Req, ARG, 500), exit(normal); _ -> ok @@ -1929,9 +1943,9 @@ end end; {scheme, _Scheme, _RequestString} -> - deliver_501(CliSock, Req); + deliver_501(CliSock, Req, ARG); _ -> % for completeness - deliver_400(CliSock, Req) + deliver_400(CliSock, Req, ARG) end. @@ -1967,7 +1981,7 @@ end, handle_ut(CliSock, ARG2, UT, N); false_403 -> - deliver_403(CliSock, ARG1#arg.orig_req); + deliver_403(CliSock, ARG1#arg.orig_req, ARG1); {false, AuthMethods, Realm} -> UT1 = #urltype{type = {unauthorized, AuthMethods, Realm}, path = ARG1#arg.server_path}, @@ -2160,7 +2174,7 @@ {ok, SslSock} -> SslSock; undefined -> ARG#arg.clisock end, - deliver_accumulated(CliSock), + deliver_accumulated(CliSock, ARG), exit(normal) end) end; @@ -2274,14 +2288,14 @@ end, case Range of error -> deliver_416( - CliSock, Req, + CliSock, Req, ARG, (UT#urltype.finfo)#file_info.size); _ -> Do_deliver = case Req#http_request.method of - 'HEAD' -> fun() -> deliver_accumulated(CliSock), + 'HEAD' -> fun() -> deliver_accumulated(CliSock, ARG), done end; - _ -> fun() -> deliver_file(CliSock, Req, + _ -> fun() -> deliver_file(CliSock, Req, ARG, UT, Range) end end, case H#headers.if_none_match of @@ -2308,28 +2322,28 @@ Req, UT, H), maybe_set_page_options(), deliver_accumulated( - CliSock), + CliSock, ARG), done_or_continue() end end; Line -> - case member(ETag, - yaws:split_sep(Line, $,)) of + case lists:member(ETag, + yaws:split_sep(Line, $,)) of true -> yaws:outh_set_static_headers( Req, UT, H, Range), maybe_set_page_options(), Do_deliver(); false -> - deliver_xxx(CliSock, Req, 412) + deliver_xxx(CliSock, Req, ARG, 412) end end; Line -> - case member(ETag,yaws:split_sep(Line, $,)) of + case lists:member(ETag,yaws:split_sep(Line, $,)) of true -> yaws:outh_set_304_headers(Req, UT, H), maybe_set_page_options(), - deliver_accumulated(CliSock), + deliver_accumulated(CliSock, ARG), done_or_continue(); false -> yaws:outh_set_static_headers @@ -2339,9 +2353,9 @@ end end; Req#http_request.method == 'OPTIONS' -> - deliver_options(CliSock, Req, Regular_allowed); + deliver_options(CliSock, Req, ARG, Regular_allowed); true -> - deliver_405(CliSock, Req, Regular_allowed) + deliver_405(CliSock, Req, ARG, Regular_allowed) end; @@ -2359,9 +2373,9 @@ maybe_set_page_options(), do_yaws(CliSock, ARG, UT, N); Req#http_request.method == 'OPTIONS' -> - deliver_options(CliSock, Req, Yaws_allowed); + deliver_options(CliSock, Req, ARG, Yaws_allowed); true -> - deliver_405(CliSock, Req, Yaws_allowed) + deliver_405(CliSock, Req, ARG, Yaws_allowed) end; handle_ut(CliSock, ARG, UT = #urltype{type = {unauthorized, Auth, Realm}}, N) -> @@ -2440,9 +2454,9 @@ P, Req, ?sc_has_dir_all_zip(SC)); Req#http_request.method == 'OPTIONS' -> - deliver_options(CliSock, Req, Directory_allowed); + deliver_options(CliSock, Req, ARG, Directory_allowed); true -> - deliver_405(CliSock, Req, Directory_allowed) + deliver_405(CliSock, Req, ARG, Directory_allowed) end; true -> handle_ut(CliSock, ARG, #urltype{type = error}, N) @@ -2485,7 +2499,7 @@ N, ARG,UT, fun(A)->yaws_cgi:call_cgi( - A,flatten(UT#urltype.fullpath)) + A,lists:flatten(UT#urltype.fullpath)) end, fun(A)->finish_up_dyn_file(A, CliSock) end ); @@ -2538,7 +2552,7 @@ error -> handle_ut(CliSock, ARG, #urltype{type = error}, N); options -> - deliver_options(CliSock, Req, []); + deliver_options(CliSock, Req, ARG, []); {regular, Finfo} -> handle_ut(CliSock, ARG, UT#urltype{type = regular, finfo = Finfo}, N); @@ -2564,7 +2578,7 @@ {cgi, Exe} -> fun(A)-> yaws_cgi:call_cgi( - A,Exe,flatten(UT#urltype.fullpath) + A,Exe,lists:flatten(UT#urltype.fullpath) ) end; {fcgi, {PhpFcgiHost, PhpFcgiPort}} -> @@ -2621,33 +2635,31 @@ SC=get(sc), Scheme = yaws:redirect_scheme(SC), Headers = Arg#arg.headers, - EncPath = yaws_api:url_encode(Path), RedirHost = yaws:redirect_host(SC, Headers#headers.host), %% QueryString must be added Loc = case Arg#arg.querydata of - undefined -> ["Location: ", Scheme, RedirHost, EncPath, "\r\n"]; - [] -> ["Location: ", Scheme, RedirHost, EncPath, "\r\n"]; - Q -> ["Location: ", Scheme, RedirHost, EncPath, "?", Q, "\r\n"] + undefined -> ["Location: ", Scheme, RedirHost, Path, "\r\n"]; + [] -> ["Location: ", Scheme, RedirHost, Path, "\r\n"]; + Q -> ["Location: ", Scheme, RedirHost, Path, "?", Q, "\r\n"] end, new_redir_h(H, Loc), - deliver_accumulated(CliSock), + deliver_accumulated(CliSock, Arg), done_or_continue(). -deliver_redirect_map(CliSock, Req, _Arg, +deliver_redirect_map(CliSock, Req, Arg, {_Prefix, Code, undefined, _Mode}, _N) -> %% Here Code is 1xx, 2xx, 4xx or 5xx ?Debug("in redir ~p", [Code]), - deliver_xxx(CliSock, Req, Code); + deliver_xxx(CliSock, Req, Arg, Code); deliver_redirect_map(_CliSock, _Req, Arg, {_Prefix, Code, Path, Mode}, N) when is_list(Path) -> %% Here Code is 1xx, 2xx, 4xx or 5xx ?Debug("in redir ~p", [Code]), Path1 = if Mode == append -> - EncPath = yaws_api:url_encode(Arg#arg.server_path), - filename:join([Path ++ EncPath]); + filename:join([Path ++ Arg#arg.server_path]); true -> %% noappend Path end, @@ -2672,8 +2684,7 @@ end, LocPath = if Mode == append -> - EncPath = yaws_api:url_encode(Arg#arg.server_path), - Path1 = filename:join([URL#url.path ++ EncPath]), + Path1 = filename:join([URL#url.path ++ Arg#arg.server_path]), yaws_api:format_partial_url( URL#url{path=Path1,querypart=QueryData}, get(sc) ); @@ -2696,11 +2707,11 @@ chunked = false, date = yaws:make_date_header() }, Loc, Code), - deliver_accumulated(CliSock), + deliver_accumulated(CliSock, Arg), done_or_continue(). -deliver_options(CliSock, _Req, Options) -> +deliver_options(CliSock, _Req, Arg, Options) -> H = #outh{status = 200, doclose = false, chunked = false, @@ -2708,23 +2719,23 @@ date = yaws:make_date_header(), allow = yaws:make_allow_header(Options)}, put(outh, H), - deliver_accumulated(CliSock), + deliver_accumulated(CliSock, Arg), continue. -deliver_100(CliSock) -> +deliver_100(CliSock, Arg) -> H = #outh{status = 100, doclose = false, chunked = false, server = yaws:make_server_header(), allow = yaws:make_allow_header()}, put(outh, H), - deliver_accumulated(CliSock), + deliver_accumulated(CliSock, Arg), continue. -deliver_xxx(CliSock, _Req, Code) -> - deliver_xxx(CliSock, _Req, Code, ""). -deliver_xxx(CliSock, _Req, Code, ExtraHtml) -> +deliver_xxx(CliSock, _Req, Arg, Code) -> + deliver_xxx(CliSock, _Req, Arg, Code, ""). +deliver_xxx(CliSock, _Req, Arg, Code, ExtraHtml) -> B = ["

        ", integer_to_list(Code), $\ , yaws_api:code_to_phrase(Code), "

        ", ExtraHtml, ""], Sz = iolist_size(B), @@ -2742,23 +2753,23 @@ content_type = yaws:make_content_type_header("text/html")}, put(outh, H), accumulate_content(B), - deliver_accumulated(CliSock), + deliver_accumulated(CliSock, Arg), done. -deliver_400(CliSock, Req) -> - deliver_xxx(CliSock, Req, 400).% Bad Request +deliver_400(CliSock, Req, Arg) -> + deliver_xxx(CliSock, Req, Arg, 400).% Bad Request -deliver_403(CliSock, Req) -> - deliver_xxx(CliSock, Req, 403). % Forbidden +deliver_403(CliSock, Req, Arg) -> + deliver_xxx(CliSock, Req, Arg, 403). % Forbidden -deliver_405(CliSock, Req, Methods) -> +deliver_405(CliSock, Req, Arg, Methods) -> Methods_msg = lists:flatten( ["

        This resource allows ", yaws:join_sep([atom_to_list(M) || M <- Methods], ", "), "

        "]), - deliver_xxx(CliSock, Req, 405, Methods_msg). + deliver_xxx(CliSock, Req, Arg, 405, Methods_msg). -deliver_416(CliSock, _Req, Tot) -> +deliver_416(CliSock, _Req, Arg, Tot) -> B = ["

        416 ", yaws_api:code_to_phrase(416), "

        "], Sz = iolist_size(B), H = #outh{status = 416, @@ -2773,14 +2784,14 @@ content_type = yaws:make_content_type_header("text/html")}, put(outh, H), accumulate_content(B), - deliver_accumulated(CliSock), + deliver_accumulated(CliSock, Arg), done. -deliver_431(CliSock, Req) -> - deliver_xxx(CliSock, Req, 431). +deliver_431(CliSock, Req, Arg) -> + deliver_xxx(CliSock, Req, Arg, 431). -deliver_501(CliSock, Req) -> - deliver_xxx(CliSock, Req, 501). % Not implemented +deliver_501(CliSock, Req, Arg) -> + deliver_xxx(CliSock, Req, Arg, 501). % Not implemented do_yaws(CliSock, ARG, UT, N) -> Key = UT#urltype.getpath, %% always flat @@ -2802,7 +2813,7 @@ purge_old_mods(_, []) -> ok; purge_old_mods(_GC, [{_FileAtom, spec, _Mtime1, Spec, _}]) -> - foreach( + lists:foreach( fun({mod, _, _, _, Mod, _Func}) -> code:purge(Mod), code:purge(Mod); @@ -2882,9 +2893,9 @@ Res = YawsFun(Arg), handle_out_reply(Res, LineNo, YawsFile, UT, Arg) catch - Class:Exc -> - handle_out_reply({throw, Class, Exc}, LineNo, - YawsFile, UT, Arg) + ?MAKE_ST(Class:Exc,St, + handle_out_reply({throw, Class, Exc, St}, LineNo, + YawsFile, UT, Arg)) end, case OutReply of {get_more, Cont, State} when element(1, Arg#arg.clidata) == partial -> @@ -2963,7 +2974,11 @@ "%%"++Key = binary_to_list(Send), Chunk = case get({binding, Key--"%%"}) of - undefined -> Send; + undefined -> + case strip_undefined_bindings(get(sc)) of + true -> <<>>; + _ -> Send + end; Value -> Value end, accumulate_content(Chunk), @@ -2983,6 +2998,9 @@ ?Debug("deliver_dyn: done~n", []), finish_up_dyn_file(ARG, CliSock). +strip_undefined_bindings(SC) -> + get(yaws_strip_undefined_bindings) =:= true orelse + ?sc_strip_undef_bindings(SC). -define(unflushed_timeout, 300). @@ -3302,7 +3320,7 @@ handle_out_reply({allheaders, Hs}, _LineNo, _YawsFile, _UT, _ARG) -> yaws:outh_clear_headers(), - foreach(fun({header, Head}) -> yaws:accumulate_header(Head) end, Hs), + lists:foreach(fun({header, Head}) -> yaws:accumulate_header(Head) end, Hs), ok; handle_out_reply({status, Code},_LineNo,_YawsFile,_UT,_ARG) @@ -3392,7 +3410,12 @@ ok; handle_out_reply({bindings, L}, _LineNo, _YawsFile, _UT, _ARG) -> - foreach(fun({Key, Value}) -> put({binding, Key}, Value) end, L), + erase(yaws_strip_undefined_bindings), + lists:foreach(fun({Key, Value}) -> + put({binding, Key}, Value); + (strip_undefined) -> + put(yaws_strip_undefined_bindings, true) end, + L), ok; handle_out_reply(ok, _LineNo, _YawsFile, _UT, _ARG) -> @@ -3406,12 +3429,12 @@ [YawsFile, LineNo, Err, ARG#arg.req, ?stack()]), handle_crash(ARG, L); -handle_out_reply({throw, Class, Exc}, LineNo, YawsFile, _UT, ARG) -> +handle_out_reply({throw, Class, Exc, St}, LineNo, YawsFile, _UT, ARG) -> L = ?F("~n~nERROR erlang code threw an uncaught exception:~n " "File: ~s:~w~n" "Class: ~p~nException: ~p~nReq: ~p~n" "Stack: ~p~n", - [YawsFile, LineNo, Class, Exc, ARG#arg.req, ?stack()]), + [YawsFile, LineNo, Class, Exc, ARG#arg.req, St]), handle_crash(ARG, L); handle_out_reply({get_more, Cont, State}, _LineNo, _YawsFile, _UT, _ARG) -> @@ -3489,21 +3512,22 @@ ssi(File, Delimiter, Bindings) -> - ssi(File, Delimiter, Bindings, get(yaws_ut), get(yaws_arg), get (sc)). + ssi(File, Delimiter, Bindings, get(yaws_ut), get(yaws_arg), get(sc)). ssi(File, Delimiter, Bindings, UT, ARG) -> ssi(File, Delimiter, Bindings, UT, ARG, get(sc)). -ssi(File, Delimiter, Bindings, UT, ARG, SC) -> - +ssi(File, Delimiter, Bindings0, UT, ARG, SC) -> Dir = UT#urltype.dir, %%Dir here should be equiv to arg.prepath Docroot = ARG#arg.docroot, VirtualDir = ARG#arg.docroot_mount, + %% Ignore strip_undefined directive, as it's the default for ssi + Bindings = [B || B <- Bindings0, B /= strip_undefined], %%JMN - line below looks suspicious, why are we not keying on %% {ssi, File, Dir} ??? @@ -3653,7 +3677,7 @@ %% Aghhh, yet another user crash :-( T2 = [{h2, [], "Internal error"}, {hr}, {p, [], "Customized crash display code crashed !!!"}], - accumulate_content(ehtml_expand(T2)), + accumulate_content(yaws_api:ehtml_expand(T2)), break; {ok, Out} -> accumulate_content(Out), @@ -3663,7 +3687,7 @@ yaws:elog("Bad return value from errmod_crash ~n~p~n",[Other]), T2 = [{h2, [], "Internal error"}, {hr}, {p, [], "Customized crash display code returned bad val"}], - accumulate_content(ehtml_expand(T2)), + accumulate_content(yaws_api:ehtml_expand(T2)), break end. @@ -3701,7 +3725,7 @@ Mime0 = yaws:outh_get_content_type(), [Mime1|_] = yaws:split_sep(Mime0, $;), %% Remove charset ?Debug("Check compression support: Mime-Type=~p~n", [Mime1]), - case compressible_mime_type(Mime1, DOpts) of + case yaws:compressible_mime_type(Mime1, DOpts) of true -> case (Arg =:= undefined orelse @@ -3730,12 +3754,12 @@ -deliver_accumulated(Sock) -> +deliver_accumulated(Sock, Arg) -> case yaws:outh_get_content_encoding() of decide -> yaws:outh_set_content_encoding(identity); _ -> ok end, - deliver_accumulated(undefined, Sock, undefined, final). + deliver_accumulated(Arg, Sock, undefined, final). %% Arg = #arg{} | undefined %% ContentLength = Int | undefined @@ -3773,7 +3797,7 @@ ContentLength, Mode) end, - {StatusLine, Headers} = yaws:outh_serialize(), + {StatusLine, Headers} = yaws:outh_serialize(Arg), All = [StatusLine, Headers, crnl(), Data], yaws:gen_tcp_send(Sock, All), case yaws_trace:get_type(get(gc)) of @@ -3960,16 +3984,16 @@ end. -deliver_file(CliSock, Req, UT, Range) -> +deliver_file(CliSock, Req, Arg, UT, Range) -> if is_binary(UT#urltype.data) -> %% cached - deliver_small_file(CliSock, Req, UT, Range); + deliver_small_file(CliSock, Req, Arg, UT, Range); true -> - deliver_large_file(CliSock, Req, UT, Range) + deliver_large_file(CliSock, Req, Arg, UT, Range) end. -deliver_small_file(CliSock, _Req, UT, Range) -> +deliver_small_file(CliSock, _Req, Arg, UT, Range) -> Bin0 = ut_read(UT), Bin = case Range of all -> @@ -3980,10 +4004,10 @@ Bin1 end, accumulate_content(Bin), - deliver_accumulated(CliSock), + deliver_accumulated(CliSock, Arg), done_or_continue(). -deliver_large_file(CliSock, _Req, UT, Range) -> +deliver_large_file(CliSock, _Req, Arg, UT, Range) -> Sz = case Range of all -> (UT#urltype.finfo)#file_info.size; @@ -3992,7 +4016,7 @@ (To - From + 1) end, Mode = {file, UT#urltype.fullpath, mtime(UT#urltype.finfo)}, - case deliver_accumulated(undefined, CliSock, Sz, Mode) of + case deliver_accumulated(Arg, CliSock, Sz, Mode) of discard -> ok; Priv -> send_file(CliSock, UT#urltype.fullpath, Range, Priv) end, @@ -4318,9 +4342,18 @@ path = [GetPath, "/"]} end; _Err -> - %% non-optimal, on purpose - maybe_return_path_info(SC, Comps, RevFile, - ArgDocroot, VirtualDir) + %% Perhaps we have an encoded filename? + DecodedPath = yaws_api:url_decode_with_encoding( + GetPath, + file:native_name_encoding()), + case DecodedPath of + GetPath -> + %% non-optimal, on purpose + maybe_return_path_info(SC, Comps, RevFile, + ArgDocroot, VirtualDir); + _ -> + do_url_type(SC, DecodedPath, ArgDocroot, VirtualDir) + end end; {ok, {Mount, Mod}} -> %% Remove appmod for this request to avoid an infinte loop @@ -4616,7 +4649,6 @@ maybe_return_path_info(SC, Comps, RevFile, DR, VirtualDir) -> - case path_info_split(SC, Comps, {DR, VirtualDir}) of {not_a_script, error} -> %%can we use urltype.data to return more info? @@ -4627,7 +4659,7 @@ %% without trailing "/" {Type2, Mime2} = - case member(Type, SC#sconf.allowed_scripts) of + case lists:member(Type, SC#sconf.allowed_scripts) of true -> {Type, Mime}; false -> @@ -4824,18 +4856,18 @@ parse_user_path(_DR, [], User) -> - {redir_dir, reverse(User)}; + {redir_dir, lists:reverse(User)}; parse_user_path(_DR, [$/], User) -> - {ok, reverse(User), [$/]}; + {ok, lists:reverse(User), [$/]}; parse_user_path(_DR, [$/|Tail], User) -> - {ok, reverse(User), [$/|Tail]}; + {ok, lists:reverse(User), [$/|Tail]}; parse_user_path(DR, [H|T], User) -> parse_user_path(DR, T, [H|User]). deflate_q(true, SC, regular, Mime0) -> [Mime1|_] = yaws:split_sep(Mime0, $;), %% Remove charset - case compressible_mime_type(Mime1, SC#sconf.deflate_options) of + case yaws:compressible_mime_type(Mime1, SC#sconf.deflate_options) of true -> dynamic; false -> undefined end; @@ -4848,34 +4880,13 @@ {regular, _Ext, Mime} -> {regular, Mime}; {X, _Ext, Mime} -> - case member(X, SC#sconf.allowed_scripts) of + case lists:member(X, SC#sconf.allowed_scripts) of true -> {X, Mime}; false -> {regular, mime_types:default_type(SC)} end end. -compressible_mime_type(Mime, #deflate{mime_types=MimeTypes}) -> - case yaws:split_sep(Mime, $/) of - [Type, SubType] -> compressible_mime_type(Mime,Type,SubType,MimeTypes); - _ -> false - end. - -compressible_mime_type(_, _, _, all) -> - true; -compressible_mime_type(_, _, _, []) -> - false; -compressible_mime_type(_, Type, _, [{Type, all}|_]) -> - true; -compressible_mime_type(_, Type, SubType, [{Type, SubType}|_]) -> - true; -compressible_mime_type(Mime, _, _, [Mime|_]) -> - true; -compressible_mime_type(Mime, Type, SubType, [_|Rest]) -> - compressible_mime_type(Mime, Type, SubType, Rest). - - - flush(Sock, Sz, TransferEncoding) -> flush(Sock, 0, Sz, TransferEncoding). @@ -4921,11 +4932,10 @@ runmod2(GC, GC#gconf.runmods). runmod2(GC, Mods) -> - foreach(fun(M) -> - proc_lib:spawn(?MODULE, load_and_run, - [M, ?gc_has_debug(GC)]) - end, Mods). - + lists:foreach(fun(M) -> + proc_lib:spawn(?MODULE, load_and_run, + [M, ?gc_has_debug(GC)]) + end, Mods). load_and_run(Mod, Debug) -> @@ -4942,7 +4952,7 @@ safe_ehtml_expand(X) -> - case (catch ehtml_expand(X)) of + case (catch yaws_api:ehtml_expand(X)) of {'EXIT', R} -> {error, err_pre(R)}; Val -> diff -Nru yaws-2.0.6+dfsg/src/yaws_session_server.erl yaws-2.0.7+dfsg/src/yaws_session_server.erl --- yaws-2.0.6+dfsg/src/yaws_session_server.erl 2018-04-11 14:14:36.000000000 +0000 +++ yaws-2.0.7+dfsg/src/yaws_session_server.erl 2019-07-14 13:01:11.000000000 +0000 @@ -32,8 +32,9 @@ list/0, lookup/1, insert/1, delete/1, traverse/1, cleanup/0]). -%% Utility functions for callbacks --export([has_timedout/2, report_timedout_sess/1, cookie/1]). +%% Utility functions for callbacks and backends +-export([has_timedout/2, report_timedout_sess/1, cookie/1, + opaque/1]). -define(TTL, (30 * 60)). % 30 minutes @@ -66,7 +67,7 @@ gen_server:call(?MODULE, stop, infinity). -%% We are bending over here in our pursuit of finding a +%% We are bending over backwards here in our pursuit of finding a %% proper ysession_server backend. get_yaws_session_server_backend() -> #gconf{ysession_mod = DefaultBackend} = #gconf{}, @@ -373,9 +374,12 @@ cookie(Y) -> Y#ysession.cookie. +opaque(Y) -> + Y#ysession.opaque. + %% Backend callbacks (ETS as default) -init_backend (_) -> +init_backend(_) -> ets:new(?MODULE, [set, named_table, public, {keypos, 2}]). stop_backend() -> diff -Nru yaws-2.0.6+dfsg/src/yaws_sup.erl yaws-2.0.7+dfsg/src/yaws_sup.erl --- yaws-2.0.6+dfsg/src/yaws_sup.erl 2017-01-27 15:41:40.000000000 +0000 +++ yaws-2.0.7+dfsg/src/yaws_sup.erl 2019-07-14 13:01:11.000000000 +0000 @@ -18,8 +18,6 @@ -export([init/1]). -export([get_app_args/0, child_specs/0]). --import(lists, [member/2]). - %%%---------------------------------------------------------------------- %%% API %%%---------------------------------------------------------------------- @@ -74,14 +72,14 @@ AS=init:get_arguments(), Debug = case application:get_env(yaws, debug) of undefined -> - member({yaws, ["debug"]}, AS); + lists:member({yaws, ["debug"]}, AS); {ok, Val} -> Val end, Trace = case application:get_env(yaws, trace) of undefined -> - case {member({yaws, ["trace", "http"]}, AS), - member({yaws, ["trace", "traffic"]}, AS)} of + case {lists:member({yaws, ["trace", "http"]}, AS), + lists:member({yaws, ["trace", "traffic"]}, AS)} of {true, _} -> {true, http}; {_, true} -> @@ -98,7 +96,7 @@ end, TraceOutput = case application:get_env(yaws, traceoutput) of undefined -> - member({yaws, ["traceoutput"]}, AS); + lists:member({yaws, ["traceoutput"]}, AS); {ok, Val3} -> Val3 end, @@ -130,8 +128,8 @@ end, Enc = case application:get_env(yaws, encoding) of undefined -> - case {member({yaws, ["encoding", "latin1"]}, AS), - member({yaws, ["encoding", "unicode"]}, AS)} of + case {lists:member({yaws, ["encoding", "latin1"]}, AS), + lists:member({yaws, ["encoding", "unicode"]}, AS)} of {true, _} -> latin1; {_, true} -> unicode; _ -> latin1 diff -Nru yaws-2.0.6+dfsg/src/yaws_sup_restarts.erl yaws-2.0.7+dfsg/src/yaws_sup_restarts.erl --- yaws-2.0.6+dfsg/src/yaws_sup_restarts.erl 2016-07-03 10:01:00.000000000 +0000 +++ yaws-2.0.7+dfsg/src/yaws_sup_restarts.erl 2019-07-14 13:01:11.000000000 +0000 @@ -32,25 +32,9 @@ YawsRSS = {yaws_rss, {yaws_rss, start_link, []}, permanent, 5000, worker, [yaws_rss]}, - - YawsEventManager = {yaws_event_manager, {gen_event, start_link,[{local,yaws_event_manager}]}, permanent, 5000, worker, [gen_event]}, - - - %% below, ignore dialyzer warning: - %% "The pattern 'false' can never match the type 'true'" - SendFile = case yaws_sendfile:have_sendfile() of - true -> - [{yaws_sendfile, - {yaws_sendfile, start_link, []}, - permanent, 5000, worker, [yaws_sendfile]}]; - false -> - [] - end, - - - {ok,{{one_for_one, 1, 60}, [Sess, YawsRSS, YawsEventManager] ++ SendFile}}. + {ok,{{one_for_one, 1, 60}, [Sess, YawsRSS, YawsEventManager]}}. diff -Nru yaws-2.0.6+dfsg/testsuite/auth_SUITE_data/authmodtest.erl yaws-2.0.7+dfsg/testsuite/auth_SUITE_data/authmodtest.erl --- yaws-2.0.6+dfsg/testsuite/auth_SUITE_data/authmodtest.erl 1970-01-01 00:00:00.000000000 +0000 +++ yaws-2.0.7+dfsg/testsuite/auth_SUITE_data/authmodtest.erl 2019-07-14 13:01:11.000000000 +0000 @@ -0,0 +1,15 @@ +-module(authmodtest). +-export([auth/2]). + +-include("../../include/yaws.hrl"). +-include("../../include/yaws_api.hrl"). + + +auth(#arg{}=Arg, #auth{}) -> + H = Arg#arg.headers, + case H#headers.authorization of + {"foo", "bar", _} -> + true; + _ -> + false + end. diff -Nru yaws-2.0.6+dfsg/testsuite/auth_SUITE_data/outmodtest.erl yaws-2.0.7+dfsg/testsuite/auth_SUITE_data/outmodtest.erl --- yaws-2.0.6+dfsg/testsuite/auth_SUITE_data/outmodtest.erl 1970-01-01 00:00:00.000000000 +0000 +++ yaws-2.0.7+dfsg/testsuite/auth_SUITE_data/outmodtest.erl 2019-07-14 13:01:11.000000000 +0000 @@ -0,0 +1,13 @@ +-module(outmodtest). +-export([auth/2, out401/3]). + +-include("../../include/yaws.hrl"). +-include("../../include/yaws_api.hrl"). + + +auth(#arg{}, #auth{}) -> + {appmod, ?MODULE}. + +out401(#arg{}, #auth{}, Realm) -> + [{status, 200}, {header, "X-Outmod-Test: true"}, + {content, "text/plain", Realm}]. diff -Nru yaws-2.0.6+dfsg/testsuite/auth_SUITE_data/rewritetest.erl yaws-2.0.7+dfsg/testsuite/auth_SUITE_data/rewritetest.erl --- yaws-2.0.6+dfsg/testsuite/auth_SUITE_data/rewritetest.erl 1970-01-01 00:00:00.000000000 +0000 +++ yaws-2.0.7+dfsg/testsuite/auth_SUITE_data/rewritetest.erl 2019-07-14 13:01:11.000000000 +0000 @@ -0,0 +1,29 @@ +-module(rewritetest). +-export([arg_rewrite/1]). + +-include("../../include/yaws_api.hrl"). + + +arg_rewrite(Arg) -> + Url = yaws_api:request_url(Arg), + io:format("~p~n", [Url]), + case Url#url.path of + "/test11_1/" ++ Rest -> + Req0 = Arg#arg.req, + Req1 = Req0#http_request{path={abs_path,"/test1/" ++ Rest}}, + Arg#arg{req=Req1}; + "/test11_2/" ++ Rest -> + Req0 = Arg#arg.req, + Req1 = Req0#http_request{path={abs_path,"/test1/" ++ Rest}}, + Arg#arg{req=Req1}; + "/test11_3/" ++ Rest -> + Req0 = Arg#arg.req, + Req1 = Req0#http_request{path={abs_path,"/test1/" ++ Rest}}, + Arg#arg{req=Req1}; + "/test11_4/" ++ Rest -> + Req0 = Arg#arg.req, + Req1 = Req0#http_request{path={abs_path,"/test7/" ++ Rest}}, + Arg#arg{req=Req1}; + _ -> + Arg + end. diff -Nru yaws-2.0.6+dfsg/testsuite/auth_SUITE_data/templates/yaws.conf yaws-2.0.7+dfsg/testsuite/auth_SUITE_data/templates/yaws.conf --- yaws-2.0.6+dfsg/testsuite/auth_SUITE_data/templates/yaws.conf 1970-01-01 00:00:00.000000000 +0000 +++ yaws-2.0.7+dfsg/testsuite/auth_SUITE_data/templates/yaws.conf 2019-07-14 13:01:11.000000000 +0000 @@ -0,0 +1,157 @@ +logdir = $logdir$ + +ebin_dir = $data_builddir$ + +trace = false +copy_error_log = true +log_wrap_size = 1000000 +log_resolve_hostname = false +fail_on_bind_err = true +pick_first_virthost_on_nomatch = true +keepalive_timeout = 10000 + + + port = $yaws_port1$ + listen = 127.0.0.1 + deflate = true + docroot = $data_srcdir$/www1 $data_srcdir$/www2 + arg_rewrite_mod = rewritetest + + + # Auth needed to access to test1 in www2, + realm = test1 + dir = /test1 + user = foo:bar + user = "foo:{sha256}szTXjROUAlPTDWcL0pxczKpZCGFPK0W5qa0EAkp8l5Q=" #sha256baz + user = "foo:{md5}C5GxiXRrcq9Eih5W1CqNaA==" #md5baz + user = "foo:{sha256}$WaKEFH0eG+l60yB2VpaIp+27flw6Hhm2NLrnV/mZopA=$x0RbTgVEu0QiL/DRvtoXRYcU6hfX/Ir3LPkwVJLjwBw=" #sha256baz_with_salt + + + + # Auth needed to access to test2/a.txt in www1, + # but not for test2/b.txt in www2, + docroot = $data_srcdir$/www1 + realm = test2 + dir = /test2 + user = foo:bar + + + + # Auth needed to access to test3 in www1, + # and all subdirs + realm = test3 + dir = /test3 + user = foo:bar + + + + # Use authmod to authenticate users + realm = test4 + dir = /test4 + authmod = authmodtest + + + + # Use authmod to authenticate users, + # it will set the outmod to handle 401 output + realm = test5 + dir = /test5 + authmod = outmodtest + + + + # because of order value, 127.0.0.1 is authorized + realm = test6 + dir = /test6 + deny = all + allow = 127.0.0.1 + order = deny,allow + + + + # because of order value, 127.0.0.1 is denied + realm = test7_1 + dir = /test7 + deny = all + allow = 127.0.0.1 + order = allow,deny + + + + # Override previous test to authorized 127.0.0.1 + # (deny target was removed) + realm = test7_2 + dir = /test7/b.txt + allow = 127.0.0.1 + order = allow,deny + + + + # because of order value, all ips are denied + # (no allow or deny target) + realm = test8_1 + dir = /test8/a.txt + order = allow,deny + + + + # because of order value, all ips are authorized + # (no allow or deny target) + realm = test8_2 + dir = /test8/b.txt + order = deny,allow + + + + # Use many auth method: authmod + basic auth + acls + # authorized is Ip=127.0.0.1 and user:pass == foo:baz + realm = test9 + dir = /test9 + authmod = authmodtest # return false is user:pass != foo:bar + user = foo:baz + deny = all + allow = 127.0.0.1 + order = deny,allow + + + # /test11_1 is redirected to /test1. There is no check for /test11_1, so + # only those on /test1 are applied. + + + # /test11_2 is redirected to /test1. So check /test11_2 and /test1: + # - Only user foo:bar can access to /test11_2 + # - Only user foo:bar can access to /test1 + # + # => Requests to /test11_2 are always accepted for user foo:bar and + # denied for everybody else. + realm = test11_2 + dir = /test11_2 + user = foo:bar + + + + # /test11_3 is redirected to /test1. So check /test11_3 and /test1: + # - Only user foo:baz can access to /test11_3 + # - Only user foo:bar can access to /test1 + # + # => Requests to /test11_3 are always rejected + # (same user, different password) + realm = test11_3 + dir = /test11_3 + user = foo:baz + + + + # /test11_4 is redirected to /test7. So check /test11_4 and /test7: + # - Only user foo:bar can access to /test11_4 + # - /test7/a.txt is forbidden for 127.0.0.1 + # - /test7/b.txt is authorized for 127.0.0.1 + # + # => Requests to /test11_4/a.txt coming from 127.0.0.1 are rejected + # => Requests to /test11_4/b.txt coming from 127.0.0.1 are accepted + # for user foo:bar only + realm = test11_4 + dir = /test11_4 + user = foo:bar + + diff -Nru yaws-2.0.6+dfsg/testsuite/auth_SUITE_data/www1/test10/.yaws_auth yaws-2.0.7+dfsg/testsuite/auth_SUITE_data/www1/test10/.yaws_auth --- yaws-2.0.6+dfsg/testsuite/auth_SUITE_data/www1/test10/.yaws_auth 1970-01-01 00:00:00.000000000 +0000 +++ yaws-2.0.7+dfsg/testsuite/auth_SUITE_data/www1/test10/.yaws_auth 2019-07-14 13:01:11.000000000 +0000 @@ -0,0 +1,8 @@ +%% only check authorization for a.txt and b.txt +{realm, "test10"}. +{file, "a.txt"}. +{file, "b.txt"}. +{"foo", "bar"}. +{"foo", "sha256", "szTXjROUAlPTDWcL0pxczKpZCGFPK0W5qa0EAkp8l5Q="}. %% sha256baz +{"foo", "md5", "C5GxiXRrcq9Eih5W1CqNaA=="}. %% md5baz +{"foo", "sha256", "WaKEFH0eG+l60yB2VpaIp+27flw6Hhm2NLrnV/mZopA=", "x0RbTgVEu0QiL/DRvtoXRYcU6hfX/Ir3LPkwVJLjwBw="}. %% sha256baz_with_salt diff -Nru yaws-2.0.6+dfsg/testsuite/auth_SUITE.erl yaws-2.0.7+dfsg/testsuite/auth_SUITE.erl --- yaws-2.0.6+dfsg/testsuite/auth_SUITE.erl 1970-01-01 00:00:00.000000000 +0000 +++ yaws-2.0.7+dfsg/testsuite/auth_SUITE.erl 2019-07-14 13:01:11.000000000 +0000 @@ -0,0 +1,256 @@ +-module(auth_SUITE). + +-include("testsuite.hrl"). + +-compile(export_all). + +all() -> + [ + basic_auth, + basic_auth_with_docroot, + basic_auth_subdirs, + auth_with_authmod, + auth_with_authmod_and_out401, + auth_ip_deny_all_but_allow_loopback, + auth_ip_allow_loopback_but_deny_all, + auth_ip_allow_loopback_and_deny_nothing, + auth_ip_nomatch_allow_deny, + auth_ip_nomatch_deny_allow, + auth_ip_and_basic_auth_or_auth_mod, + yaws_auth_hidden_file, + auth_on_redirect + ]. + +groups() -> + [ + ]. + +%%==================================================================== +init_per_suite(Config) -> + Id = "testsuite-server", + YConf = filename:join(?tempdir(?MODULE), "yaws.conf"), + application:load(yaws), + application:set_env(yaws, id, Id), + application:set_env(yaws, conf, YConf), + ok = yaws:start(), + [{yaws_id, Id}, {yaws_config, YConf} | Config]. + +end_per_suite(_Config) -> + ok = application:stop(yaws), + ok = application:unload(yaws), + ok. + +init_per_group(_Group, Config) -> + Config. + +end_per_group(_Group, _Config) -> + ok. + +init_per_testcase(_Test, Config) -> + Config. + +end_per_testcase(_Test, _Config) -> + ok. + +%%==================================================================== +basic_auth(Config) -> + Port = testsuite:get_yaws_port(1, Config), + Url = testsuite:make_url(http, "127.0.0.1", Port, "/test1/a.txt"), + Auth1 = auth_header("foo", "baz"), + Auth2 = auth_header("foo", "bar"), + Auth3 = auth_header("foo", "sha256baz"), + Auth4 = auth_header("foo", "md5baz"), + Auth5 = auth_header("foo", "sha256baz_with_salt"), + + {ok, {StatusLine, Hdrs, _}} = testsuite:http_get(Url), + ?assertMatch({_, 401, _}, StatusLine), + ?assertEqual("Basic realm=\"test1\"", proplists:get_value("www-authenticate", Hdrs)), + + ?assertMatch({ok, {{_,401,_}, _, _}}, testsuite:http_get(Url, [Auth1])), + ?assertMatch({ok, {{_,200,_}, _, _}}, testsuite:http_get(Url, [Auth2])), + ?assertMatch({ok, {{_,200,_}, _, _}}, testsuite:http_get(Url, [Auth3])), + ?assertMatch({ok, {{_,200,_}, _, _}}, testsuite:http_get(Url, [Auth4])), + ?assertMatch({ok, {{_,200,_}, _, _}}, testsuite:http_get(Url, [Auth5])), + ok. + +basic_auth_with_docroot(Config) -> + Port = testsuite:get_yaws_port(1, Config), + Url1 = testsuite:make_url(http, "127.0.0.1", Port, "/test2/a.txt"), + Url2 = testsuite:make_url(http, "127.0.0.1", Port, "/test2/b.txt"), + + {ok, {StatusLine, Hdrs, _}} = testsuite:http_get(Url1), + ?assertMatch({_, 401, _}, StatusLine), + ?assertEqual("Basic realm=\"test2\"", proplists:get_value("www-authenticate", Hdrs)), + + ?assertMatch({ok, {{_,200,_}, _, _}}, testsuite:http_get(Url2)), + ok. + +basic_auth_subdirs(Config) -> + Port = testsuite:get_yaws_port(1, Config), + Url = testsuite:make_url(http, "127.0.0.1", Port, "/test3/sub/a.txt"), + Auth = auth_header("foo", "bar"), + + {ok, {StatusLine, Hdrs, _}} = testsuite:http_get(Url), + ?assertMatch({_, 401, _}, StatusLine), + ?assertEqual("Basic realm=\"test3\"", proplists:get_value("www-authenticate", Hdrs)), + + ?assertMatch({ok, {{_,200,_}, _, _}}, testsuite:http_get(Url, [Auth])), + ok. + +auth_with_authmod(Config) -> + Port = testsuite:get_yaws_port(1, Config), + Url = testsuite:make_url(http, "127.0.0.1", Port, "/test4/a.txt"), + Auth = auth_header("foo", "bar"), + + {ok, {StatusLine, Hdrs, _}} = testsuite:http_get(Url), + ?assertMatch({_, 401, _}, StatusLine), + ?assertEqual("Basic realm=\"test4\"", proplists:get_value("www-authenticate", Hdrs)), + + ?assertMatch({ok, {{_,200,_}, _, _}}, testsuite:http_get(Url, [Auth])), + ok. + +auth_with_authmod_and_out401(Config) -> + Port = testsuite:get_yaws_port(1, Config), + Url = testsuite:make_url(http, "127.0.0.1", Port, "/test5/a.txt"), + + {ok, {StatusLine, Hdrs, _}} = testsuite:http_get(Url), + ?assertMatch({_, 200, _}, StatusLine), + ?assertEqual("Basic realm=\"test5\"", proplists:get_value("www-authenticate", Hdrs)), + ?assertEqual("true", proplists:get_value("x-outmod-test", Hdrs)), + ok. + +auth_ip_deny_all_but_allow_loopback(Config) -> + Port = testsuite:get_yaws_port(1, Config), + Url = testsuite:make_url(http, "127.0.0.1", Port, "/test6/a.txt"), + + ?assertMatch({ok, {{_,200,_}, _, _}}, testsuite:http_get(Url)), + ok. + +auth_ip_allow_loopback_but_deny_all(Config) -> + Port = testsuite:get_yaws_port(1, Config), + Url = testsuite:make_url(http, "127.0.0.1", Port, "/test7/a.txt"), + + ?assertMatch({ok, {{_,403,_}, _, _}}, testsuite:http_get(Url)), + ok. + +auth_ip_allow_loopback_and_deny_nothing(Config) -> + Port = testsuite:get_yaws_port(1, Config), + Url = testsuite:make_url(http, "127.0.0.1", Port, "/test7/b.txt"), + + ?assertMatch({ok, {{_,200,_}, _, _}}, testsuite:http_get(Url)), + ok. + +auth_ip_nomatch_allow_deny(Config) -> + Port = testsuite:get_yaws_port(1, Config), + Url = testsuite:make_url(http, "127.0.0.1", Port, "/test8/a.txt"), + + ?assertMatch({ok, {{_,403,_}, _, _}}, testsuite:http_get(Url)), + ok. + +auth_ip_nomatch_deny_allow(Config) -> + Port = testsuite:get_yaws_port(1, Config), + Url = testsuite:make_url(http, "127.0.0.1", Port, "/test8/b.txt"), + + ?assertMatch({ok, {{_,200,_}, _, _}}, testsuite:http_get(Url)), + ok. + +auth_ip_and_basic_auth_or_auth_mod(Config) -> + Port = testsuite:get_yaws_port(1, Config), + Url = testsuite:make_url(http, "127.0.0.1", Port, "/test9/a.txt"), + Auth1 = auth_header("foo", "bar"), + Auth2 = auth_header("foo", "baz"), + + {ok, {StatusLine, Hdrs, _}} = testsuite:http_get(Url), + ?assertMatch({_, 401, _}, StatusLine), + ?assertEqual("Basic realm=\"test9\"", proplists:get_value("www-authenticate", Hdrs)), + + ?assertMatch({ok, {{_,200,_}, _, _}}, testsuite:http_get(Url, [Auth1])), + + ?assertMatch({ok, {{_,200,_}, _, _}}, testsuite:http_get(Url, [Auth2])), + ok. + +yaws_auth_hidden_file(Config) -> + Port = testsuite:get_yaws_port(1, Config), + Url1 = testsuite:make_url(http, "127.0.0.1", Port, "/test10/a.txt"), + Url2 = testsuite:make_url(http, "127.0.0.1", Port, "/test10/b.txt"), + Url3 = testsuite:make_url(http, "127.0.0.1", Port, "/test10/c.txt"), + Auth1 = auth_header("foo", "baz"), + Auth2 = auth_header("foo", "bar"), + Auth3 = auth_header("foo", "sha256baz"), + Auth4 = auth_header("foo", "md5baz"), + Auth5 = auth_header("foo", "sha256baz_with_salt"), + + {ok, {StatusLine1, Hdrs1, _}} = testsuite:http_get(Url1), + ?assertMatch({_, 401, _}, StatusLine1), + ?assertEqual("Basic realm=\"test10\"", proplists:get_value("www-authenticate", Hdrs1)), + + ?assertMatch({ok, {{_,401,_}, _, _}}, testsuite:http_get(Url1, [Auth1])), + ?assertMatch({ok, {{_,200,_}, _, _}}, testsuite:http_get(Url1, [Auth2])), + ?assertMatch({ok, {{_,200,_}, _, _}}, testsuite:http_get(Url1, [Auth3])), + ?assertMatch({ok, {{_,200,_}, _, _}}, testsuite:http_get(Url1, [Auth4])), + ?assertMatch({ok, {{_,200,_}, _, _}}, testsuite:http_get(Url1, [Auth5])), + + {ok, {StatusLine2, Hdrs2, _}} = testsuite:http_get(Url2), + ?assertMatch({_, 401, _}, StatusLine2), + ?assertEqual("Basic realm=\"test10\"", proplists:get_value("www-authenticate", Hdrs2)), + + ?assertMatch({ok, {{_,401,_}, _, _}}, testsuite:http_get(Url2, [Auth1])), + ?assertMatch({ok, {{_,200,_}, _, _}}, testsuite:http_get(Url2, [Auth2])), + ?assertMatch({ok, {{_,200,_}, _, _}}, testsuite:http_get(Url2, [Auth3])), + ?assertMatch({ok, {{_,200,_}, _, _}}, testsuite:http_get(Url2, [Auth4])), + ?assertMatch({ok, {{_,200,_}, _, _}}, testsuite:http_get(Url2, [Auth5])), + + ?assertMatch({ok, {{_,200,_}, _, _}}, testsuite:http_get(Url3)), + ok. + +auth_on_redirect(Config) -> + Port = testsuite:get_yaws_port(1, Config), + Url1 = testsuite:make_url(http, "127.0.0.1", Port, "/test11_1/a.txt"), + Url2 = testsuite:make_url(http, "127.0.0.1", Port, "/test11_2/a.txt"), + Url3 = testsuite:make_url(http, "127.0.0.1", Port, "/test11_3/a.txt"), + Url4_1 = testsuite:make_url(http, "127.0.0.1", Port, "/test11_4/a.txt"), + Url4_2 = testsuite:make_url(http, "127.0.0.1", Port, "/test11_4/b.txt"), + Auth1 = auth_header("foo", "bar"), + Auth2 = auth_header("foo", "bar"), + Auth3_2 = auth_header("foo", "bar"), + Auth3_3 = auth_header("foo", "baz"), + Auth4_2 = auth_header("foo", "bar"), + + {ok, {StatusLine1, Hdrs1, _}} = testsuite:http_get(Url1), + ?assertMatch({_, 401, _}, StatusLine1), + ?assertEqual("Basic realm=\"test1\"", proplists:get_value("www-authenticate", Hdrs1)), + + ?assertMatch({ok, {{_,200,_}, _, _}}, testsuite:http_get(Url1, [Auth1])), + + {ok, {StatusLine2, Hdrs2, _}} = testsuite:http_get(Url2), + ?assertMatch({_, 401, _}, StatusLine2), + ?assertEqual("Basic realm=\"test11_2\"", proplists:get_value("www-authenticate", Hdrs2)), + + ?assertMatch({ok, {{_,200,_}, _, _}}, testsuite:http_get(Url2, [Auth2])), + + + {ok, {StatusLine3_1, Hdrs3_1, _}} = testsuite:http_get(Url3), + ?assertMatch({_, 401, _}, StatusLine3_1), + ?assertEqual("Basic realm=\"test11_3\"", proplists:get_value("www-authenticate", Hdrs3_1)), + + {ok, {StatusLine3_2, Hdrs3_2, _}} = testsuite:http_get(Url3, [Auth3_2]), + ?assertMatch({_, 401, _}, StatusLine3_2), + ?assertEqual("Basic realm=\"test11_3\"", proplists:get_value("www-authenticate", Hdrs3_2)), + + {ok, {StatusLine3_3, Hdrs3_3, _}} = testsuite:http_get(Url3, [Auth3_3]), + ?assertMatch({_, 401, _}, StatusLine3_3), + ?assertEqual("Basic realm=\"test1\"", proplists:get_value("www-authenticate", Hdrs3_3)), + + ?assertMatch({ok, {{_,403,_}, _, _}}, testsuite:http_get(Url4_1)), + + {ok, {StatusLine4_2, Hdrs4_2, _}} = testsuite:http_get(Url4_2), + ?assertMatch({_, 401, _}, StatusLine4_2), + ?assertEqual("Basic realm=\"test11_4\"", proplists:get_value("www-authenticate", Hdrs4_2)), + + ?assertMatch({ok, {{_,200,_}, _, _}}, testsuite:http_get(Url4_2, [Auth4_2])), + ok. + +%%==================================================================== +auth_header(User, Pass) -> + Encoded = base64:encode_to_string(lists:append([User,":",Pass])), + {"Authorization","Basic " ++ Encoded}. diff -Nru yaws-2.0.6+dfsg/testsuite/config_encoding_SUITE_data/templates/yaws_unicode.conf yaws-2.0.7+dfsg/testsuite/config_encoding_SUITE_data/templates/yaws_unicode.conf --- yaws-2.0.6+dfsg/testsuite/config_encoding_SUITE_data/templates/yaws_unicode.conf 1970-01-01 00:00:00.000000000 +0000 +++ yaws-2.0.7+dfsg/testsuite/config_encoding_SUITE_data/templates/yaws_unicode.conf 2019-07-14 13:01:11.000000000 +0000 @@ -0,0 +1,19 @@ +logdir = $logdir$ + +ebin_dir = $data_builddir$ + +trace = false +copy_error_log = true +log_wrap_size = 1000000 +log_resolve_hostname = false +fail_on_bind_err = true +pick_first_virthost_on_nomatch = true +keepalive_timeout = 10000 + + + listen = 127.0.0.1 + port = $yaws_port1$ + deflate = true + auth_log = true + docroot = "$data_srcdir$/ẅẅẅ" + diff -Nru yaws-2.0.6+dfsg/testsuite/config_encoding_SUITE.erl yaws-2.0.7+dfsg/testsuite/config_encoding_SUITE.erl --- yaws-2.0.6+dfsg/testsuite/config_encoding_SUITE.erl 1970-01-01 00:00:00.000000000 +0000 +++ yaws-2.0.7+dfsg/testsuite/config_encoding_SUITE.erl 2019-07-14 13:01:11.000000000 +0000 @@ -0,0 +1,57 @@ +-module(config_encoding_SUITE). + +-include("testsuite.hrl"). + +-compile(export_all). + +all() -> + [ + bad_encoding, + good_encoding + ]. + +groups() -> + [ + ]. + +%%==================================================================== +init_per_suite(Config) -> + Config. + +end_per_suite(_Config) -> + ok. + +init_per_group(_Group, Config) -> + Config. + +end_per_group(_Group, _Config) -> + ok. + +init_per_testcase(_Test, Config) -> + Config. + +end_per_testcase(_Test, _Config) -> + ok. + +%%==================================================================== +bad_encoding(_Config) -> + Enc = case file:native_name_encoding() of + latin1 -> unicode; + utf8 -> latin1 + end, + Env = #env{debug = false, + encoding = Enc, + conf = {file, ?tempdir(?MODULE) ++ "/yaws_unicode.conf"}}, + {error, _} = yaws_config:load(Env), + ok. + +good_encoding(_Config) -> + Enc = case file:native_name_encoding() of + latin1 -> latin1; + utf8 -> unicode + end, + Env = #env{debug = false, + encoding = Enc, + conf = {file, ?tempdir(?MODULE) ++ "/yaws_unicode.conf"}}, + {ok, _, _} = yaws_config:load(Env), + ok. diff -Nru yaws-2.0.6+dfsg/testsuite/cookies_SUITE_data/cookies.dump yaws-2.0.7+dfsg/testsuite/cookies_SUITE_data/cookies.dump --- yaws-2.0.6+dfsg/testsuite/cookies_SUITE_data/cookies.dump 1970-01-01 00:00:00.000000000 +0000 +++ yaws-2.0.7+dfsg/testsuite/cookies_SUITE_data/cookies.dump 2019-07-14 13:01:11.000000000 +0000 @@ -0,0 +1,40 @@ +3vvc=1; 3_idz=4A%2FVxQ%2B0m1AlCavMdUmzFb9RGt1qWYceCgzWgJeT0QG5Ce8crypiNLNEElsYFHwBEuKEhoFZwBXjaXf9lKQ4k912Cu%2Bp6nJ9WPNVRlkFXNDuQVeBnpkkWQinDKUjpFNT41%2F9OcqmarsuZBWUVP6S699FeCW7; vuid=906400c82ea25016b2569e01703b3f9a4ffbf9553d6dd; 3_idzp=%7B%22lastseen%22%3A0%2C%22site_id%22%3A3%2C%22chatcount%22%3A0%2C%22nbrVisite%22%3A0%2C%22ip%22%3A%2246.255.176.2%22%2C%22country%22%3Anull%2C%22country_name%22%3A%22%22%2C%22city%22%3A%22%22%2C%22lat%22%3Anull%2C%22long%22%3Anull%2C%22lang%22%3A%22fr%22%2C%22visitorname%22%3A%22+%22%2C%22extID%22%3Anull%2C%22pageview%22%3A4%2C%22connectionTime%22%3A1341913429%2C%22navTime%22%3A20000%2C%22actualURI%22%3A%22http%3A%5C%2F%5C%2Flivre.fnac.com%5C%2Fa4026148%5C%2FLe-trone-de-fer-Game-of-thrones-T13-Le-bucher-d-un-roi-George-R-R-Martin%22%2C%22origin_site%22%3A%22%22%2C%22origin%22%3A%22direct%22%2C%22refengine%22%3A%22%22%2C%22refkeyword%22%3A%22%22%2C%22timeElapsed%22%3A0.33%7D; 3_idzlast=1341913449 +68vvc=1; 68_idz=Rp8OauLnfFEYqsY0FcfvxfMU3x8jstZQfIet8PDzo3xkP1reo9GH3wWadbRJGgcwYR%2BbAYJbM1SB2iue8UiNIPfVnjPOAndFl999m7fcHpYdopNLNPUlq64IOEy%2BTX%2Bts%2FdVWR0wp2rtnWQDNVejKQetQHnN; vuid=da6acda6b16e635d10b7ab70759a5faa4ffbf94404b7c; 68_idzp=%7B%22lastseen%22%3A0%2C%22site_id%22%3A68%2C%22chatcount%22%3A0%2C%22nbrVisite%22%3A0%2C%22ip%22%3A%2246.255.176.2%22%2C%22country%22%3Anull%2C%22country_name%22%3A%22%22%2C%22city%22%3A%22%22%2C%22lat%22%3Anull%2C%22long%22%3Anull%2C%22lang%22%3A%22fr%22%2C%22visitorname%22%3A%22+%22%2C%22extID%22%3Anull%2C%22pageview%22%3A3%2C%22connectionTime%22%3A1341913412%2C%22navTime%22%3A9000%2C%22actualURI%22%3A%22http%3A%5C%2F%5C%2Fwww.rueducommerce.fr%5C%2FTelephonie%5C%2F478-Smartphone%5C%2F%22%2C%22origin_site%22%3A%22%22%2C%22origin%22%3A%22direct%22%2C%22refengine%22%3A%22%22%2C%22refkeyword%22%3A%22%22%2C%22timeElapsed%22%3A0.15%7D; 68_idzlast=1341913421 +AA002=1341913385-22335145; MUID=29EB989476F9660115E39B0D75F966F8 +AFFICHE_W=aUy-YKwCUpzp80; _adpc=CrbTHaad; _adpp=CrbTHpYTaa; _adpe=CrcgDWa; _advcrea=bbX|bQ7.bRR|a:cb; wousq=_1341965571 +afpperso=nav2012=oldnav&tcp=ok34; afperso=geo=184%2Dfr&nn=1&p%5Fpe=4&tcs=ok34&DomUser=%2Ffr +bh=\ +C4=; D1=; A3=BBKVd1h.0dqg00001BaUid1h.0aok00001APFTd1oO09TQ00000Bmhrd12d03Dp00000Bim0d1h.0erB00001Beysd1h.06kC00001B02ad1h.0dqe00002vVSid5wn0dqj00000; B4=itqq0000000001000000B2iiFw0000000000000000B2iz8I0000000000000000B1fH770000000000000000BeitkN0000000001000000B2iuXe0000000001000000B2im+d0000000002000000B2i6D70000000001000000B2; u2=19c940e9-829f-4c87-bdf8-316d75bf0c483Ou09g +ck=1 +comp=s10936=crtg%3Dtrue +CRITEO=ok; NSC_fd1efm_qppm_iuuq=ffffffff09099ec145525d5f4f58455e445a4a423660 +critg3=1 +crtgmegaban=1; lowcrtgmega=1; crtgpave=1; lowcrtgpave=1 +datr=0cDhT0YwJHnjP-9eYOm69EUN +eptic_cookie=erlangorg@hades-1326360052369809409; __utma=113998419.705123879.1341910693.1341910693.1341910693.1; __utmc=113998419; __utmz=113998419.1341910693.1.1.utmcsr=(direct)|utmccn=(direct)|utmcmd=(none) +e=T@whucCoAMIAACU9KloAAAJO +__gads=ID=21a9c3493f59687e:T=1341913408:S=ALNI_MafqLep2U9d_eVnuZkPO5RZukWBtA; has_js=1; __utma=249856005.1255122414.1341913408.1341913408.1341913408.1; __utmb=249856005.2.10.1341913408; __utmc=249856005; __utmz=249856005.1341913408.1.1.utmcsr=(direct)|utmccn=(direct)|utmcmd=(none) +guest_id=v1%3A134009689441495568; __utma=43838368.1913894811.1340096895.1340096895.1340291004.2; __utmz=43838368.1340096895.1.1.utmcsr=(direct)|utmccn=(direct)|utmcmd=(none) +has_js=1; __utma=249856005.1255122414.1341913408.1341913408.1341913408.1; __utmb=249856005.1.10.1341913408; __utmc=249856005; __utmz=249856005.1341913408.1.1.utmcsr=(direct)|utmccn=(direct)|utmcmd=(none); __gads=ID=21a9c3493f59687e:T=1341913408:S=ALNI_MafqLep2U9d_eVnuZkPO5RZukWBtA +IAASRC=%7C92%3A1344505788%7C +icu=ChIIhN8IEAYYASABKAEw1cOw_wQKEgj-kwcQChgBIAEoATDVw7D_BBDVw7D_BBgA; anj=Kfu=8fG5+^Cxrx)0s]#%2L_'x%SEV/hnK]14FV*PP2>D/kb10I$)L<2etI]'_2pvH'*a'xv:V@/d!5$(9KzOiAmx@5sh78I)HHN/; uuid2=1895376179915936457; sess=1 +id=cd23d784600004d||t=1340099329|et=730|cs=002213fd48cdffc0c5eb7d533f +idrxvr=82475017-B4B8-47BE-9731-24DCF6194D9E +JEB2=4FEC1D2372660E44114E3BEAF010C3B3 +KRTBCOOKIE_277=5114-4918409058730637084; KRTBCOOKIE_257=4743-uid:2c03d2f2-cc75-449e-9d9f-2a0002ae6603; PUBRETARGET=2615_1436521430.2452_1349689786 +lowcrtgmega=1; crtgpave=1; lowcrtgpave=1; crtgmegaban=1 +meld_sess=8c2a50cd-fde4-4570-bbf0-53ad30434207 +NBART=0; FMBasketProductsCount=0; s_ev14=%5B%5B%27FnacAff%27%2C%271341913430091%27%5D%5D; tc_sdauid=1; tc_cj_v2=%5Ecl_%5Dny%5B%5D%5D_mmZZZZZZKMNKSKMNMJKJOZZZ%5Dfc%5De; s_vi=[CS]v1|27FDFCAB05011FC6-600001126012CC17[CE]; __sonar=4918409058730637084; s_cpc=0; LSI=-1=AAB#MDALA#APW8k|B|MDALA|AAaTA; ACT=1; DTN=10%2f07%2f2012+11%3a44%3a07; PID=30; ORGN=FnacAff; OrderInSession=0; ORIGDT=10%2f07%2f2012+11%3a44%3a07; UID=07185ED49-1A26-FE6A-6A98-DB34B9DCC784; SID=82d94861-89d7-a8cf-34e6-826ccbecdaa2; s_cc=true; __utma=147568040.1156537769.1341913430.1341913430.1341913430.1; __utmb=147568040.4.10.1341913430; __utmc=147568040; __utmz=147568040.1341913430.1.1.utmcsr=(direct)|utmccn=(direct)|utmcmd=(none); campaign=FnacAff; s_sq=fnaccomprod%3D%2526pid%253DFA%25253ALIV%25253AFiche%252520Article%2526pidt%253D1%2526oid%253Dhttp%25253A//livre.fnac.com/a4026148/Le-trone-de-fer-Game-of-thrones-T13-Le-bucher-d-un-roi-George-R-R-Mar%2526ot%253DA; Player=0; PlayerPlaying=0 +OACBLOCK=; OACCAP=; OASCCAP=; uid=2c03d2f2-cc75-449e-9d9f-2a0002ae6603; tst=*1UIjtkHbGKaVQiMH9h2VVmw%3d%3d; zob=*19rF3iWM0WAJdLU0SC1aJ6w%3d%3d; dis=*1H4mMZRl%2fiqo1yuqceX30KAeiZodceu34kopHLAOxqygPtqix7bj0n8VYnpC4ZZuWOT%2fyfByaUR6YuGkiAVGn3pV4Ob6ndgv8D3g%2bmV%2bn7Jj%2bsJg8qgCZ%2f%2br6mcQAN4mEhmG8yEr1Q%2fFHoUkmNuBkkXU9YaBTJzVSzZ%2fsNWNH9h6iudNDfO3XOjSpTDref1jJR82AtWiXvEr4cbjW4Ya9DA%3d%3d; uic=*1RagJ%2bQRxyvWRLNqdSaP7xYW95LenV4dLRNRMTSGtfQpxwMjYgolJpbg5SouNxEk57bkuIiku50jjsj1E4DHoYKvKLzZJhglg16bRlyyVLEsPbCk9bA7h87n3eVupyO1aqjqFlWRzSrq%2bmL2744yzd7afdfCQ3iA700TOZrOdILFZHncOXKbggl3d2jtr%2fmWE; evt=*1YD4naks8XoliPm8l1HOgnZ%2fMVR%2brxElZb0ZH3AqPvjy00aGSWsjEV7N2yMxEGv6mFrO%2b5Qt4YBnZlADavsB%2bDw%3d%3d; udc=*1Z3JmtlfKLQPI8Kj%2bhFX5nbonq798hnGSd7H9b5cEUG6zS%2fnVwErgCJQjfXuQo4zX; udi=*1i5M4yCDfR9bz8niqJqh1qQ%3d%3d +phpAds_partner3=eAFTNDKoMTQ2MbQ0NDa3sLAGsU1MDUyBbEVDHBIAKg8LcA%3D%3D +PREF=ID=240bf4725279da0e:U=656d860421b7d298:FF=0:TM=1340809407:LM=1341477495:S=ZAu3CIypVcijK2z8; NID=61=c7mtIPXk0C1oNvhelwzTarx_LV7YA3zfAzRv50sqw1AmIVMnzNR0u-QGvvmZGjM9GyYBI3184EUIPOFk96Ctr978mi91k6k2a9PRco9Jt9Tld1twbJa7YfYR8FkH_kpU +PREF=ID=daec698a6d335fac:U=e4f308a369f6afa1:FF=0:TM=1340180851:LM=1340180852:S=wqAY5KHZDDTgqG-C; NID=61=HEGjgaKRJQ4ULxldhgI-O0Qpk8-7SPvxMsmj6YsJeLQ2KthtQ6oZ09r5JbhpCmdW2cF7FMxk_gl5bYT-dpmjncR5Diws-rlEqoWLdkJKwNdjYXt8w5qvHPKO2E10GFJf +RDC_VISITOR_ID=0159FE71-D18F-4066-B933-2FB39F961633; RDC_VISITE_ID_V2=AE905F80-150E-4A51-953C-D29BC24AB117; CFID=238634555; CFMAGIC=238634555%3A30294847; RDC_VISITE_ID=552456196; xtvrn=$308378$; etuid=HsfIsvrQ2KD7kdXuQNLNpg--; RDC_INTERSTITIAL=interstitiel; et=1; et0=9WEzt.Ng_QO_4I.lc2tpaxPhN.bxac5tD17LbNfUzr4nC2.0Ug0AF1WTcTz0hN3751KuxtXF_634DpnmdGPnrg7Uf3Q3MUaJkrG9GJQRZZgGVg7k890.QkT.vX.d2zM1uneeVpa7hMuMMDDpSQvEhK_jW1lBwfMhpe6flcfmRh4a8VeQbe9R.h18qGk08qt9; __utma=7226029.1048398946.1341913412.1341913412.1341913412.1; __utmb=7226029.4.9.1341913418164; __utmc=7226029; __utmz=7226029.1341913412.1.1.utmcsr=(direct)|utmccn=(direct)|utmcmd=(none) +ruid=592cc2264ffbf9412effb00221957a^1^1341913409^788508674; rsid=CMuNRCnwr4RJFvOudUoCwqBpLKWcxgZprODTJBmN+jd4CMChZh/4S5wOdeVRmsAx2thOzx8Vu3HJcuIkd4IzUZBM4a4xIyWaasWi6suxAaxdPo9e; nus_2307=1.00; csi2=3298098.js^1^1341913410^1341913410&3282012.js^1^1341913409^1341913409; put_2307=eed09d9b-68a5-46c8-85e1-231e745057e7; put_2194=4918409058730637084; csi15=3322954.js^1^1341913779^1341913779; put_2249=CAESEAoWMbcI-VCjsyLJaWwAjEw; put_2245=9176626e-ca74-11e1-9043-00259035d4c0; ses9=16416^1; put_1512=4ffbf942-864c-a661-7ac0-39f6ab1a9717; put_2146=RUIDt4re5wury138c7dwqcq8e7q13tm1pfwijjwfh9zohtp5zekq1jyo%3D%3D%3D%3D; put_2309=RUIDt4re5wury138c7dwqcq8e7q13tm1pfwijjwfh9zohtp5zekq1jyo%3D%3D%3D%3D; put_2211=4612108434589598973; put_2149=2c03d2f2-cc75-449e-9d9f-2a0002ae6603; ses15=14319^3&16416^1; rdk=8475/13710; ses2=13710^2; put_1986=1895376179915936457; put_1430=2682edfe-500d-4496-87b9-a7253582a8f9; au=H4GSTRKR-5HPK-10.42.9.189; put_2596=638666722680058483; put_2025=40430961-c3df-4dce-baf2-cf7776d6f3ac; cd=false; lm=\ +sasd=%24a%3D0t%3B%24cn%3D0%5F0%3B%24isp%3D0%3B%24qc%3D1310896006%3B%24ql%3Dunknown%3B%24qpc%3D75001%3B%24qpp%3D0%3B%24qt%3D184%5F1903%5F42652t; vs=13992=5009023; TestIfCookie=ok; TestIfCookieP=ok; pbwmaj6=y; pbw=%24b%3D16999%3B%24o%3D99999%3B%24sh%3D1024%3B%24sw%3D1600; dyncdn=7; pdomid=60; pid=6225401355325924155 +session-token=7D0Zg+vD5hA+HmZhHNW0JdZh7EVDw7g5rfIBzLxWNHwuOOcI4pw7V8R37ePBlfF/XSCdbvX/92dXFLOg1GQqYW0Nq+rpHH91uXHByaGzSS5RpQ/L9dZhtKKGXWyJxmTHDoNYw8nNUC4sMO3jyVT4ll3BzGoGYF1ZYZPiZXD0m/mSc1oJmMkLlCHX6rw0fwbISjKFANUrWiu8i/3GSQSuoFb6peqoXp6OirSVgGlmDeC0D5GZCAHJEFWnt15B7QSPGC09oAa8y4c=; csm-hit=420.46; ubid-acbfr=275-1998587-8474020; session-id-time=2082754801l; session-id=277-5453710-9941953 +U=63B9CAB9A0C18D5102C9D3C76F1B1756; V=3; D0=@f^ku^FABf^ku^FAD>>^>>; K=@@GF_zDCB>?Vu@? +UID=2153fb78-2.22.48.98-1340901578; UIDR=1340901578 +uid=7992a8c86b636fd6248a20093720bf05; pme=S7QysKquBQA%3D; pma=XdhJjhw5DAXQu%2FgECg0UlX2aAnrjtZdG371VBozky1rlL4rT56CI%2BHo9r98%2FX%2B2fr%2B8fv17j9ePr318%2FLpzP%2BZY8rY2L2uv3f3%2FALOBBcqqkVfDUY03UQRjEV0eUFWAQe88CBWiD3hb72958%2Fzf1MkHVTTk3y%2B9A%2Fznov9mab4EaXSRtWpNEkm4k3aDng9QGMnpJxt%2FzZqZT3v5Z3h5VFgP0gPDXNzY5mRUNTo5SpYtmPflg5ekgTxLZg7%2BOXs8BqrH0pcyoE1RPDuIcs4Ow2ZF1qpKdbDuxBMhYqizIdtb6zV5ZmqODlO1WkUzAdZhttTlylvzGqZyNU%2Bs3Owg%2Bpz0xyW%2BJUpud%2FCoTjdyp9D15yB0rtXvmpO7rg5dqs32grFZq%2FeasJ59u7gmDZU98s%2FuAatQdPp0Hazup5ppUM%2FVQaruoylqiamVFAymr3lcEsqgyZuXKCi9rY2XXqFfiPfFwYCnrjpzozcOsnCMiTjw0ugcmJnM791SvVHqxFRebbzE5ayiDiXFq11GxmdRvWE080PPL%2BXMCtgxOOWugIPfqgU5ezO2aVCXSag5s1t5lxpY70oz2B4NMAJHN2j2LmV7TqGsnB%2F0S2Axm86JVUbUZ1OiiqvfULRzwGWyGgJfg3gz6LKhRcE8H99hFsyKyfYKTeH%2BmsgDtOtN0a8L8%2BbCZFZEDd06w3YI5CuvHhr5oghZVqR3Jbl3s8qCvr161ydxeRC9Ro2EO1eamP%2FeoVjbds9nJm5mOjQc22Ob%2BW%2BqxaePUXb65p%2FeIRWRVxrzvHRObVcb%2B3HT5ZqPs8eFdVKNmT8TByiO7IDnjRgj2Zxz5JAcmbk95cRdgc9lZZBRGRu7N%2FOgX9meklcZmml%2F1vtkvmwnYTM62z9Lc67a5qHrQH%2FXbPAnsM%2FVX9bgRNvldVPVgd4cnzQF%2FPKNcPWST%2FJjUrPfDRRuUoFPRauQuE3ggI3bWduKcaafj1P2Z9nXqr279Gycnq81slcHkXkmmOJnizPLG%2Fm2lyh5RfR9L7o6LFnrKSh2S2zfZPTk%2B9PQ%2Bq15HD8Sb%2FuW68sKMJVsjl6j22UU1FjZDsl%2BSnZzsutzoZfmucSMjW26LpLPy1K8HyVPQjaVmy8RlfMQ56ILqnbs%2FU%2B%2F44xZNdsFpH6hEfcaoMtg9fI059Nmh0ocnzmtlVyvocf8dnsFO%2FYL2bWUgqx64N%2B%2FJU08ioz8PXXf4jnKZaDUj%2FHEHHCp9eLJKN8qJ4OQm6gUKYpmgrCfrt6Ar62SEHtUcU5vkTn7spcO3izM%2BcqfuzaokJ4McQNOq4H3Qrdad3BcnJ0xM9frffrl%2F%2FwM%3D; pmc2=MzBAAoYGgwkAAA%3D%3D +__utma=249856005.1255122414.1341913408.1341913408.1341913408.1; __utmb=249856005.1.10.1341913408; __utmc=249856005; __utmz=249856005.1341913408.1.1.utmcsr=(direct)|utmccn=(direct)|utmcmd=(none); __gads=ID=21a9c3493f59687e:T=1341913408:S=ALNI_MafqLep2U9d_eVnuZkPO5RZukWBtA +vs=13992=5009023; TestIfCookie=ok; TestIfCookieP=ok; pbwmaj6=y; pbw=%24b%3D16999%3B%24o%3D99999%3B%24sh%3D1024%3B%24sw%3D1600; dyncdn=7; sasd=%24a%3D0t%3B%24cn%3D0%5F0%3B%24isp%3D0%3B%24qc%3D1310896006%3B%24ql%3Dunknown%3B%24qpc%3D75001%3B%24qpp%3D0%3B%24qt%3D184%5F1903%5F42652t; pdomid=60; pid=6225401355325924155 diff -Nru yaws-2.0.6+dfsg/testsuite/cookies_SUITE_data/setcookies.dump yaws-2.0.7+dfsg/testsuite/cookies_SUITE_data/setcookies.dump --- yaws-2.0.6+dfsg/testsuite/cookies_SUITE_data/setcookies.dump 1970-01-01 00:00:00.000000000 +0000 +++ yaws-2.0.7+dfsg/testsuite/cookies_SUITE_data/setcookies.dump 2019-07-14 13:01:11.000000000 +0000 @@ -0,0 +1,236 @@ +3_idz=4A%2FVxQ%2B0m1AlCavMdUmzFb9RGt1qWYceCgzWgJeT0QG5Ce8crypiNLNEElsYFHwBEuKEhoFZwBXjaXf9lKQ4k912Cu%2Bp6nJ9WPNVRlkFXNDuQVeBnpkkWQinDKUjpFNT41%2F9OcqmarsuZBWUVP6S699FeCW7; path=/ +3_idzlast=1341913429; expires=Thu, 10-Jul-2014 09:43:49 GMT; path=/ +3_idzp=%7B%22lastseen%22%3A0%2C%22site_id%22%3A3%2C%22chatcount%22%3A0%2C%22nbrVisite%22%3A0%2C%22ip%22%3A%2246.255.176.2%22%2C%22country%22%3Anull%2C%22country_name%22%3A%22%22%2C%22city%22%3A%22%22%2C%22lat%22%3Anull%2C%22long%22%3Anull%2C%22lang%22%3A%22fr%22%2C%22visitorname%22%3A%22+%22%2C%22extID%22%3Anull%2C%22pageview%22%3A1%2C%22connectionTime%22%3A1341913429%2C%22navTime%22%3A1000%2C%22actualURI%22%3A%22http%3A%5C%2F%5C%2Fwww.fnac.com%5C%2F%22%2C%22origin_site%22%3A%22%22%2C%22origin%22%3A%22direct%22%2C%22refengine%22%3A%22%22%2C%22refkeyword%22%3A%22%22%7D; path=/ +3_idz=QxQZv0%2FdKcoPFQz2soqlV99hxSRsrFzFCKoJl7yQNpF7ZfPA7stTFLFZekX%2Fg4ZwfqCa2UGu6PBt%2F%2BG7TYvUMcb9Szi09LcQlMGGNB1A2wPYbdjtIIQA5aKImYUDeh4sJFSQnGW76I9FTAKlFDNiqMAFGkfpmQoLi8oIpupzG02gyeavT4Cw5fq4q3h2m4%2FalA%3D%3D; path=/ +3vvc=1; expires=Thu, 10-Jul-2014 09:43:49 GMT; path=/ +68_idzlast=1341913412; expires=Thu, 10-Jul-2014 09:43:32 GMT; path=/ +68_idz=OibaSBYdlGwyj8aTbFGGgPYTNssFAMVioQ8owFaD2KIvHR94A6UIur57pIREK7EUmxv0ytkFcO1orjpoIvEMvCMwtVdIq9NEBz3Vvq%2Bc9%2BQM4J3k9L9XU0NCvZB8zUpHUq0Oe7g7dxSqpl7V0ePPpqsA3oG0eyj%2FeoIiANRjAkxImf2T%2F12kz2jHhpNfQ9%2BGPjk%3D; path=/ +68_idzp=%7B%22lastseen%22%3A0%2C%22site_id%22%3A68%2C%22chatcount%22%3A0%2C%22nbrVisite%22%3A0%2C%22ip%22%3A%2246.255.176.2%22%2C%22country%22%3Anull%2C%22country_name%22%3A%22%22%2C%22city%22%3A%22%22%2C%22lat%22%3Anull%2C%22long%22%3Anull%2C%22lang%22%3A%22fr%22%2C%22visitorname%22%3A%22+%22%2C%22extID%22%3Anull%2C%22pageview%22%3A1%2C%22connectionTime%22%3A1341913412%2C%22navTime%22%3A1000%2C%22actualURI%22%3A%22http%3A%5C%2F%5C%2Fwww.rueducommerce.fr%5C%2Fhome%5C%2Findex.htm%22%2C%22origin_site%22%3A%22%22%2C%22origin%22%3A%22direct%22%2C%22refengine%22%3A%22%22%2C%22refkeyword%22%3A%22%22%7D; path=/ +68_idz=Rp8OauLnfFEYqsY0FcfvxfMU3x8jstZQfIet8PDzo3xkP1reo9GH3wWadbRJGgcwYR%2BbAYJbM1SB2iue8UiNIPfVnjPOAndFl999m7fcHpYdopNLNPUlq64IOEy%2BTX%2Bts%2FdVWR0wp2rtnWQDNVejKQetQHnN; path=/ +68vvc=1; expires=Thu, 10-Jul-2014 09:43:32 GMT; path=/ +a2=AAAAAA==; domain=atemda.com; expires=Sat, 08-Sep-2012 09:43:50 GMT; path=/ +A3=BBKVd1h.0dqg00001APFTd1oO09TQ00000BaUid1h.0aok00001Bmhrd12d03Dp00000Bim0d1h.0erB00001Beysd1h.06kC00001BMXyd5wt0gtl00001B02ad1h.0dqe00002vVSid5wm0dqj00000; expires=Mon, 08-Oct-2012 05:49:54 GMT; domain=.serving-sys.com; path=/ +AA002=1341913385-22335145; expires=Thursday, 10-Jul-2014 00:00:00 GMT; path=/; domain=.atdmt.com +a=c638666722680058483;Path=/;Domain=.rfihub.com;Expires=Sat, 27-Dec-14 09:49:56 GMT +ACID=rR040013419137810010; domain=advertising.com; expires=Thu, 10-Jul-2014 09:49:41 GMT; path=/ +ACT=1; domain=.fnac.com; expires=Sun, 09-Jul-2017 09:44:07 GMT; path=/ +ad-id=A0JZ6M3ZekHSo82QrcyzOyQ; Domain=.amazon-adsystem.com; Expires=Thu, 01-Jan-2037 00:00:01 GMT; Path=/ +_adpc=CrbTHaab; domain=.sfr.solution.weborama.fr; path=/; expires=Sun, 09-Sep-2012 00:04:45 GMT +_adppdiffc_z=eJxlybENACAQAsCFMIGHVxP338vGzvauqOISj93GEJykIFEbxPPM5jcXWKULeA%3D%3D; domain=.aimfar.solution.weborama.fr; path=/; expires=Sat, 08-Sep-2012 09:43:29 GMT +_advcrea=bbX|bQ7.bRR|a:cb; domain=.sfr.solution.weborama.fr; path=/; expires=Fri, 19-Oct-2012 08:51:23 GMT +afpperso=nav2012=oldnav&tcp=ok34; expires=Thu, 07-Jul-2022 22:00:00 GMT; domain=aufeminin.com; path=/ +aisakosId=292a5f46-3010-4a63-88f4-3bce157b746c;Version=0;Comment=aisakosId;Domain=ezakus.net;Path=/;Max-Age=63072000;expires=Thu, 10 Jul 2014 09:43:23 GMT; +anj=Kfu=8fG5+^Cxrx)0s]#%2L_'x%SEV/hnK]14FV*PP2>D/kb10I$)L<2etI]'_2pvH'*a'xv:V@/d!5$(9KzOiAmx@5sh78I)HHN/; path=/; expires=Mon, 08-Oct-2012 09:49:48 GMT; domain=.adnxs.com; HttpOnly +anj=Kfu=8fG68%Cxrx)0s]#%2L_'x%SEV/hnJPh4FV*PP2>D/kb10I$)L<2etI]'_.Y`=d#'PZ.tHxh*=ksu7XN>1(aN+H; path=/; expires=Mon, 08-Oct-2012 09:43:50 GMT; domain=.adnxs.com; HttpOnly +ANONCHK=0; domain=c.fr.msn.com; expires=Fri, 13-Jul-2012 09:43:05 GMT; path=/; +apicit=2f3c1bc3b388a8cdd80f3512246ff556; expires=Wed, 10-Jul-2013 09:43:51 GMT; path=/; domain=.apicit.net +au=H4GSTRKR-5HPK-10.42.9.189; Domain=.rubiconproject.com; Expires=Wed, 08-Jul-2020 09:49:55 GMT; Path=/ +AVPUID=93f6bd2725463d229992aa0fb0f74c33; Expires=Wed, 10-Jul-2013 09:43:42 GMT; Path=/ +B4=iiFw0000000000000000B2itqq0000000001000000B2iz8I0000000000000000B1fH770000000000000000BeiBSe0000000001000000BeitkN0000000001000000B2iuXe0000000001000000B2i6D70000000001000000B2im+d0000000002000000B2; expires=Mon, 08-Oct-2012 05:49:54 GMT; domain=.serving-sys.com; path=/ +bh=\ +bk=CIOGLXV5c/saNx3a; expires=Sun, 06-Jan-2013 09:49:40 GMT; path=/; domain=.bluekai.com +bkc=KJ0fJXe9W1wYyne8Nt2dOi999YzlOWR=; expires=Sun, 06-Jan-2013 09:49:39 GMT; path=/; domain=.bluekai.com +bkc=KJhnWsHQtO41hneNNt2dHQRsCQxQ4f6Wv7XPsMIsCxcm8IHiRBQt7RaCYh/d5uG3wysBftsW0Q4H1wT29SObGcrxIH3z3cycqkEN/w5LCF/O+sz6pQ==; expires=Sun, 06-Jan-2013 09:49:41 GMT; path=/; domain=.bluekai.com +bkc=KJpM8sJQteS5QVcng2dIM9y1eJh94roDPcTYs+deYJDwGZcXKyJ92za1vcyBEkuI9pK3ICQVOGqBDeT9/G6A/Q==; expires=Sun, 06-Jan-2013 09:49:40 GMT; path=/; domain=.bluekai.com +bkdc=snv; expires=Thu, 09-Aug-2012 09:49:39 GMT; path=/; domain=.bluekai.com +bk=ghIu1ufHyEKaNx3a; expires=Sun, 06-Jan-2013 09:49:41 GMT; path=/; domain=.bluekai.com +bklc=4ffbfab4; expires=Thu, 12-Jul-2012 09:49:40 GMT; path=/; domain=.bluekai.com +bko=; expires=Sun, 06-Jan-2013 09:49:39 GMT; path=/; domain=.bluekai.com +bko=KJhnWZPQtwgg+pXM9y9ukQB0; expires=Sun, 06-Jan-2013 09:49:41 GMT; path=/; domain=.bluekai.com +bkp1=; expires=Sun, 06-Jan-2013 09:49:39 GMT; path=/; domain=.bluekai.com +bkst=KJhMRDQxjsOxREOJu6+vLpxh6gDy167VEExp12xNE6yt6eVtEeBnEeJ1+exlBBdbbfzd9whteHW=; expires=Sun, 06-Jan-2013 09:49:41 GMT; path=/; domain=.bluekai.com +bku=lC999nwbI6IzdcAs; expires=Sun, 06-Jan-2013 09:49:39 GMT; path=/; domain=.bluekai.com +bk=vKTNk1V5c/saNx3a; expires=Sun, 06-Jan-2013 09:49:39 GMT; path=/; domain=.bluekai.com +bkw5=; expires=Sun, 06-Jan-2013 09:49:39 GMT; path=/; domain=.bluekai.com +bkw5=KJypisaQSmnxRDoCRs9xjPQjhXe901eJkE3PQxW9BDze6y==; expires=Sun, 06-Jan-2013 09:49:41 GMT; path=/; domain=.bluekai.com +bsuid=%3Eb%29wX-kFDueh%2AZM; path=/; domain=.rtbidder.net; expires=Mon, 08-Oct-2012 09:43:31 GMT +c1=4FFBF92E025400F4; expires=Sun, 09-Jul-2017 09:43:10 GMT; path=/pmu/ +C3=AgAAAB+LCAAAAAAABADsvQdgHEmWJSYvbcp7f0r1StfgdKEIgGATJNiQQBDswYjN5pLsHWlHIymrKoHKZVZlXWYWQMztnbz33nvvvffee++997o7nU4n99//P1xmZAFs9s5K2smeIYCqyB8/fnwfPyJ2fub/CQAA//8bGSzHAgAAAA==; domain=atemda.com; expires=Sat, 08-Sep-2012 09:43:50 GMT; path=/ +CC=AT; domain=.msn.com; expires=Thu, 10-Jul-2014 09:43:04 GMT; path=/ +cd=false; Domain=.rubiconproject.com; Expires=Wed, 10-Jul-2013 09:49:55 GMT; Path=/ +__cfduid=d1edd36f6a7f9722c19d4b62a2d176ceb1341913774; expires=Mon, 23-Dec-2019 23:50:00 GMT; path=/; domain=.css.kameleoon.com +CFID=238634555; expires=Sun, 27-Sep-2037 00:00:00 GMT; path=/; domain=.rueducommerce.fr; +CFID=238634555; path=/; +CFID=;expires=Tue, 10-Jul-2012 08:50:39 GMT;path=/;domain=.rueducommerce.fr; +CFMAGIC=238634555%3A30294847; expires=Sun, 27-Sep-2037 00:00:00 GMT; path=/; domain=.rueducommerce.fr; +CFMAGIC=;expires=Tue, 10-Jul-2012 08:50:39 GMT;path=/;domain=.rueducommerce.fr; +CFTOKEN=30294847; path=/; +CFTOKEN=;expires=Tue, 10-Jul-2012 08:50:39 GMT;path=/;domain=.rueducommerce.fr; +ck=1; Domain=.email-attitude.com; expires=Wed, 11-Jul-2012 09:50:41 GMT; httponly; Path=/ +clicks=;Path=/;Domain=invitemedia.com;Expires=Thu, 01-Jan-1970 00:00:01 GMT +comp=s10936=crtg%3Dtrue; expires=Wed, 08-Aug-2012 22:00:00 GMT; path=/ +cookie_pooling=eyIxMjExMiI6MH0%3D; path=/; expires=Sat, 08-Sep-2012 09:43:29 GMT +CR=; domain=.fnac.com; expires=Mon, 09-Jul-2012 09:44:07 GMT; path=/ +CRITEO=ok; path=/; expires=Thu, 09-Aug-12 09:49:48 GMT; domain=.prisma-presse.com +critg3=1; expires=Thu, 09-Aug-12 09:49:48 GMT; path=/; domain=.ftv-publicite.fr +crtgmc=1;expires=Thu, 9 Aug 2012 9:49:48 GMT;domain=adtech.de;path=/ +crtgmc2=1;expires=Thu, 9 Aug 2012 9:49:48 GMT;domain=adtech.de;path=/ +crtgmegaban=1; expires=Thu, 09-Aug-12 09:49:48 GMT; path=/; domain=.leboncoin.fr +crtgpave=1; expires=Thu, 09-Aug-12 09:49:48 GMT; path=/; domain=.leboncoin.fr +csi15=3322954.js^1^1341913779^1341913779; expires=Tue, 17-Jul-2012 09:49:39 GMT; max-age=604800; path=/; domain=.rubiconproject.com; +csi2=3282012.js^1^1341913409^1341913409; expires=Tue, 17-Jul-2012 09:43:29 GMT; max-age=604800; path=/; domain=.rubiconproject.com; +csi2=3298098.js^1^1341913410^1341913410&3282012.js^1^1341913409^1341913409; expires=Tue, 17-Jul-2012 09:43:30 GMT; max-age=604800; path=/; domain=.rubiconproject.com; +_csimf=Mj1TOjEyODY7; domain=.advideum.solution.weborama.fr; path=/ +D0=@f^ku^FABf^ku^FAD>>^>>; expires=Sun, 27-Sep-2037 00:00:00 GMT; path=/; +D0=@f^ku^FABfnckpHAD>>^>>; expires=Sun, 27-Sep-2037 00:00:00 GMT; path=/; +dis=*1fzNBMAhgurs%2fiDR8GiE7ag%3d%3d; domain=.criteo.com; expires=Thu, 10-Jan-2013 10:43:06 GMT; path=/ +dis=*1H4mMZRl%2fiqo1yuqceX30KAeiZodceu34kopHLAOxqygPtqix7bj0n8VYnpC4ZZuWOT%2fyfByaUR6YuGkiAVGn3pV4Ob6ndgv8D3g%2bmV%2bn7Jj%2bsJg8qgCZ%2f%2br6mcQAN4mEhmG8yEr1Q%2fFHoUkmNuBkkXU9YaBTJzVSzZ%2fsNWNH9h6iudNDfO3XOjSpTDref1jJR82AtWiXvEr4cbjW4Ya9DA%3d%3d; domain=.criteo.com; expires=Thu, 10-Jan-2013 10:49:48 GMT; path=/ +dis=*1wDaHwy0hF8DRRAQewdU1bd1n7ts3ELxPZkYpi%2bFJw284kWJXuiWQ5JEirFjf8NQ4Evw60mviNlcfIdZLHJxXlwQ9c8mBkUPKpkWDO1VAJrGwi1wylT7bcZd4LCYFeNdq6dYC8VLzLFibYCGy6DtXR9Y195zZdgvbNGeGC8mMXE4xGSo8vRpRNExRUQS9%2fxNcR01l5YRfz46pk85k8dNDtA%3d%3d; domain=.criteo.com; expires=Thu, 10-Jan-2013 10:50:41 GMT; path=/ +dq=1|1|0|0; Expires=Wed, 10-Jul-2013 09:49:55 GMT; Path=/ +DTN=10%2f07%2f2012+11%3a44%3a07; domain=.fnac.com; expires=Sun, 09-Jul-2017 09:44:07 GMT; path=/ +dyncdn=1; expires=Wed, 11-Jul-2012 09:43:32 GMT; domain=smartadserver.com; path=/ +dyncdn=limit; expires=Wed, 11-Jul-2012 09:50:36 GMT; domain=smartadserver.com; path=/ +e=cr;Path=/;Domain=.rfihub.com;Expires=Sat, 27-Dec-14 09:49:56 GMT +ELOQUA=GUID=93271EDB2DC744749117085275C71CE5; domain=.eloqua.com; expires=Sun, 01-Dec-2030 02:30:00 GMT; path=/ +ELQSTATUS=OK; domain=.eloqua.com; expires=Sun, 01-Dec-2030 02:30:00 GMT; path=/ +eptic_cookie=erlangorg@hades-1326360052369809409; path=/ +et0=9WEzt.Ng_QO_4I.lc2tpaxPhN.bxac5tD17LbNfUzr4nC2.0Ug0AF1WTcTz0hN3751KuxtXF_634DpnmdGPnrg7Uf3Q3MUaJkrG9GJQRZZgGVg7k890.QkT.vX.d2zM1uneeVpa7hMuMMDDpSQvEhK_jW1lBwfMhpe6flcfmRh4a8VeQbe9R.h18qGk08qt9; expires=Sun, 06 Jan 2013 09:50:35 GMT; path=/; domain=ea.rueducommerce.fr +et0=DEQwyRwgEDJm_8YpRfjMNfr81T2YubR9AIbwQaws7P9ovI48erotV7sfikoW06cJq74qI9GCu6DF8mimmn6u.7JhQK27yN6ywhLuOOoa_3OxjTTclYgcS0Gct8LiYEyMFB71LsTIL6H7aX_FEHx6.XyLBipd1wvUVl3k9U_0YM8-; expires=Sun, 06 Jan 2013 09:43:42 GMT; path=/; domain=ea.rueducommerce.fr +et0=EMfNwnYS.kZtdivW2dV4b.WG75bayPfxh6FIDZbemsSzePHbHah0kxWvp43XyrtaNC0.LiXGklAYTn8fdBYdZBrANG2jiIAwmpociX5B6Pjosy0ojvHxgi8QagKwBDnHqslhU8TomqXj4Qao7iEi7VDIK.Q6s3yVgS1W6M6Y3ab5BJDjS.qAdZqCpflwSHkNV1JvKDz7tQ_J1MLYf4zHhvUj; expires=Sun, 06 Jan 2013 09:50:41 GMT; path=/; domain=ea.rueducommerce.fr +et0=; path=/; domain=.rueducommerce.fr; expires=Thu, 01-Jan-1970 00:00:01 GMT +et0=SmMvxkqDL6S1a502afB.opccmYKS_nbU2rbi_y6ktNg.0pSqYsAkT_yMMGa63iZ0t67U4nklYU3ANs0wgjXKxeaK2fjtGFw3rO0pY4s0bMgUjHDlJhDps82vZr60YCRChOvL4T0g02ZmP3fdz9Mx79ZLH1TCsbgl6d6kg0T3hxickJ1QewI4YRcb0qnYYRxxcw--; expires=Sun, 06 Jan 2013 09:50:36 GMT; path=/; domain=ea.rueducommerce.fr +et0=w8QJGwZp6DPssZVf3FnOX1eo5bnF_ACWUWg6wyGjPBlVrF.hgYSDwc0eeI4zPDzR4PbMzKSqAiWTyrq90TG6OwblkvD.3fb67DjjGXYnwu1k6EgglrqZQ3IaL6P_VqUi6NS07qEvPIJ8z3DuMatsKQmNRz6L9lk-; expires=Sun, 06 Jan 2013 09:43:39 GMT; path=/; domain=ea.rueducommerce.fr +et=1; expires=Sun, 06 Jan 2013 09:43:32 GMT; path=/; domain=ea.rueducommerce.fr +et=; path=/; domain=.rueducommerce.fr; expires=Thu, 01-Jan-1970 00:00:01 GMT +etuid=HsfIsvrQ2KD7kdXuQNLNpg--; expires=Sun, 06 Jan 2013 09:43:32 GMT; path=/; domain=ea.rueducommerce.fr +etuid=; path=/; domain=.rueducommerce.fr; expires=Thu, 01-Jan-1970 00:00:01 GMT +evt=*1%2bdRRFIG8C4z%2bBLk7y%2fCqZg%3d%3d; domain=.criteo.com; expires=Thu, 10-Jan-2013 10:43:05 GMT; path=/ +evt=*14fEfBc6rpooYSJeBK59zyw%3d%3d; domain=.criteo.com; expires=Thu, 10-Jan-2013 10:43:39 GMT; path=/ +evt=*1i598YGHsxaxo%2boAGyfZz9fzNJ5YSI4XoXExAymxdPvc%3d; domain=.criteo.com; expires=Thu, 10-Jan-2013 10:44:10 GMT; path=/ +evt=*1YD4naks8XoliPm8l1HOgnZ%2fMVR%2brxElZb0ZH3AqPvjy00aGSWsjEV7N2yMxEGv6mFrO%2b5Qt4YBnZlADavsB%2bDw%3d%3d; domain=.criteo.com; expires=Thu, 10-Jan-2013 10:50:41 GMT; path=/ +evt=*1ZEXmMy5okGbnLEYwqTASQA%3d%3d; domain=.criteo.com; expires=Thu, 10-Jan-2013 10:43:42 GMT; path=/ +eZSESSID=00673aaac6d25622b6afb23178eb83ba; path=/ +_fcap_CAM3=AEYAQwBBAFAAAAAA; Domain=outbrain.com; Expires=Wed, 11-Jul-2012 09:49:55 GMT; Path=/ +FMBasketProductsCount=0; domain=.fnac.com; expires=Sun, 09-Jul-2017 22:00:00 GMT; path=/ +frequency=;Path=/;Domain=invitemedia.com;Expires=Thu, 01-Jan-1970 00:00:01 GMT +_FS=NU=1; domain=.bing.com; path=/ +IAASRC=%7C92%3A1344505788%7C22%3A1347097788%7C10%3A1347097788%7C; expires=Wed, 10-Jul-2013 09:49:48 GMT; path=/; domain=.a2dfp.net +iab=status=Optin&token=45EE30E3557C4B778EA7A6161BDC1175; expires=Wed, 08-Aug-2012 22:00:00 GMT; domain=.smartadserver.com; path=/ +i=c01d6d45-9f7a-40d7-8709-043e1a93c4e3; expires=Thu, 10-Jul-2014 09:43:50 GMT; path=/; domain=.openx.net +id=4612108434589598973; path=/; domain=.mookie1.com; expires=Sun, 04-Aug-2013 09:49:44 GMT +ID=AAAAAQAU_8T.etNQfIqRI6xAhfZNbGy0qMABAKSostXIaUF3q2S2nS_LieMAAAE4cEtROgAAAAAAAAAA; Domain=.amgdgt.com; Expires=Fri, 08-Jul-2022 09:49:40 GMT; Path=/ +id=c3c24b5d-be8b-4576-b27b-c00c21db9f00; Domain=.yieldlab.net; Expires=Wed, 10-Jul-2013 09:43:50 GMT; Path=/ +ihlb=\ +impressions=;Path=/;Domain=invitemedia.com;Expires=Thu, 01-Jan-1970 00:00:01 GMT +infos=deleted; expires=Mon, 11-Jul-2011 09:50:46 GMT; path=/; domain=.yakaz.com +io_frequency=;Path=/;Domain=invitemedia.com;Expires=Thu, 01-Jan-1970 00:00:01 GMT +_i_rc=1; Domain=chango.com; expires=Tue, 17 Jul 2012 09:49:40 GMT; Path=/ +j=c638666722680058483;Path=/;Domain=.rfihub.com +JSESSIONID=04b86202a3d42f4b3cea144e6351; Path=/ +K=@@GF_zDCB>?Vu@?; expires=Sun, 27-Sep-2037 00:00:00 GMT; path=/; +KRTBCOOKIE_257=4743-uid:2c03d2f2-cc75-449e-9d9f-2a0002ae6603; domain=pubmatic.com; expires=Mon, 08-Oct-2012 09:49:46 GMT; path=/ +KRTBCOOKIE_277=5114-4918409058730637084; domain=pubmatic.com; expires=Fri, 10-Jul-2015 09:43:50 GMT; path=/ +lbdis=; domain=.criteo.com; expires=Mon, 09-Jul-2012 09:43:05 GMT; path=/ +LIG_Y=\ +livep=0; domain=.weborama.fr; path=/; expires=Tue, 03-Jul-2012 00:04:51 GMT +lm=\ +lm_userid=3VkGpAOQg4I; Domain=.lucidmedia.com; Expires=Wed, 10-Jul-2013 09:49:41 GMT; Path=/ +LO=AAAAAQAU1z3aJooen5CpY2_6wuritdK0tr0CAGZyYTtqOzI1MDA3NTtwYXJpczs3NTAwMTtuZW90ZWxlY29tcyBnbG9iYWwgYmFja2JvbmU7YnJvYWRiYW5kOzQ2LjI1NS4xNzYuMjsyOTE2NjAyMzQyO3Q-; Domain=.amgdgt.com; Expires=Thu, 09-Aug-2012 09:49:40 GMT; Path=/ +lowcrtgmega=1; expires=Thu, 09-Aug-12 09:49:48 GMT; path=/; domain=.leboncoin.fr +LSA=; domain=.fnac.com; expires=Mon, 09-Jul-2012 09:44:07 GMT; path=/ +LSASubsite=; domain=.fnac.com; expires=Mon, 09-Jul-2012 09:44:07 GMT; path=/ +LSI=-1=AAB#MDALA#APW8k|B|MDALA|AAaTA; domain=.fnac.com; expires=Sun, 09-Jul-2017 09:44:07 GMT; path=/ +LSI=-53=AAB#MDALF#APiLM|B|MDALF|AAAAA&-1=AAB#MDALA#APW8k|B|MDALA|AAaTA; domain=.fnac.com; expires=Sun, 09-Jul-2017 09:49:45 GMT; path=/ +_lvd2=\ +MC1=V=3&GUID=646349bb85a946ef94e11b6d6318d93d; domain=.msn.com; expires=Mon, 04-Oct-2021 12:00:00 GMT; path=/ +mdata=1|4612108434589598973|1341913784; path=/; domain=.mookie1.com; expires=Sun, 04-Aug-2013 09:49:44 GMT +meld_sess=8c2a50cd-fde4-4570-bbf0-53ad30434207;expires=Wed, 10 Jul 2013 09:43:50 GMT;path=/;domain=tag.admeld.com; +mh=MSFT; domain=.msn.com; expires=Thu, 10-Jul-2014 09:43:04 GMT; path=/ +mt_mop=9:1341913781|4:1341913781|10010:1341913781; domain=.mathtag.com; path=/; expires=Fri, 10 Jul 2015 09:49:41 GMT +MUID=27085269B51A65772C2F51F0B11A6510&TUID=1; domain=.msn.fr; expires=Thu, 10-Jul-2014 09:43:10 GMT; path=/; +Nav1=; domain=.fnac.com; expires=Mon, 09-Jul-2012 09:44:07 GMT; path=/ +NBART=0; domain=.fnac.com; expires=Sun, 09-Jul-2017 22:00:00 GMT; path=/ +NSC_fd1efm_qppm_iuuq=ffffffff09099ec145525d5f4f58455e445a4a423660;path=/;httponly +nus_2307=1.00; expires=Tue, 10-Jul-2012 21:43:29 GMT; max-age=43200; path=/; domain=.rubiconproject.com +o=1-pZDXDpAXl833;Path=/;Domain=.rfihub.com;Expires=Sat, 27-Dec-14 09:49:56 GMT +OACBLOCK=; domain=.criteo.com; expires=Fri, 10-Aug-2012 09:43:05 GMT; path=/ +OACCAP=; domain=.criteo.com; expires=Fri, 10-Aug-2012 09:43:05 GMT; path=/ +OAID=6177312769cd2d055aff5e5739fc1afa; expires=Wed, 10-Jul-2013 09:43:32 GMT; path=/ +OASCCAP=; domain=.criteo.com; path=/ +OAX=Lv+wAk/7+T8ADf8T; expires=Thu, 31-Dec-2020 23:59:59 GMT; path=/; domain=.uniprix.nouvelobs.com +OAX=Lv+wAk/7+TEADosA; expires=Thu, 10-Jul-14 09:43:13 GMT; path=/; domain=.lemonde.fr +OAX=Lv+wAk/7+WoAAZkg; path=/; expires=Thu, 10-Jul-14 09:44:10 GMT; domain=.247realmedia.com +obuid=3fed2de9-f001-4d13-b7de-28453cbbe086; Domain=outbrain.com; Expires=Fri, 05-Jul-2013 09:49:55 GMT; Path=/ +OrderInSession=0; domain=.fnac.com; path=/ +ORGN=FnacAff; domain=.fnac.com; expires=Sun, 09-Jul-2017 09:43:47 GMT; path=/ +ORIGDT=10%2f07%2f2012+11%3a43%3a47; domain=.fnac.com; expires=Sun, 09-Jul-2017 09:43:47 GMT; path=/ +p=1341913409; version=1; path=/; domain=.openx.net; max-age=63072000; +p=1-pZDXDpAXl833;Path=/;Domain=.rfihub.com +pbw=%24b%3D16999%3B%24o%3D99999%3B%24sh%3D1024%3B%24sw%3D1600; expires=Mon, 30-Jun-2014 09:43:32 GMT; domain=smartadserver.com; path=/ +pbwmaj6=y; expires=Thu, 12-Jul-2012 09:43:32 GMT; domain=smartadserver.com; path=/ +phpAds_partner3=eAFTNDKoMTQ2MbQ0NDa3sLAGsU1MDUyBbABOzgXR; expires=Thu, 09-Aug-2012 09:49:48 GMT; path=/a; domain=.advertstream.com +PID=20; domain=.fnac.com; expires=Tue, 10-Jul-2012 19:43:49 GMT; path=/ +pid=5100585566948287292; expires=Mon, 30-Jun-2014 09:43:32 GMT; domain=smartadserver.com; path=/ +PID=; domain=.fnac.com; expires=Sat, 30-Jun-2012 09:43:53 GMT; path=/ +pluto2=296722456235; domain=.fastclick.net; path=/; expires=Thu, 10-Jul-2014 09:49:49 GMT +pma=S7QysKquBQA%3D; expires=Tue, 31-Dec-2013 22:59:59 GMT; path=/ +pmc2=MzBAAoYGgwkAAA%3D%3D; expires=Tue, 31-Dec-2013 22:59:59 GMT; path=/ +_pooling=1; path=/ +PUBRETARGET=2615_1436521430.2452_1349689786; domain=pubmatic.com; expires=Fri, 10-Jul-2015 09:43:50 GMT; path=/ +px=0b83a084-dd0b-4bfe-9e2e-ab3706fc9955.1341913410; version=1; path=/; domain=.openx.net; max-age=31536000; +r=1341913796342;Path=/;Domain=.rfihub.com;Expires=Sat, 27-Dec-14 09:49:56 GMT +_rcc2=\ +rdk15=0; expires=Tue, 10-Jul-2012 10:43:29 GMT; max-age=10; path=/; domain=.rubiconproject.com +recs-666855272430de0575cf6b64000d861d=\ +RMFL=011SoWyeU10105H|U101081; expires=Thu, 31-Dec-2020 23:59:59 GMT; path=/; domain=.uniprix.nouvelobs.com +rpb=8981%3D1%269073%3D1%267751%3D1%267727%3D1%264222%3D1%267249%3D1%2611203%3D1%267259%3D1%2610573%3D1%264554%3D1%2613490%3D1%265328%3D1%265852%3D1%266434%3D1; expires=Thu, 09-Aug-2012 09:50:41 GMT; path=/; domain=.rubiconproject.com +rpb=8981%3D1; expires=Thu, 09-Aug-2012 09:43:30 GMT; path=/; domain=.rubiconproject.com +rpx=8981%3D22105%2C0%2C1%2C%2C%269073%3D22105%2C0%2C1%2C%2C%267751%3D22105%2C0%2C1%2C%2C%267727%3D22105%2C0%2C1%2C%2C%264222%3D22105%2C0%2C1%2C%2C%267249%3D22105%2C0%2C1%2C%2C%2611203%3D22105%2C0%2C1%2C%2C%267259%3D22105%2C0%2C1%2C%2C%266434%3D22105%2C0%2C1%2C%2C%2610573%3D22105%2C0%2C1%2C%2C%264554%3D22105%2C0%2C1%2C%2C%2613490%3D22105%2C0%2C1%2C%2C%265328%3D22105%2C0%2C1%2C%2C%265852%3D22105%2C0%2C1%2C%2C; expires=Thu, 09-Aug-2012 09:49:56 GMT; path=/; domain=.pixel.rubiconproject.com +rsid=CMuNRCnwr4RJFvOudUoCwqBpLKWcxgZprODTJBmN+jd4CMChZh/4S5wOdeVRmsAx2thOzx8Vu3HJcuIkd4IzUZBM4a4xIyWaasWi6suxAaxdPo9e; path=/; domain=.rubiconproject.com; +RT1=AAAAAA2; domain=atemda.com; expires=Sat, 08-Sep-2012 09:43:50 GMT; path=/ +ruid=592cc2264ffbf9412effb00221957a^1^1341913409^788508674; expires=Mon, 08-Oct-2012 09:43:29 GMT; max-age=7776000; path=/; domain=.rubiconproject.com; +s1=4FFBF92E025400F3; expires=Sun, 09-Jul-2017 09:43:10 GMT; path=/pmu/pmu-fr/ +s3=1341913796342;Path=/;Domain=.rfihub.com;Expires=Sat, 27-Dec-14 09:49:56 GMT +s=7cd87936-6b7f-4ccb-972d-d03dc8131373; version=1; path=/; domain=.openx.net; +sasd=%24a%3D0t%3B%24cn%3D0%5F0%3B%24isp%3D0%3B%24qc%3D1310896006%3B%24ql%3Dunknown%3B%24qpc%3D75001%3B%24qpp%3D0%3B%24qt%3D184%5F1903%5F42652t; path=/ +sasd=%24qt%3d184_1903_42652t%3b%24qc%3d1310896006%3b%24ql%3dunknown%3b%24qpc%3d75001%3b%24qpp%3d0; domain=.aufeminin.com; expires=Wed, 11-Jul-2012 09:49:34 GMT; path=/ +sasd2=q=%24qt%3d184_1903_42652t%3b%24qc%3d1310896006%3b%24ql%3dunknown%3b%24qpc%3d75001%3b%24qpp%3d0&c=&a=-362289870&l=&lo=<=634775177741863673; domain=.aufeminin.com; expires=Wed, 11-Jul-2012 09:49:34 GMT; path=/ +segments=;Path=/;Domain=invitemedia.com;Expires=Thu, 01-Jan-1970 00:00:01 GMT +SERVERID=; Expires=Thu, 01-Jan-1970 00:00:01 GMT; path=/ +ses15=14319^1&16416^1; expires=Wed, 11-Jul-2012 02:59:59 GMT; max-age=79820; path=/; domain=.rubiconproject.com +sess=1; path=/; expires=Wed, 11-Jul-2012 09:43:50 GMT; domain=.adnxs.com; HttpOnly +SESS708c3152436f834213664fa2546e7125=6v9ds52ov3o6optsgovtc969i1; expires=Thu, 02 Aug 2012 12:33:49 GMT; path=/; domain=.springsource.com +session-id=277-5453710-9941953; path=/; domain=.amazon.fr; expires=Mon, 31-Dec-2035 23:00:01 GMT +session-token=7D0Zg+vD5hA+HmZhHNW0JdZh7EVDw7g5rfIBzLxWNHwuOOcI4pw7V8R37ePBlfF/XSCdbvX/92dXFLOg1GQqYW0Nq+rpHH91uXHByaGzSS5RpQ/L9dZhtKKGXWyJxmTHDoNYw8nNUC4sMO3jyVT4ll3BzGoGYF1ZYZPiZXD0m/mSc1oJmMkLlCHX6rw0fwbISjKFANUrWiu8i/3GSQSuoFb6peqoXp6OirSVgGlmDeC0D5GZCAHJEFWnt15B7QSPGC09oAa8y4c=; path=/; domain=.amazon.fr; expires=Mon, 05-Jul-2032 09:45:02 GMT +SID=82d94861-89d7-a8cf-34e6-826ccbecdaa2; domain=.fnac.com; expires=Sun, 06-Jan-2013 10:43:47 GMT; path=/ +SRCHD=D=2379463&MS=2379463&AF=NOFORM; expires=Thu, 10-Jul-2014 09:43:05 GMT; domain=.bing.com; path=/ +_SS=SID=8D241D446707420E97BF3F711A93556D; domain=.bing.com; path=/ +s_vi=[CS]v1|27FDFCAB05011FC6-600001126012CC17[CE]; Expires=Sun, 9 Jul 2017 09:43:50 GMT; Domain=.fnac.com; Path=/ +_t=9176626e-ca74-11e1-9043-00259035d4c0; Domain=chango.com; expires=Fri, 08 Jul 2022 09:49:40 GMT; Path=/ +tc=1; Expires=Wed, 10-Jul-2013 09:43:31 GMT; Path=/ +TDCPM=CAESFgoHcnViaWNvbhILCPTwn5S0qNYvEAUYAyABKAIyCwjYx7vAyqjWLxAF; domain=.adsrvr.org; expires=Wed, 10-Jul-2013 09:43:30 GMT; path=/ +TDCPM=CAEYAygCMgsI2Me7wMqo1i8QBQ==; domain=.adsrvr.org; expires=Wed, 10-Jul-2013 09:43:29 GMT; path=/ +TDID=eed09d9b-68a5-46c8-85e1-231e745057e7; domain=.adsrvr.org; expires=Wed, 10-Jul-2013 09:43:29 GMT; path=/ +TestIfCookieP=ok; domain=.aufeminin.com; expires=Tue, 09-Jul-2013 22:00:00 GMT; path=/ +tpv1=; domain=atemda.com; expires=Mon, 09-Jul-2012 09:43:50 GMT; path=/ +trgu=2682edfe-500d-4496-87b9-a7253582a8f9; domain=.triggit.com; path=/; expires=Thu, 10-Jul-2014 00:00:00 GMT +ts=1341913410; domain=.mathtag.com; path=/; expires=Wed, 10-Jul-2013 09:43:30 GMT +tst=*1UIjtkHbGKaVQiMH9h2VVmw%3d%3d; domain=.criteo.com; expires=Thu, 10-Jan-2013 10:43:05 GMT; path=/ +tuuid=40430961-c3df-4dce-baf2-cf7776d6f3ac; path=/; expires=Thu, 10-Jul-2014 09:49:56 GMT; domain=.wtp101.com +u2=19c940e9-829f-4c87-bdf8-316d75bf0c483Ou09g; expires=Mon, 08-Oct-2012 05:43:14 GMT; domain=.serving-sys.com; path=/ +U=63B9CAB9A0C18D5102C9D3C76F1B1756; expires=Sun, 27-Sep-2037 00:00:00 GMT; path=/; +UA=AAAAAQAUhbyg89ABz3rKqGPKvW5HUsOWJMYEA3gBY2BgYGRg3nWegW3RDgbG_QcYGLPvMUAAJ1DKosA70ArKZ_D_XdAAYgNFvTY9gOpjVAhiXcgIUQIAUiUOpg--; Domain=.amgdgt.com; Expires=Thu, 09-Aug-2012 09:49:40 GMT; Path=/ +ubid-acbfr=275-1998587-8474020; Domain=.amazon.fr; Expires=Mon, 05-Jul-2032 09:49:40 GMT; Path=/ +udc=*1Z3JmtlfKLQPI8Kj%2bhFX5nbonq798hnGSd7H9b5cEUG6zS%2fnVwErgCJQjfXuQo4zX; domain=.criteo.com; expires=Thu, 10-Jan-2013 10:44:10 GMT; path=/ +udi=*10tunx0bK7pW5o1%2bQ2Mz30Q%3d%3d; domain=.criteo.com; expires=Wed, 11-Jul-2012 09:43:05 GMT; path=/ +ug=WvuqLohn_jnCwA; Domain=.adviva.net; Expires=Sun, 09-Jul-2017 09:49:54 GMT; Path=/ +uic=*14%2b2NUPum7ePb5JJjkZeYz%2fcxXhpAcWavNWs2aE7R3bsr%2fRv3X7veBsfa8L0L%2fQ99dZ74%2bJ53tMWD2TBx4029zmKw7ul%2fhczHkRVnOuSknjU%3d; domain=.criteo.com; expires=Thu, 10-Jan-2013 10:49:48 GMT; path=/ +uic=*14sPCqQDxBeVOntYHr6vKp9wU%2bHRWvrDEPYh7O0Re%2f31%2bmPpOxrXXj0JkdgNWdm1Y; domain=.criteo.com; expires=Thu, 10-Jan-2013 10:43:42 GMT; path=/ +uic=*1asNezGgqHy3CH9sBLD5U9OJ2jf%2bquLuqlhFB%2b6vS5QgtUNIYzRLXadpJDpxwVuGW; domain=.criteo.com; expires=Thu, 10-Jan-2013 10:43:39 GMT; path=/ +uic=*1RagJ%2bQRxyvWRLNqdSaP7xYW95LenV4dLRNRMTSGtfQpxwMjYgolJpbg5SouNxEk57bkuIiku50jjsj1E4DHoYKvKLzZJhglg16bRlyyVLEsPbCk9bA7h87n3eVupyO1aqjqFlWRzSrq%2bmL2744yzd7afdfCQ3iA700TOZrOdILFZHncOXKbggl3d2jtr%2fmWE; domain=.criteo.com; expires=Thu, 10-Jan-2013 10:50:41 GMT; path=/ +uic=*1zYQZfkxvNs7NzKaoBbkzzQ%3d%3d; domain=.criteo.com; expires=Thu, 10-Jan-2013 10:43:05 GMT; path=/ +UID=07185ED49-1A26-FE6A-6A98-DB34B9DCC784; domain=.fnac.com; expires=Sun, 09-Jul-2017 09:43:47 GMT; path=/ +uid=2c03d2f2-cc75-449e-9d9f-2a0002ae6603; domain=.criteo.com; expires=Wed, 10-Jul-2013 09:43:05 GMT; path=/ +uid=VAAeAjUAAg5STBECAIADkQ==; expires=Sun, 09-Jul-17 09:49:56 GMT; domain=relestar.com; path=/ +UM1=AAEAAB-LCAAAAAAABADsvQdgHEmWJSYvbcp7f0r1StfgdKEIgGATJNiQQBDswYjN5pLsHWlHIymrKoHKZVZlXWYWQMztnbz33nvvvffee--997o7nU4n99__P1xmZAFs9s5K2smeIYCqyB8_fnwfPyKSX_gb_Ma_xUfJb7n_cPdgf-fhzv2DB_d2Pr33YOdg_7f4DX-Df-iP-Ht_xT_81_wbd3-zX_fX-P_p8_8EAAD__6xGKhAAAQAA0; domain=atemda.com; expires=Sat, 08-Sep-2012 09:43:50 GMT; path=/ +UMAP=MTAwNzoxMzQxOTEzNzgy; domain=advertising.com; expires=Thu, 10-Jul-2014 09:49:42 GMT; path=/ +uu=406371341913430612; Domain=.adscale.de; Expires=Mon, 08-Jul-2013 02:10:30 GMT; Path=/ +uuid2=1895376179915936457; path=/; expires=Mon, 08-Oct-2012 09:43:50 GMT; domain=.adnxs.com; HttpOnly +uuid=4ffbf942-864c-a661-7ac0-39f6ab1a9717; domain=.mathtag.com; path=/; expires=Wed, 10-Jul-2013 09:43:30 GMT +v=1341913796342;Path=/;Domain=.rfihub.com;Expires=Sat, 27-Dec-14 09:49:56 GMT +V=3; expires=Sun, 27-Sep-2037 00:00:00 GMT; path=/; +vi=3ec17386424d4436b71bb76c4c9820a3; domain=atemda.com; expires=Sat, 08-Sep-2012 09:43:50 GMT; path=/ +vs=13992=5009023; domain=smartadserver.com; path=/ +vs=1=5009029; domain=.aufeminin.com; path=/ +vuid=906400c82ea25016b2569e01703b3f9a4ffbf9553d6dd; expires=Thu, 10-Jul-2014 09:43:49 GMT; path=/ +zob=*19rF3iWM0WAJdLU0SC1aJ6w%3d%3d; domain=.criteo.com; expires=Thu, 10-Jan-2013 10:43:05 GMT; path=/ diff -Nru yaws-2.0.6+dfsg/testsuite/cookies_SUITE.erl yaws-2.0.7+dfsg/testsuite/cookies_SUITE.erl --- yaws-2.0.6+dfsg/testsuite/cookies_SUITE.erl 1970-01-01 00:00:00.000000000 +0000 +++ yaws-2.0.7+dfsg/testsuite/cookies_SUITE.erl 2019-07-14 13:01:11.000000000 +0000 @@ -0,0 +1,363 @@ +-module(cookies_SUITE). + +-include("testsuite.hrl"). + +-compile(export_all). + +all() -> + [ + parse_set_cookies, + parse_cookies, + parse_invalid_set_cookies, + parse_invalid_cookies, + format_cookies, + get_multiple_cookies, + cookie_key_case_insensitive, + set_cookie_expires, + real_cookies, + real_setcookies, + set_cookie + ]. + +groups() -> + [ + ]. + +%%==================================================================== +init_per_suite(Config) -> + Config. + +end_per_suite(_Config) -> + ok. + +init_per_group(_Group, Config) -> + Config. + +end_per_group(_Group, _Config) -> + ok. + +init_per_testcase(_Test, Config) -> + Config. + +end_per_testcase(_Test, _Config) -> + ok. + +%%==================================================================== +parse_set_cookies(_Config) -> + %% Set-Cookie: value + ?assertEqual( + #setcookie{key="value"}, + yaws_api:parse_set_cookie("value") + ), + + %% Set-Cookie: name=value + ?assertEqual( + #setcookie{key="name", value="value"}, + yaws_api:parse_set_cookie("name=value") + ), + + %% Set-Cookie: name="value [quoted]" + ?assertEqual( + #setcookie{key="name", value="value [quoted]", quoted=true}, + yaws_api:parse_set_cookie("name=\"value [quoted]\"") + ), + + %% Set-Cookie: name=value; path=/ + ?assertEqual( + #setcookie{key="name", value="value", path="/"}, + yaws_api:parse_set_cookie("name=value; Path=/") + ), + + %% Set-Cookie: name=value; domain=test.com + ?assertEqual( + #setcookie{key="name", value="value", domain="test.com"}, + yaws_api:parse_set_cookie("name=value; Domain=test.com") + ), + + %% Set-Cookie: name=value; max-age=86400 + ?assertEqual( + #setcookie{key="name", value="value", max_age="86400"}, + yaws_api:parse_set_cookie("name=value; Max-Age=86400") + ), + + %% Set-Cookie: name=value; expires="Sat, 02 May 2009 23:38:25 GMT" + ?assertEqual( + #setcookie{key="name", value="value", expires="Sat, 02 May 2009 23:38:25 GMT"}, + yaws_api:parse_set_cookie("name=value; Expires=Sat, 02 May 2009 23:38:25 GMT") + ), + + %% Set-Cookie: name=value; secure + ?assertEqual( + #setcookie{key="name", value="value", secure=true}, + yaws_api:parse_set_cookie("name=value; Secure") + ), + + %% Set-Cookie: name=value; HttpOnly + ?assertEqual( + #setcookie{key="name", value="value", http_only=true}, + yaws_api:parse_set_cookie("name=value; HttpOnly") + ), + + + + %% Set-Cookie: name=value; comment="This is a comment" + ?assertEqual( + #setcookie{key="name", value="value", + extensions=[{"comment", "This is a comment", true}]}, + yaws_api:parse_set_cookie("name=value; Comment=\"This is a comment\"") + ), + + %% Set-Cookie: name=value; discard + ?assertEqual( + #setcookie{key="name", value="value", + extensions=[{"discard", undefined, false}]}, + yaws_api:parse_set_cookie("name=value; discard") + ), + + %% Set-Cookie: name=value; ext1=val1; ext2="val2"; ext3 + ?assertEqual( + #setcookie{key="name", value="value", + extensions=[{"ext1", "val1", false}, {"ext2", "val2", true}, + {"ext3", undefined, false}]}, + yaws_api:parse_set_cookie("name=value; ext1=val1; ext2=\"val2\"; ext3") + ), + + %% Set-Cookie: value1, value2, name=value + ?assertEqual( + [#setcookie{key="value1"}, #setcookie{key="value2"}, + #setcookie{key="name", value="value"}], + yaws_api:parse_set_cookie("value1 , value2, name=value") + ), + ok. + +parse_cookies(_Config) -> + %% Cookie: value + ?assertEqual( + [#cookie{key="value"}], + yaws_api:parse_cookie("value") + ), + + %% Cookie: name=value + ?assertEqual( + [#cookie{key="name", value="value"}], + yaws_api:parse_cookie("name=value") + ), + + %% Cookie: name="value [quoted]" + ?assertEqual( + [#cookie{key="name", value="value [quoted]", quoted=true}], + yaws_api:parse_cookie("name=\"value [quoted]\"") + ), + + %% Cookie: name=value; $path=/ + ?assertEqual( + [#cookie{key="name", value="value"}, + #cookie{key="$path", value="/"}], + yaws_api:parse_cookie("name=value; $path=/") + ), + + %% Cookie: name=value; $port=443 + ?assertEqual( + [#cookie{key="name", value="value"}, + #cookie{key="$port", value="443"}], + yaws_api:parse_cookie("name=value; $port=443") + ), + + %% Cookie: name=value; $domain=test.com + ?assertEqual( + [#cookie{key="name", value="value"}, + #cookie{key="$domain", value="test.com"}], + yaws_api:parse_cookie("name=value; $domain=test.com") + ), + + %% Cookie: $version=1, value1, value2; name=value + ?assertEqual( + [#cookie{key="$version", value="1"}, #cookie{key="value1"}, + #cookie{key="value2"}, #cookie{key="name", value="value"}], + yaws_api:parse_cookie("$version=1, value1, value2; name=value") + ), + + %% Cookies with trailing spaces + ?assertEqual( + [#cookie{key="value"}], + yaws_api:parse_cookie("value ") + ), + ?assertEqual( + [#cookie{key="name", value="value"}], + yaws_api:parse_cookie("name=value ") + ), + ?assertEqual( + [#cookie{key="name", value="value"}], + yaws_api:parse_cookie("name=value; ") + ), + ?assertEqual( + [#cookie{key="name", value="value [quoted]", quoted=true}], + yaws_api:parse_cookie("name=\"value [quoted]\" \n") + ), + ?assertEqual( + [#cookie{key="$version", value="1"}, #cookie{key="value1"}, + #cookie{key="value2"}, #cookie{key="name", value="value"}], + yaws_api:parse_cookie(" $version = 1\n , value1\t , value2\r\n; name =\n\t value ; ") + ), + ok. + +parse_invalid_set_cookies(_Config) -> + ?assertEqual([], yaws_api:parse_set_cookie("name=value [quoted]")), + ?assertEqual([], yaws_api:parse_set_cookie("name1=value1 name2=value2")), + ?assertEqual([], yaws_api:parse_set_cookie("name1=value1 domain=test.com path=/")), + ?assertEqual([], yaws_api:parse_set_cookie("name=value; secure=1")), + ok. + +parse_invalid_cookies(_Config) -> + ?assertEqual([], yaws_api:parse_cookie("name=value [quoted]")), + ?assertEqual([], yaws_api:parse_cookie("name1=value1 name2=value2")), + ok. + +format_cookies(_Config) -> + %% Cookie: value + ?assertEqual( + "value", + lists:flatten( + yaws_api:format_cookie(#cookie{key="value"}) + ) + ), + + %% Cookie: name=value + ?assertEqual( + "name=value", + lists:flatten( + yaws_api:format_cookie(#cookie{key="name", value="value"}) + ) + ), + + %% Cookie: name="value [quoted]" + ?assertEqual( + "name=\"value [quoted]\"", + lists:flatten( + yaws_api:format_cookie( + #cookie{key="name", value="value [quoted]", quoted=true} + ) + ) + ), + + %% Cookie: value1; value2; name=value + ?assertEqual( + "value1; value2; name=value", + lists:flatten( + yaws_api:format_cookie([#cookie{key="value1"}, #cookie{key="value2"}, + #cookie{key="name", value="value"}]) + ) + ), + ok. + +get_multiple_cookies(_Config) -> + ?assertEqual("1234", yaws_api:find_cookie_val("abc", ["abc=1234;def=5678"])), + ?assertEqual("5678", yaws_api:find_cookie_val("def", ["abc=1234;def=5678"])), + ?assertEqual([], yaws_api:find_cookie_val("ghij", ["abc=1234;def=5678"])), + ok. + +cookie_key_case_insensitive(_Config) -> + ?assertEqual("1234", yaws_api:find_cookie_val("abc", ["abc=1234"])), + ?assertEqual("1234", yaws_api:find_cookie_val("abc", ["ABC=1234"])), + ?assertEqual("1234", yaws_api:find_cookie_val("AbC", ["aBc=1234"])), + ok. + + +set_cookie_expires(_Config) -> + %% rfc1123 date format + ?assertEqual( + #setcookie{key="a", value="b", expires="Sat, 02 May 2009 23:38:25 GMT"}, + yaws_api:parse_set_cookie("a=b; Expires=Sat, 02 May 2009 23:38:25 GMT") + ), + + %% rfc1123 date format with hyphens + ?assertEqual( + #setcookie{key="a", value="b", expires="Sat, 02-May-2009 23:38:25 GMT"}, + yaws_api:parse_set_cookie("a=b; Expires=Sat, 02-May-2009 23:38:25 GMT") + ), + + %% rfc1036 date format + ?assertEqual( + #setcookie{key="a", value="b", expires="Saturday, 02-May-2009 23:38:25 GMT"}, + yaws_api:parse_set_cookie("a=b; Expires=Saturday, 02-May-2009 23:38:25 GMT") + ), + + %% AINSI C's astime format: must be in double quotes + ?assertEqual( + #setcookie{key="a", value="b", expires="Sat May 2 23:38:25 2009"}, + yaws_api:parse_set_cookie("a=b; Expires=\"Sat May 2 23:38:25 2009\"") + ), + + ok. + +real_cookies(_Config) -> + File = filename:join(?data_srcdir(?MODULE), "cookies.dump"), + {ok, Io} = file:open(File, read), + ?assertEqual(ok, parse_cookies(Io, file:read_line(Io), 1)), + ok. + +real_setcookies(_Config) -> + File = filename:join(?data_srcdir(?MODULE), "setcookies.dump"), + {ok, Io} = file:open(File, read), + ?assertEqual(ok, parse_set_cookies(Io, file:read_line(Io), 1)), + ok. + +set_cookie(_Config) -> + ?assertEqual( + "a=bcd; Comment=OK; Domain=g.com; Path=/; Max-Age=1; " + "Expires=Tue, 03 Jan 2012 10:00:05 GMT; HttpOnly; Secure", + begin + {header, {set_cookie, L}} = yaws_api:set_cookie("a", "bcd", + [{expires, {{2012,1,3},{10,0,5}}}, + {max_age, 1}, secure, http_only, + {path, "/"}, {domain, "g.com"}, {comment, "OK"}]), + lists:flatten(L) + end), + ?assertEqual( + "a=bcd; Path=/home", + begin + {header, {set_cookie, L}} = + yaws_api:set_cookie("a", "bcd", [{path, "/home"}]), + lists:flatten(L) + end), + ?assertEqual( + "a=bcd", + begin + {header, {set_cookie, L}} = yaws_api:set_cookie("a", "bcd", []), + lists:flatten(L) + end). + + +%%==================================================================== +parse_cookies(Io, eof, _) -> + file:close(Io), + ok; +parse_cookies(Io, {error, Reason}, LNo) -> + file:close(Io), + {error, Reason, LNo}; +parse_cookies(Io, {ok, Line0}, LNo) -> + Line = string:strip(Line0, right, $\n), + Cookies = yaws_api:parse_cookie(Line), + ?assertMatch({LNo, [C|_]} when is_record(C, cookie), {LNo, Cookies}), + ?assertEqual( + string:to_lower(Line), + string:to_lower(lists:flatten(yaws_api:format_cookie(Cookies))) + ), + parse_cookies(Io, file:read_line(Io), LNo+1). + + +parse_set_cookies(Io, eof, _) -> + file:close(Io), + ok; +parse_set_cookies(Io, {error, Reason}, LNo) -> + file:close(Io), + {error, Reason, LNo}; +parse_set_cookies(Io, {ok, Line0}, LNo) -> + Line = string:strip(Line0, right, $\n), + SetCookie = yaws_api:parse_set_cookie(Line), + ?assertMatch({LNo, C} when is_record(C, setcookie), {LNo, SetCookie}), + ?assertEqual( + string:to_lower(string:substr(Line, 1, string:chr(Line, $=)-1)), + SetCookie#setcookie.key + ), + parse_set_cookies(Io, file:read_line(Io), LNo+1). diff -Nru yaws-2.0.6+dfsg/testsuite/copy_error_log_SUITE.erl yaws-2.0.7+dfsg/testsuite/copy_error_log_SUITE.erl --- yaws-2.0.6+dfsg/testsuite/copy_error_log_SUITE.erl 1970-01-01 00:00:00.000000000 +0000 +++ yaws-2.0.7+dfsg/testsuite/copy_error_log_SUITE.erl 2019-07-14 13:01:11.000000000 +0000 @@ -0,0 +1,48 @@ +-module(copy_error_log_SUITE). + +-include("testsuite.hrl"). + +-compile(export_all). + +all() -> + [ + error_log_handler + ]. + +groups() -> + [ + ]. + +%%==================================================================== +init_per_suite(Config) -> + Config. + +end_per_suite(_Config) -> + ok. + +init_per_group(_Group, Config) -> + Config. + +end_per_group(_Group, _Config) -> + ok. + +init_per_testcase(_Test, Config) -> + Config. + +end_per_testcase(_Test, _Config) -> + ok. + +%%==================================================================== +error_log_handler(_Config) -> + ?assertMatch({ok, _}, yaws_log:start_link()), + GConf = yaws:create_gconf([], default), + SConf = yaws:create_sconf(".", []), + ?assertEqual(ok, yaws_log:setup(GConf, [SConf])), + + Handlers = gen_event:which_handlers(error_logger), + ?assert(lists:member(yaws_log_file_h, Handlers)), + + Dir = yaws:gconf_logdir(GConf), + File = filename:join([Dir, "report.log"]), + ?assert(filelib:is_regular(File)), + ok. diff -Nru yaws-2.0.6+dfsg/testsuite/deflate_SUITE_data/bigtest.erl yaws-2.0.7+dfsg/testsuite/deflate_SUITE_data/bigtest.erl --- yaws-2.0.6+dfsg/testsuite/deflate_SUITE_data/bigtest.erl 1970-01-01 00:00:00.000000000 +0000 +++ yaws-2.0.7+dfsg/testsuite/deflate_SUITE_data/bigtest.erl 2019-07-14 13:01:11.000000000 +0000 @@ -0,0 +1,9 @@ +-module(bigtest). +-export([out/1]). + +-include("../../include/yaws.hrl"). +-include("../../include/yaws_api.hrl"). + +out(_Arg) -> + [{status, 200}, {page, "/3000.txt"}]. + diff -Nru yaws-2.0.6+dfsg/testsuite/deflate_SUITE_data/binary_header.erl yaws-2.0.7+dfsg/testsuite/deflate_SUITE_data/binary_header.erl --- yaws-2.0.6+dfsg/testsuite/deflate_SUITE_data/binary_header.erl 1970-01-01 00:00:00.000000000 +0000 +++ yaws-2.0.7+dfsg/testsuite/deflate_SUITE_data/binary_header.erl 2019-07-14 13:01:11.000000000 +0000 @@ -0,0 +1,10 @@ +-module(binary_header). +-export([out/1]). + +out(_Arg) -> + %% Regression test for github issue 367, where returning a binary + %% header with deflate on would cause a crash. + %% https://github.com/klacke/yaws/issues/367 + [{status, 200}, + {header, {content_type, <<"application/octet">>}}, + {ehtml, {pre,[],<<"ABCDEFGHIJKLMNOPQRSTUVWXYZ\n">>}}]. diff -Nru yaws-2.0.6+dfsg/testsuite/deflate_SUITE_data/emptytest.erl yaws-2.0.7+dfsg/testsuite/deflate_SUITE_data/emptytest.erl --- yaws-2.0.6+dfsg/testsuite/deflate_SUITE_data/emptytest.erl 1970-01-01 00:00:00.000000000 +0000 +++ yaws-2.0.7+dfsg/testsuite/deflate_SUITE_data/emptytest.erl 2019-07-14 13:01:11.000000000 +0000 @@ -0,0 +1,9 @@ +-module(emptytest). +-export([out/1]). + +-include("../../include/yaws.hrl"). +-include("../../include/yaws_api.hrl"). + +out(_Arg) -> + {status, 200}. + diff -Nru yaws-2.0.6+dfsg/testsuite/deflate_SUITE_data/smalltest.erl yaws-2.0.7+dfsg/testsuite/deflate_SUITE_data/smalltest.erl --- yaws-2.0.6+dfsg/testsuite/deflate_SUITE_data/smalltest.erl 1970-01-01 00:00:00.000000000 +0000 +++ yaws-2.0.7+dfsg/testsuite/deflate_SUITE_data/smalltest.erl 2019-07-14 13:01:11.000000000 +0000 @@ -0,0 +1,9 @@ +-module(smalltest). +-export([out/1]). + +-include("../../include/yaws.hrl"). +-include("../../include/yaws_api.hrl"). + +out(_Arg) -> + [{status, 200}, {page, "/1000.txt"}]. + diff -Nru yaws-2.0.6+dfsg/testsuite/deflate_SUITE_data/streamtest.erl yaws-2.0.7+dfsg/testsuite/deflate_SUITE_data/streamtest.erl --- yaws-2.0.6+dfsg/testsuite/deflate_SUITE_data/streamtest.erl 1970-01-01 00:00:00.000000000 +0000 +++ yaws-2.0.7+dfsg/testsuite/deflate_SUITE_data/streamtest.erl 2019-07-14 13:01:11.000000000 +0000 @@ -0,0 +1,12 @@ +-module(streamtest). +-export([out/1]). + +-include("../../include/yaws.hrl"). +-include("../../include/yaws_api.hrl"). + +out(_Arg) -> + yaws_api:stream_chunk_deliver(self(), "and this is the second one\n"), + yaws_api:stream_chunk_deliver(self(), "con"), + yaws_api:stream_chunk_deliver(self(), "sequence"), + yaws_api:stream_chunk_end(self()), + {streamcontent, "text/plain", "This is the data in the first chunk\n"}. diff -Nru yaws-2.0.6+dfsg/testsuite/deflate_SUITE_data/templates/yaws.conf yaws-2.0.7+dfsg/testsuite/deflate_SUITE_data/templates/yaws.conf --- yaws-2.0.6+dfsg/testsuite/deflate_SUITE_data/templates/yaws.conf 1970-01-01 00:00:00.000000000 +0000 +++ yaws-2.0.7+dfsg/testsuite/deflate_SUITE_data/templates/yaws.conf 2019-07-14 13:01:11.000000000 +0000 @@ -0,0 +1,120 @@ +logdir = $logdir$ + +ebin_dir = $data_builddir$ + +trace = false +copy_error_log = true +log_wrap_size = 1000000 +log_resolve_hostname = false +fail_on_bind_err = true +pick_first_virthost_on_nomatch = true +keepalive_timeout = 10000 + +max_num_cached_bytes = 10485760 +max_size_cached_file = 5120000 + + + port = $yaws_port1$ + listen = 0.0.0.0 + deflate = false + appmods = emptytest streamtest + docroot = $tempdir$/www $wwwdir$ + + + + port = $yaws_port2$ + listen = 0.0.0.0 + deflate = true + appmods = emptytest streamtest + docroot = $tempdir$/www $wwwdir$ + + + + port = $yaws_port3$ + listen = 0.0.0.0 + deflate = true + docroot = $tempdir$/www $wwwdir$ + + mime_types = application/* + + + + + port = $yaws_port4$ + listen = 0.0.0.0 + deflate = true + docroot = $tempdir$/www $wwwdir$ + + mime_types = defaults + mime_types = application/* + + + + + port = $yaws_port5$ + listen = 0.0.0.0 + deflate = true + docroot = $tempdir$/www $wwwdir$ + appmods = binary_header + + mime_types = all + + + + + port = $yaws_port6$ + listen = 0.0.0.0 + deflate = true + docroot = $tempdir$/www $wwwdir$ + appmods = smalltest bigtest + + min_compress_size = 2048000 + + + + + + port = $yaws_port7$ + listen = 127.0.0.1 + deflate = true + docroot = $tempdir$/www $wwwdir$ + appmods = smalltest bigtest streamtest + + compression_level = best_speed + mem_level = 9 + strategy = huffman_only + window_size = 9 + + + + + + port = $yaws_port8$ + listen = 127.0.0.1 + deflate = true + docroot = $tempdir$/www $wwwdir$ + + use_gzip_static = true + + + + + + port = $yaws_port9$ + listen = 127.0.0.1 + deflate = true + docroot = $tempdir$/www $wwwdir$ + + min_compress_size = 20480000 + + + + + port = $yaws_port10$ + listen = 127.0.0.1 + deflate = true + docroot = $tempdir$/www $wwwdir$ + + mime_types = application/postscript + + diff -Nru yaws-2.0.6+dfsg/testsuite/deflate_SUITE.erl yaws-2.0.7+dfsg/testsuite/deflate_SUITE.erl --- yaws-2.0.6+dfsg/testsuite/deflate_SUITE.erl 1970-01-01 00:00:00.000000000 +0000 +++ yaws-2.0.7+dfsg/testsuite/deflate_SUITE.erl 2019-07-14 13:01:11.000000000 +0000 @@ -0,0 +1,374 @@ +-module(deflate_SUITE). + +-include("testsuite.hrl"). +-include_lib("kernel/include/file.hrl"). + +-compile(export_all). + +all() -> + [ + deflate_disabled, + deflate_enabled, + empty_response, + chunked_response, + deflate_options_mime_types, + deflate_options_compress_size, + deflate_options_gzip_static, + deflate_options_otheroptions + ]. + +groups() -> + [ + ]. + +%%==================================================================== +init_per_suite(Config) -> + ok = prepare_docroots(), + + Id = "testsuite-server", + YConf = filename:join(?tempdir(?MODULE), "yaws.conf"), + application:load(yaws), + application:set_env(yaws, id, Id), + application:set_env(yaws, conf, YConf), + ok = yaws:start(), + [{yaws_id, Id}, {yaws_config, YConf} | Config]. + +end_per_suite(_Config) -> + ok = application:stop(yaws), + ok = application:unload(yaws), + ok. + +init_per_group(_Group, Config) -> + Config. + +end_per_group(_Group, _Config) -> + ok. + +init_per_testcase(_Test, Config) -> + Config. + +end_per_testcase(_Test, _Config) -> + ok. + +%%==================================================================== +deflate_disabled(Config) -> + Port1 = testsuite:get_yaws_port(1, Config), + Port2 = testsuite:get_yaws_port(2, Config), + Url1_1 = testsuite:make_url(http, "127.0.0.1", Port1, "/1000.txt"), + Url1_2 = testsuite:make_url(http, "127.0.0.1", Port1, "/index.yaws"), + Url2_1 = testsuite:make_url(http, "127.0.0.1", Port2, "/1000.txt"), + Url2_2 = testsuite:make_url(http, "127.0.0.1", Port2, "/index.yaws"), + GzHdr = {"Accept-Encoding", "gzip, deflate"}, + + + %% Static content (and cached) - Not supported by server + {ok, {{_,200,_}, Hdrs1_1, _}} = testsuite:http_get(Url1_1, [GzHdr]), + ?assertEqual(undefined, proplists:get_value("content-encoding", Hdrs1_1)), + ?assertEqual(undefined, proplists:get_value("vary", Hdrs1_1)), + + %% Dynamic content - Not supported by server + {ok, {{_,200,_}, Hdrs1_2, _}} = testsuite:http_get(Url1_2, [GzHdr]), + ?assertEqual(undefined, proplists:get_value("content-encoding", Hdrs1_2)), + ?assertEqual(undefined, proplists:get_value("vary", Hdrs1_2)), + + %% Static content (and cached) - Not supported by client + {ok, {{_,200,_}, Hdrs2_1, _}} = testsuite:http_get(Url2_1), + ?assertEqual(undefined, proplists:get_value("content-encoding", Hdrs2_1)), + ?assertEqual("Accept-Encoding", proplists:get_value("vary", Hdrs2_1)), + + %% Dynamic content - Not supported by client + {ok, {{_,200,_}, Hdrs2_2, _}} = testsuite:http_get(Url2_2), + ?assertEqual(undefined, proplists:get_value("content-encoding", Hdrs2_2)), + ?assertEqual("Accept-Encoding", proplists:get_value("vary", Hdrs2_2)), + ok. + +deflate_enabled(Config) -> + Port = testsuite:get_yaws_port(2, Config), + Url1 = testsuite:make_url(http, "127.0.0.1", Port, "/1000.txt"), + Url2 = testsuite:make_url(http, "127.0.0.1", Port, "/index.yaws"), + {ok, Res} = file:read_file(filename:join(?tempdir(?MODULE), "www/1000.txt")), + GzHdr = {"Accept-Encoding", "gzip, deflate"}, + + %% Static content (and cathed) + {ok, {{_,200,_}, Hdrs1_1, Body1}} = testsuite:http_get(Url1, [GzHdr]), + ?assertEqual("gzip", proplists:get_value("content-encoding", Hdrs1_1)), + ?assertEqual("Accept-Encoding", proplists:get_value("vary", Hdrs1_1)), + ?assertEqual(Res, zlib:gunzip(Body1)), + + IFSHdr = {"If-Modified-Since", httpd_util:rfc1123_date()}, + ?assertMatch({ok, {{_,304,_}, _, _}}, testsuite:http_get(Url1, [GzHdr, IFSHdr])), + + %% Partial content is not compressed for small (and cached) files + RgHdr = {"Range", "bytes=100-499"}, + {ok, {{_,206,_}, Hdrs1_3, _}} = testsuite:http_get(Url1, [GzHdr, RgHdr]), + ?assertEqual("400", proplists:get_value("content-length", Hdrs1_3)), + ?assertEqual("Accept-Encoding", proplists:get_value("vary", Hdrs1_3)), + + %% Dynamic content + {ok, {{_,200,_}, Hdrs2, Body2}} = testsuite:http_get(Url2, [GzHdr]), + ?assertEqual("gzip", proplists:get_value("content-encoding", Hdrs2)), + ?assertEqual("Accept-Encoding", proplists:get_value("vary", Hdrs2)), + ?assert(is_binary(zlib:gunzip(Body2))), + ok. + +empty_response(Config) -> + Port1 = testsuite:get_yaws_port(1, Config), + Port2 = testsuite:get_yaws_port(2, Config), + Url1_1 = testsuite:make_url(http, "127.0.0.1", Port1, "/0.txt"), + Url1_2 = testsuite:make_url(http, "127.0.0.1", Port1, "/emptytest"), + Url2_1 = testsuite:make_url(http, "127.0.0.1", Port2, "/0.txt"), + Url2_2 = testsuite:make_url(http, "127.0.0.1", Port2, "/emptytest"), + GzHdr = {"Accept-Encoding", "gzip, deflate"}, + + %% Static content + {ok, {{_,200,_}, Hdrs1_1, _}} = testsuite:http_get(Url1_1, [GzHdr]), + ?assertEqual(undefined, proplists:get_value("content-encoding", Hdrs1_1)), + ?assertEqual(undefined, proplists:get_value("vary", Hdrs1_1)), + ?assertEqual("0", proplists:get_value("content-length", Hdrs1_1)), + + %% dynamic content + {ok, {{_,200,_}, Hdrs1_2, _}} = testsuite:http_get(Url1_2, [GzHdr]), + ?assertEqual(undefined, proplists:get_value("content-encoding", Hdrs1_2)), + ?assertEqual(undefined, proplists:get_value("vary", Hdrs1_2)), + ?assertEqual("0", proplists:get_value("content-length", Hdrs1_2)), + + %% Static content + {ok, {{_,200,_}, Hdrs2_1, _}} = testsuite:http_get(Url2_1, [GzHdr]), + ?assertEqual(undefined, proplists:get_value("content-encoding", Hdrs2_1)), + ?assertEqual(undefined, proplists:get_value("vary", Hdrs2_1)), + ?assertEqual("0", proplists:get_value("content-length", Hdrs2_1)), + + %% dynamic content + {ok, {{_,200,_}, Hdrs2_2, _}} = testsuite:http_get(Url2_2, [GzHdr]), + ?assertEqual(undefined, proplists:get_value("content-encoding", Hdrs2_2)), + ?assertEqual(undefined, proplists:get_value("vary", Hdrs2_2)), + ?assertEqual("0", proplists:get_value("content-length", Hdrs2_2)), + ok. + +chunked_response(Config) -> + Port = testsuite:get_yaws_port(2, Config), + Url1 = testsuite:make_url(http, "127.0.0.1", Port, "/10000.txt"), + Url2 = testsuite:make_url(http, "127.0.0.1", Port, "/10000.txt"), + Url3 = testsuite:make_url(http, "127.0.0.1", Port, "/streamtest"), + GzHdr = {"Accept-Encoding", "gzip, deflate"}, + + %% Static content (cannot be cached so the file is chunked) + {ok, {{_,200,_}, Hdrs1, _}} = testsuite:http_get(Url1, [GzHdr]), + ?assertEqual("gzip", proplists:get_value("content-encoding", Hdrs1)), + ?assertEqual("Accept-Encoding", proplists:get_value("vary", Hdrs1)), + ?assertEqual(undefined, proplists:get_value("content-length", Hdrs1)), + ?assertEqual("chunked", proplists:get_value("transfer-encoding", Hdrs1)), + + %% Partial content is not compressed for large files + RgHdr = {"Range", "bytes=500-599"}, + {ok, {{_,206,_}, Hdrs2, _}} = testsuite:http_get(Url2, [GzHdr, RgHdr]), + ?assertEqual(undefined, proplists:get_value("content-encoding", Hdrs2)), + ?assertEqual("Accept-Encoding", proplists:get_value("vary", Hdrs2)), + ?assertEqual(undefined, proplists:get_value("transfer-encoding", Hdrs2)), + ?assertEqual("100", proplists:get_value("content-length", Hdrs2)), + + %% Dynamic content (chunked) + {ok, {{_,200,_}, Hdrs3, _}} = testsuite:http_get(Url3, [GzHdr]), + ?assertEqual("gzip", proplists:get_value("content-encoding", Hdrs3)), + ?assertEqual("Accept-Encoding", proplists:get_value("vary", Hdrs3)), + ?assertEqual(undefined, proplists:get_value("content-length", Hdrs3)), + ?assertEqual("chunked", proplists:get_value("transfer-encoding", Hdrs3)), + ok. + +deflate_options_mime_types(Config) -> + Port1 = testsuite:get_yaws_port(2, Config), + Port2 = testsuite:get_yaws_port(3, Config), + Port3 = testsuite:get_yaws_port(4, Config), + Port4 = testsuite:get_yaws_port(5, Config), + Port10 = testsuite:get_yaws_port(10, Config), + Url1 = testsuite:make_url(http, "127.0.0.1", Port1, "/icons/yaws.gif"), + Url2 = testsuite:make_url(http, "127.0.0.1", Port2, "/1000.txt"), + Url3 = testsuite:make_url(http, "127.0.0.1", Port2, "/yaws.eps"), + Url4 = testsuite:make_url(http, "127.0.0.1", Port3, "/1000.txt"), + Url5 = testsuite:make_url(http, "127.0.0.1", Port3, "/yaws.eps"), + Url6 = testsuite:make_url(http, "127.0.0.1", Port4, "/1000.txt"), + Url7 = testsuite:make_url(http, "127.0.0.1", Port4, "/yaws.eps"), + Url8 = testsuite:make_url(http, "127.0.0.1", Port4, "/binary_header/foo"), + Url10 = testsuite:make_url(http, "127.0.0.1", Port10, "/1000.txt"), + Url11 = testsuite:make_url(http, "127.0.0.1", Port10, "/yaws.eps"), + GzHdr = {"Accept-Encoding", "gzip, deflate"}, + + %% image/gif not compressed on localhost:yaws_port2 + {ok, {{_,200,_}, Hdrs1, _}} = testsuite:http_get(Url1, [GzHdr]), + ?assertEqual(undefined, proplists:get_value("content-encoding", Hdrs1)), + + %% application/* compressed on localhost:yaws_port3 but text/plain not + {ok, {{_,200,_}, Hdrs2, _}} = testsuite:http_get(Url2, [GzHdr]), + ?assertEqual(undefined, proplists:get_value("content-encoding", Hdrs2)), + + {ok, {{_,200,_}, Hdrs3, Body3}} = testsuite:http_get(Url3, [GzHdr]), + ?assertEqual("gzip", proplists:get_value("content-encoding", Hdrs3)), + ?assert(is_binary(zlib:gunzip(Body3))), + + %% application/* and text/* compressed on localhost:yaws_port4 + {ok, {{_,200,_}, Hdrs4, Body4}} = testsuite:http_get(Url4, [GzHdr]), + ?assertEqual("gzip", proplists:get_value("content-encoding", Hdrs4)), + ?assert(is_binary(zlib:gunzip(Body4))), + + {ok, {{_,200,_}, Hdrs5, Body5}} = testsuite:http_get(Url5, [GzHdr]), + ?assertEqual("gzip", proplists:get_value("content-encoding", Hdrs5)), + ?assert(is_binary(zlib:gunzip(Body5))), + + %% All mime types are compressed on localhost:yaws_port5 + {ok, {{_,200,_}, Hdrs6, Body6}} = testsuite:http_get(Url6, [GzHdr]), + ?assertEqual("gzip", proplists:get_value("content-encoding", Hdrs6)), + ?assert(is_binary(zlib:gunzip(Body6))), + + {ok, {{_,200,_}, Hdrs7, Body7}} = testsuite:http_get(Url7, [GzHdr]), + ?assertEqual("gzip", proplists:get_value("content-encoding", Hdrs7)), + ?assert(is_binary(zlib:gunzip(Body7))), + + {ok, {{_,200,_}, Hdrs8, Body8}} = testsuite:http_get(Url8, [GzHdr]), + ?assertEqual("gzip", proplists:get_value("content-encoding", Hdrs8)), + ?assert(is_binary(zlib:gunzip(Body8))), + + %% Verify no Vary header from localhost:yaws_port10 when response + %% is txt, but Vary is present when response is eps. + {ok, {{_,200,_}, Hdrs10, _}} = testsuite:http_get(Url10, [GzHdr]), + ?assertNot(proplists:is_defined("content-encoding", Hdrs10)), + ?assertNot(proplists:is_defined("vary", Hdrs10)), + {ok, {{_,200,_}, Hdrs11, _}} = testsuite:http_get(Url11, [GzHdr]), + ?assertEqual("gzip", proplists:get_value("content-encoding", Hdrs11)), + ?assertEqual("Accept-Encoding", proplists:get_value("vary", Hdrs11)), + ok. + +deflate_options_compress_size(Config) -> + Port1 = testsuite:get_yaws_port(6, Config), + Port2 = testsuite:get_yaws_port(9, Config), + Url1 = testsuite:make_url(http, "127.0.0.1", Port1, "/1000.txt"), + Url2 = testsuite:make_url(http, "127.0.0.1", Port1, "/3000.txt"), + Url3 = testsuite:make_url(http, "127.0.0.1", Port1, "/10000.txt"), + Url4 = testsuite:make_url(http, "127.0.0.1", Port2, "/10000.txt"), + Url5 = testsuite:make_url(http, "127.0.0.1", Port1, "/smalltest"), + Url6 = testsuite:make_url(http, "127.0.0.1", Port1, "/bigtest"), + GzHdr = {"Accept-Encoding", "gzip, deflate"}, + + %% Small static content (cached) + {ok, {{_,200,_}, Hdrs1, _}} = testsuite:http_get(Url1, [GzHdr]), + ?assertEqual(undefined, proplists:get_value("content-encoding", Hdrs1)), + + {ok, {{_,200,_}, Hdrs2, Body2}} = testsuite:http_get(Url2, [GzHdr]), + ?assertEqual("gzip", proplists:get_value("content-encoding", Hdrs2)), + ?assert(is_binary(zlib:gunzip(Body2))), + + %% Large static content (cached) + {ok, {{_,200,_}, Hdrs3, Body3}} = testsuite:http_get(Url3, [GzHdr]), + ?assertEqual("gzip", proplists:get_value("content-encoding", Hdrs3)), + ?assert(is_binary(zlib:gunzip(Body3))), + + {ok, {{_,200,_}, Hdrs4, _}} = testsuite:http_get(Url4, [GzHdr]), + ?assertEqual(undefined, proplists:get_value("content-encoding", Hdrs4)), + + %% Dynamic content + {ok, {{_,200,_}, Hdrs5, _}} = testsuite:http_get(Url5, [GzHdr]), + ?assertEqual(undefined, proplists:get_value("content-encoding", Hdrs5)), + + {ok, {{_,200,_}, Hdrs6, Body6}} = testsuite:http_get(Url6, [GzHdr]), + ?assertEqual("gzip", proplists:get_value("content-encoding", Hdrs6)), + ?assert(is_binary(zlib:gunzip(Body6))), + ok. + +deflate_options_gzip_static(Config) -> + Port1 = testsuite:get_yaws_port(7, Config), + Port2 = testsuite:get_yaws_port(8, Config), + Url1 = testsuite:make_url(http, "127.0.0.1", Port1, "/10000.txt"), + Url2 = testsuite:make_url(http, "127.0.0.1", Port2, "/10000.txt"), + Url3 = testsuite:make_url(http, "127.0.0.1", Port2, "/10000.txt.old"), + GzHdr = {"Accept-Encoding", "gzip, deflate"}, + + %% when gzip_static is disabled, large static files are chunked + {ok, {{_,200,_}, Hdrs1, Body1}} = testsuite:http_get(Url1, [GzHdr]), + ?assertEqual("gzip", proplists:get_value("content-encoding", Hdrs1)), + ?assertEqual("chunked", proplists:get_value("transfer-encoding", Hdrs1)), + ?assertEqual(undefined, proplists:get_value("content-length", Hdrs1)), + ?assert(is_binary(zlib:gunzip(Body1))), + + %% when gzip_static is enabled, if precompressed static file is found, the + %% response is not chunked + {ok, {{_,200,_}, Hdrs2, Body2}} = testsuite:http_get(Url2, [GzHdr]), + ?assertEqual("gzip", proplists:get_value("content-encoding", Hdrs2)), + ?assertEqual(undefined, proplists:get_value("transfer-encoding", Hdrs2)), + ?assert(is_binary(zlib:gunzip(Body2))), + + %% if mtimes of compressed and uncompress files do not match, the compressed + %% file is ignored + {ok, {{_,200,_}, Hdrs3, Body3}} = testsuite:http_get(Url3, [GzHdr]), + ?assertEqual("gzip", proplists:get_value("content-encoding", Hdrs3)), + ?assertEqual("chunked", proplists:get_value("transfer-encoding", Hdrs3)), + ?assertEqual(undefined, proplists:get_value("content-length", Hdrs3)), + ?assert(is_binary(zlib:gunzip(Body3))), + ok. + +deflate_options_otheroptions(Config) -> + Port = testsuite:get_yaws_port(7, Config), + Url1 = testsuite:make_url(http, "127.0.0.1", Port, "/1000.txt"), + Url2 = testsuite:make_url(http, "127.0.0.1", Port, "/10000.txt"), + Url3 = testsuite:make_url(http, "127.0.0.1", Port, "/smalltest"), + Url4 = testsuite:make_url(http, "127.0.0.1", Port, "/bigtest"), + Url5 = testsuite:make_url(http, "127.0.0.1", Port, "/streamtest"), + GzHdr = {"Accept-Encoding", "gzip, deflate"}, + + %% Static content + {ok, {{_,200,_}, Hdrs1, Body1}} = testsuite:http_get(Url1, [GzHdr]), + ?assertEqual("gzip", proplists:get_value("content-encoding", Hdrs1)), + ?assert(is_binary(zlib:gunzip(Body1))), + + {ok, {{_,200,_}, Hdrs2, Body2}} = testsuite:http_get(Url2, [GzHdr]), + ?assertEqual("gzip", proplists:get_value("content-encoding", Hdrs2)), + ?assertEqual("chunked", proplists:get_value("transfer-encoding", Hdrs2)), + ?assertEqual(undefined, proplists:get_value("content-length", Hdrs2)), + ?assert(is_binary(zlib:gunzip(Body2))), + + %% Dynamic content + {ok, {{_,200,_}, Hdrs3, Body3}} = testsuite:http_get(Url3, [GzHdr]), + ?assertEqual("gzip", proplists:get_value("content-encoding", Hdrs3)), + ?assert(is_binary(zlib:gunzip(Body3))), + + {ok, {{_,200,_}, Hdrs4, Body4}} = testsuite:http_get(Url4, [GzHdr]), + ?assertEqual("gzip", proplists:get_value("content-encoding", Hdrs4)), + ?assert(is_binary(zlib:gunzip(Body4))), + + {ok, {{_,200,_}, Hdrs5, Body5}} = testsuite:http_get(Url5, [GzHdr]), + ?assertEqual("gzip", proplists:get_value("content-encoding", Hdrs5)), + ?assertEqual("chunked", proplists:get_value("transfer-encoding", Hdrs5)), + ?assertEqual(undefined, proplists:get_value("content-length", Hdrs5)), + ?assert(is_binary(zlib:gunzip(Body5))), + + %% Multiple Accept-Encoding headers + %% This test reuses Uri1 and Body1. It sends two Accept-Encoding + %% headers to make sure Yaws handles them correctly. The reply + %% should be the same as for the static content test at the beginning + %% of this test function. + IdHdr = {"Accept-Encoding", "identity;q=0.5"}, + {ok, {{_,200,_}, Hdrs6, Body1}} = testsuite:http_get(Url1, [IdHdr, GzHdr]), + ?assertEqual("gzip", proplists:get_value("content-encoding", Hdrs6)), + ok. + +%%==================================================================== +prepare_docroots() -> + WWW = filename:join(?tempdir(?MODULE), "www"), + ok = testsuite:create_dir(WWW), + + Data = lists:duplicate(1024, $0), + ok = file:write_file(filename:join(WWW, "0.txt"), <<>>, [write]), + ok = file:write_file(filename:join(WWW, "1000.txt"), lists:duplicate(1000, Data), [write]), + ok = file:write_file(filename:join(WWW, "3000.txt"), lists:duplicate(3000, Data), [write]), + ok = file:write_file(filename:join(WWW, "10000.txt"), lists:duplicate(10000, Data), [write]), + + {ok, Bin} = file:read_file(filename:join(WWW, "10000.txt")), + GzBin = zlib:gzip(Bin), + ok = file:write_file(filename:join(WWW, "10000.txt.gz"), GzBin, [write]), + + {ok, _} = file:copy(filename:join(WWW, "10000.txt"), filename:join(WWW, "10000.txt.old")), + {ok, _} = file:copy(filename:join(WWW, "10000.txt.gz"), filename:join(WWW, "10000.txt.old.gz")), + + %% 10000.txt.old should be older than 10000.txt.old.gz + {ok, FI} = file:read_file_info(filename:join(WWW, "10000.txt.old"), [{time,posix}]), + FI1 = FI#file_info{mtime=FI#file_info.mtime-60}, + ok = file:write_file_info(filename:join(WWW, "10000.txt.old.gz"), FI1, [{time,posix}]), + ok. diff -Nru yaws-2.0.6+dfsg/testsuite/dhfile_SUITE_data/invalid-dhparams.pem yaws-2.0.7+dfsg/testsuite/dhfile_SUITE_data/invalid-dhparams.pem --- yaws-2.0.6+dfsg/testsuite/dhfile_SUITE_data/invalid-dhparams.pem 1970-01-01 00:00:00.000000000 +0000 +++ yaws-2.0.7+dfsg/testsuite/dhfile_SUITE_data/invalid-dhparams.pem 2019-07-14 13:01:11.000000000 +0000 @@ -0,0 +1,2 @@ +-----BEGIN DH PARAMETERS----- +-----END DH PARAMETERS----- diff -Nru yaws-2.0.6+dfsg/testsuite/dhfile_SUITE_data/templates/yaws.conf yaws-2.0.7+dfsg/testsuite/dhfile_SUITE_data/templates/yaws.conf --- yaws-2.0.6+dfsg/testsuite/dhfile_SUITE_data/templates/yaws.conf 1970-01-01 00:00:00.000000000 +0000 +++ yaws-2.0.7+dfsg/testsuite/dhfile_SUITE_data/templates/yaws.conf 2019-07-14 13:01:11.000000000 +0000 @@ -0,0 +1,34 @@ +logdir = $logdir$ + +trace = false +copy_error_log = true +log_wrap_size = 1000000 +log_resolve_hostname = false +fail_on_bind_err = true +pick_first_virthost_on_nomatch = true +keepalive_timeout = 10000 + + + + listen = 127.0.0.1 + port = $yaws_port1$ + docroot = $wwwdir$ + + keyfile = $top_srcdir$/ssl/yaws-key.pem + certfile = $top_srcdir$/ssl/yaws-cert.pem + dhfile = $top_srcdir$/ssl/dhparams.pem + depth = 0 + + + + + listen = 127.0.0.1 + port = $yaws_port2$ + docroot = $wwwdir$ + + keyfile = $top_srcdir$/ssl/yaws-key.pem + certfile = $top_srcdir$/ssl/yaws-cert.pem + dhfile = $data_srcdir$/invalid-dhparams.pem + depth = 0 + + diff -Nru yaws-2.0.6+dfsg/testsuite/dhfile_SUITE.erl yaws-2.0.7+dfsg/testsuite/dhfile_SUITE.erl --- yaws-2.0.6+dfsg/testsuite/dhfile_SUITE.erl 1970-01-01 00:00:00.000000000 +0000 +++ yaws-2.0.7+dfsg/testsuite/dhfile_SUITE.erl 2019-07-14 13:01:11.000000000 +0000 @@ -0,0 +1,67 @@ +-module(dhfile_SUITE). + +-include("testsuite.hrl"). +-include_lib("kernel/include/file.hrl"). + +-compile(export_all). + +all() -> + [ + ssl_with_valid_dhfile, + ssl_with_invalid_dhfile + ]. + +groups() -> + [ + ]. + +%%==================================================================== +init_per_suite(Config) -> + Id = "testsuite-server", + YConf = filename:join(?tempdir(?MODULE), "yaws.conf"), + application:load(yaws), + application:set_env(yaws, id, Id), + application:set_env(yaws, conf, YConf), + ok = yaws:start(), + [{yaws_id, Id}, {yaws_config, YConf} | Config]. + +end_per_suite(_Config) -> + ok = application:stop(yaws), + ok = application:unload(yaws), + ok. + +init_per_group(_Group, Config) -> + Config. + +end_per_group(_Group, _Config) -> + ok. + +init_per_testcase(_Test, Config) -> + Config. + +end_per_testcase(_Test, _Config) -> + ok. + +%%==================================================================== +ssl_with_valid_dhfile(Config) -> + Port = testsuite:get_yaws_port(1, Config), + Url = testsuite:make_url(https, "127.0.0.1", Port, "/index.yaws"), + + %% The server has its own Diffie-Hellman group. Try connecting with + %% ephemeral DH and see if it works. + SslOpts = [{ciphers, [C || {dhe_rsa, _, _}=C <- ssl:cipher_suites()]}], + + ?assertMatch({ok, {{_,200,_}, _, _}}, testsuite:http_get(Url, [], [], SslOpts)), + ok. + +ssl_with_invalid_dhfile(Config) -> + Port = testsuite:get_yaws_port(2, Config), + Url = testsuite:make_url(https, "127.0.0.1", Port, "/index.yaws"), + + %% ssl:listen/2 succeeds even when an invalid dhfile is given, and then + %% fails on ssl:ssl_accept/2. This sounds like a bug in ssl:listen/2 but + %% that's how it works anyway. + SslOpts = [{ciphers, [C || {dhe_rsa, _, _}=C <- ssl:cipher_suites()]}], + + ?assertMatch({error, _}, testsuite:http_get(Url, [], [], SslOpts)), + ok. diff -Nru yaws-2.0.6+dfsg/testsuite/dynopts_SUITE.erl yaws-2.0.7+dfsg/testsuite/dynopts_SUITE.erl --- yaws-2.0.6+dfsg/testsuite/dynopts_SUITE.erl 1970-01-01 00:00:00.000000000 +0000 +++ yaws-2.0.7+dfsg/testsuite/dynopts_SUITE.erl 2019-07-14 13:01:11.000000000 +0000 @@ -0,0 +1,147 @@ +-module(dynopts_SUITE). + +-include("testsuite.hrl"). + +-compile(export_all). + +all() -> + [ + compare_version, + default_dynopts, + generated_dynopts + ]. + +groups() -> + [ + ]. + +%%==================================================================== +init_per_suite(Config) -> + Config. + +end_per_suite(_Config) -> + ok. + +init_per_group(_Group, Config) -> + Config. + +end_per_group(_Test, _Config) -> + ok. + +init_per_testcase(_Test, Config) -> + %% Be sure to purge generated module, if any + code:purge(yaws_dynopts), + code:delete(yaws_dynopts), + Config. + +end_per_testcase(_Test, _Config) -> + ok. + +%%==================================================================== +compare_version(_Config) -> + ?assert(yaws_dynopts:is_greater("2", "1")), + ?assert(yaws_dynopts:is_greater("2.0", "1.0")), + ?assert(yaws_dynopts:is_greater("1.1", "1.0")), + ?assert(yaws_dynopts:is_greater("1.1", "1.0.0")), + ?assert(yaws_dynopts:is_greater("1.1.0", "1.0.1")), + ?assert(yaws_dynopts:is_greater("1.0.2", "1.0.1")), + ?assert(yaws_dynopts:is_greater("1.0.2-rc1", "1.0.1")), + ?assert(yaws_dynopts:is_greater("1.0.2", "1.0.1-rc1")), + ?assert(yaws_dynopts:is_greater("1.0.2-rc1", "1.0.1-rc1")), + ?assert(yaws_dynopts:is_greater("1.0.2-rc1", "1.0-rc1")), + ok. + +default_dynopts(Config) -> + ?assertNot(yaws_dynopts:is_generated()), + ?assertEqual(ok, check_ssl_honor_cipher_order(Config)), + ?assertEqual(ok, check_ssl_client_renegotiation(Config)), + ?assertEqual(ok, check_ssl_sni(Config)), + ?assertEqual(ok, check_ssl_log_alert(Config)), + ?assertEqual(ok, check_erlang_now(Config)), + ?assertEqual(ok, check_rand(Config)), + ok. + +generated_dynopts(_Config) -> + ?assertNot(yaws_dynopts:is_generated()), + SSLHonorCipherOrder = yaws_dynopts:have_ssl_honor_cipher_order(), + SSLCliReneg = yaws_dynopts:have_ssl_client_renegotiation(), + SSLSni = yaws_dynopts:have_ssl_sni(), + SSLLogAlert = yaws_dynopts:have_ssl_log_alert(), + ErlNow = yaws_dynopts:have_erlang_now(), + Rand = yaws_dynopts:have_rand(), + + GC = yaws_config:make_default_gconf(false, "dummy_id"), + ?assertEqual(ok, yaws_dynopts:generate(GC)), + + ?assert(yaws_dynopts:is_generated()), + ?assertEqual(SSLHonorCipherOrder, yaws_dynopts:have_ssl_honor_cipher_order()), + ?assertEqual(SSLCliReneg, yaws_dynopts:have_ssl_client_renegotiation()), + ?assertEqual(SSLSni, yaws_dynopts:have_ssl_sni()), + ?assertEqual(SSLLogAlert, yaws_dynopts:have_ssl_log_alert()), + ?assertEqual(ErlNow, yaws_dynopts:have_erlang_now()), + ?assertEqual(Rand, yaws_dynopts:have_rand()), + ok. + +%%==================================================================== +check_ssl_honor_cipher_order(Config) -> + Port = testsuite:get_yaws_port(1, Config), + case yaws_dynopts:have_ssl_honor_cipher_order() of + true -> + {ok, Sock} = ssl:listen(Port, [{reuseaddr, true}, {honor_cipher_order, true}]), + ok = ssl:close(Sock); + false -> + {'EXIT', badarg} = + (catch ssl:listen(Port, [{reuseaddr, true}, {honor_cipher_order, true}])) + end, + ok. + +check_ssl_client_renegotiation(Config) -> + Port = testsuite:get_yaws_port(1, Config), + case yaws_dynopts:have_ssl_client_renegotiation() of + true -> + {ok, Sock} = ssl:listen(Port, [{reuseaddr, true}, {client_renegotiation, true}]), + ok = ssl:close(Sock); + false -> + {'EXIT',badarg} = + (catch ssl:listen(Port, [{reuseaddr, true}, {client_renegotiation, true}])) + end, + ok. + +check_ssl_sni(Config) -> + Port = testsuite:get_yaws_port(1, Config), + case yaws_dynopts:have_ssl_sni() of + true -> + {ok, Sock} = ssl:listen(Port, [{reuseaddr, true}, {sni_fun, fun(_) -> [] end}]), + ok = ssl:close(Sock); + false -> + {'EXIT', badarg} = + (catch ssl:listen(Port, [{reuseaddr, true}, {sni_fun, fun(_) -> [] end}])) + end, + ok. + +check_ssl_log_alert(Config) -> + Port = testsuite:get_yaws_port(1, Config), + case yaws_dynopts:have_ssl_log_alert() of + true -> + {ok, Sock} = ssl:listen(Port, [{reuseaddr, true}, {log_alert, true}]), + ok = ssl:close(Sock); + false -> + {'EXIT', badarg} = + (catch ssl:listen(Port, [{reuseaddr, true}, {log_alert, true}])) + end, + ok. + +check_erlang_now(_Config) -> + Funs = erlang:module_info(exports), + case yaws_dynopts:have_erlang_now() of + true -> false = lists:member({unique_integer, 1}, Funs); + false -> true = lists:member({unique_integer, 1}, Funs) + end, + ok. + +check_rand(_Config) -> + case yaws_dynopts:have_rand() of + true -> {module, rand} = code:ensure_loaded(rand); + false -> {error, _} = code:ensure_loaded(rand) + end, + ok. diff -Nru yaws-2.0.6+dfsg/testsuite/ehtml_SUITE.erl yaws-2.0.7+dfsg/testsuite/ehtml_SUITE.erl --- yaws-2.0.6+dfsg/testsuite/ehtml_SUITE.erl 1970-01-01 00:00:00.000000000 +0000 +++ yaws-2.0.7+dfsg/testsuite/ehtml_SUITE.erl 2019-07-14 13:01:11.000000000 +0000 @@ -0,0 +1,146 @@ +-module(ehtml_SUITE). + +-include("testsuite.hrl"). + +-compile(export_all). + +all() -> + [ + void_element, + non_void_element, + attributes, + simple_fun, + mfa, + nested_fun, + nested_mfa, + simple_attr, + mfa_attr, + nested_attr, + nested_mfa_attr + ]. + +groups() -> +[ +]. + +%%==================================================================== +init_per_suite(Config) -> + Config. + +end_per_suite(_Config) -> + ok. + +init_per_group(_Group, Config) -> + Config. + +end_per_group(_Group, _Config) -> + ok. + +init_per_testcase(_Test, Config) -> + Config. + +end_per_testcase(_Test, _Config) -> + ok. + +%%==================================================================== +void_element(_Config) -> + %% No end tag () for void elements in HTML5. + {ehtml, E1} = {ehtml, [{img, [{src, "foo.png"}, {alt, "foo"}]}]}, + Img = "\"foo\"", + ?assertEqual(Img, lists:flatten(yaws_api:ehtml_expand(E1))), + {ehtml, E2} = {ehtml, [{br}]}, + Br = "
        ", + ?assertEqual(Br,lists:flatten(yaws_api:ehtml_expand(E2))), + ok. + +non_void_element(_Config) -> + %% No self-closing syntax (/>) for non-void elements in HTML5. + {ehtml, E} = {ehtml, [{p}]}, + P = "

        ", + ?assertEqual(P, lists:flatten(yaws_api:ehtml_expand(E))), + ok. + +attributes(_Config) -> + {ehtml, E1} = {ehtml, [{img, [{check, src, <<"quote\".png">>}, + {check, width, 10}, + {height, 20}, + {check, alt, "quote\""}]}]}, + Img = <<"quote\"">>, + ?assertEqual(Img, iolist_to_binary(yaws_api:ehtml_expand(E1))), + {ehtml, E2} = {ehtml, [{a, [{href, <<"test">>}], <<"test link">>}]}, + A = <<"test link">>, + ?assertEqual(A, iolist_to_binary(yaws_api:ehtml_expand(E2))), + ok. + +get_title() -> + "Funtest Title". + +simple_fun(_Config) -> + {ehtml, E} = {ehtml, [{title, [], fun get_title/0}]}, + Title = "\n" ++ get_title() ++ "", + ?assertEqual(Title, lists:flatten(yaws_api:ehtml_expand(E))), + ok. + +mfa_fun(Args) -> + Args. + +mfa(_Config) -> + Args = ["another ", "string"], + {ehtml, E} = {ehtml, [{p, [], {?MODULE, mfa_fun, Args}}]}, + P = lists:flatten(["\n

        ", Args, "

        "]), + ?assertEqual(P, lists:flatten(yaws_api:ehtml_expand(E))), + ok. + +nested_fun(_Config) -> + Value = "paragraph", + {ehtml, E} = {ehtml, [fun() -> [{p, [], Value}] end]}, + P = lists:flatten(["\n

        ", Value, "

        "]), + ?assertEqual(P, lists:flatten(yaws_api:ehtml_expand(E))), + ok. + +nested_mfa_fun(Args) -> + fun() -> [{p, [], fun() -> Args end}] end. + +nested_mfa(_Config) -> + Args = ["another ", "string"], + {ehtml, E} = {ehtml, [{?MODULE, nested_mfa_fun, Args}]}, + P = lists:flatten(["\n

        ", Args, "

        "]), + ?assertEqual(P, lists:flatten(yaws_api:ehtml_expand(E))), + ok. + +get_link() -> + "http://yaws.hyber.org/". + +simple_attr(_Config) -> + Link = "link", + {ehtml, E} = {ehtml, [{a, [{href, fun get_link/0}], Link}]}, + A = lists:flatten(["", Link, ""]), + ?assertEqual(A, lists:flatten(yaws_api:ehtml_expand(E))), + ok. + +mfa_attr(_Config) -> + Args = [get_link()], + Link = "link", + {ehtml, E} = {ehtml, [{a, [{href, {?MODULE, mfa_fun, Args}}], Link}]}, + A = lists:flatten(["", Link, ""]), + ?assertEqual(A, lists:flatten(yaws_api:ehtml_expand(E))), + ok. + +nested_attr(_Config) -> + Link = "link", + {ehtml, E} = {ehtml, [{a, [{href, fun() -> fun get_link/0 end}], Link}]}, + A = lists:flatten(["", Link, ""]), + ?assertEqual(A, lists:flatten(yaws_api:ehtml_expand(E))), + ok. + +nested_mfa_attr_fun(Args) -> + {?MODULE, mfa_fun, Args}. + +nested_mfa_attr(_Config) -> + Args = [get_link()], + Link = "link", + {ehtml, E} = {ehtml, + [{a, [{href, {?MODULE, nested_mfa_attr_fun, Args}}], Link}]}, + A = lists:flatten(["", Link, ""]), + ?assertEqual(A, lists:flatten(yaws_api:ehtml_expand(E))), + ok. diff -Nru yaws-2.0.6+dfsg/testsuite/gconf_SUITE.erl yaws-2.0.7+dfsg/testsuite/gconf_SUITE.erl --- yaws-2.0.6+dfsg/testsuite/gconf_SUITE.erl 1970-01-01 00:00:00.000000000 +0000 +++ yaws-2.0.7+dfsg/testsuite/gconf_SUITE.erl 2019-07-14 13:01:11.000000000 +0000 @@ -0,0 +1,136 @@ +-module(gconf_SUITE). + +-include("testsuite.hrl"). + +-compile(export_all). + +all() -> + [ + setup_default_gconf, + set_gc_flags, + setup_mime_types_info + ]. + +groups() -> + [ + ]. + +%%==================================================================== +init_per_suite(Config) -> + Config. + +end_per_suite(_Config) -> + ok. + +init_per_group(_Group, Config) -> + Config. + +end_per_group(_Group, _Config) -> + ok. + +init_per_testcase(_Test, Config) -> + Config. + +end_per_testcase(_Test, _Config) -> + ok. + +%%==================================================================== +setup_default_gconf(_Config) -> + YawsDir = real_dir_path(yaws_dir()), + EbinDir = filename:join(YawsDir, "examples/ebin"), + IncDir = filename:join(YawsDir, "examples/include"), + + GC = yaws_config:make_default_gconf(false, "test"), + GC = yaws:create_gconf([], "test"), + + Flags = ?GC_FAIL_ON_BIND_ERR bor + ?GC_PICK_FIRST_VIRTHOST_ON_NOMATCH bor + ?GC_COPY_ERRLOG, + + {yaws_dir, YDir} = get_gconf_attr(yaws_dir, GC), + {ebin_dir, EDir} = get_gconf_attr(ebin_dir, GC), + {include_dir, IDir} = get_gconf_attr(include_dir, GC), + io:format("~p~n", [code:where_is_file("yaws.beam")]), + io:format("~p~n~p~n~p~n", [YawsDir, EbinDir, IncDir]), + io:format("~p~n~p~n~p~n", [YDir, EDir, IDir]), + YDir1 = real_dir_path(YDir), + EDir1 = real_dir_path(EDir), + IDir1 = real_dir_path(IDir), + + ?assertEqual(YDir1, YawsDir), + ?assertEqual(EDir1, EbinDir), + ?assertEqual(IDir1, IncDir), + + ?assertEqual({trace, false}, get_gconf_attr(trace, GC)), + ?assertEqual({flags, Flags}, get_gconf_attr(flags, GC)), + ?assertEqual({id, "test"}, get_gconf_attr(id, GC)), + + ok. + +set_gc_flags(_Config) -> + GC = yaws:create_gconf([], "test"), + ?assertEqual({tty_trace, true}, + check_gc_flags(tty_trace, ?GC_TTY_TRACE, GC)), + ?assertEqual({debug, true}, + check_gc_flags(debug, ?GC_DEBUG, GC)), + ?assertEqual({copy_errlog, true}, + check_gc_flags(copy_errlog, ?GC_COPY_ERRLOG, GC)), + ?assertEqual({backwards_compat_parse, true}, + check_gc_flags(backwards_compat_parse, ?GC_BACKWARDS_COMPAT_PARSE, GC)), + ?assertEqual({fail_on_bind_err, true}, + check_gc_flags(fail_on_bind_err, ?GC_FAIL_ON_BIND_ERR, GC)), + ?assertEqual({log_resolve_hostname, true}, + check_gc_flags(log_resolve_hostname, + ?GC_LOG_RESOLVE_HOSTNAME, GC)), + ?assertEqual({pick_first_virthost_on_nomatch, true}, + check_gc_flags(pick_first_virthost_on_nomatch, + ?GC_PICK_FIRST_VIRTHOST_ON_NOMATCH, GC)), + ok. + + +setup_mime_types_info(_Config) -> + GC0 = yaws:create_gconf([], "test"), + ?assertEqual(undefined, yaws:gconf_mime_types_info(GC0)), + + GC1 = yaws:create_gconf([{mime_types_info, []}], "test"), + MI1 = yaws:new_mime_types_info(), + MI1 = yaws:gconf_mime_types_info(GC1), + + MI2 = yaws:mime_types_info_mime_types_file(MI1, "/etc/mime.types"), + GC2 = yaws:create_gconf([{mime_types_info, MI2}], "test"), + + MI = yaws:mime_types_info_mime_types_file(yaws:gconf_mime_types_info(GC2)), + + ?assertEqual("/etc/mime.types", MI), + ok. + +%% ======================================================================= +get_gconf_attr(Name, GConf) -> + Fun = list_to_atom("gconf_" ++ atom_to_list(Name)), + {Name, yaws:Fun(GConf)}. + + +check_gc_flags(Flag, Id, GConf0) -> + Flags0 = yaws:gconf_flags(GConf0), + Val0 = (Flags0 band Id) /= 0, + + GConf1 = yaws:create_gconf([{flags, [{Flag, not Val0}]}], "test"), + Flags1 = yaws:gconf_flags(GConf1), + Flags2 = yaws:flag(Flags1, Id, Val0), + + {Flag, + (not Val0 == ((Flags1 band Id) /= 0) andalso Flags2 == Flags0)}. + +yaws_dir() -> + filename:dirname( %% yaws_dir/ + filename:dirname( %% yaws_dir/testsuite + filename:absname(code:which(?MODULE)) + ) + ). + +real_dir_path(Path) -> + {ok, CurCwd} = file:get_cwd(), + ok = file:set_cwd(Path), + {ok, RealPath} = file:get_cwd(), + ok = file:set_cwd(CurCwd), + filename:absname(RealPath). diff -Nru yaws-2.0.6+dfsg/testsuite/headers_SUITE.erl yaws-2.0.7+dfsg/testsuite/headers_SUITE.erl --- yaws-2.0.6+dfsg/testsuite/headers_SUITE.erl 1970-01-01 00:00:00.000000000 +0000 +++ yaws-2.0.7+dfsg/testsuite/headers_SUITE.erl 2019-07-14 13:01:11.000000000 +0000 @@ -0,0 +1,161 @@ +-module(headers_SUITE). + +-include("testsuite.hrl"). + +-compile(export_all). + +all() -> + [ + set_headers, + get_headers, + delete_headers, + merge_headers, + reformat_headers + ]. + +groups() -> + [ + ]. + +%%==================================================================== +init_per_suite(Config) -> + Config. + +end_per_suite(_Config) -> + ok. + +init_per_group(_Group, Config) -> + Config. + +end_per_group(_Group, _Config) -> + ok. + +init_per_testcase(_Test, Config) -> + Config. + +end_per_testcase(_Test, _Config) -> + ok. + +%%==================================================================== +set_headers(_Config) -> + Value = "test value", + lists:foreach( + fun({Hdr, StrHdr, Fun}) -> + NewHdrs = yaws_api:set_header(#headers{}, Hdr, Value), + ?assertEqual(Value, yaws_api:Fun(NewHdrs)), + ?assertEqual(Value, yaws_api:get_header(NewHdrs, StrHdr)), + ?assertEqual(0, length(NewHdrs#headers.other)) + end, + field_headers() + ), + Hdrs = yaws_api:set_header(create_headers(99), age, "123"), + ?assertEqual(100, length(Hdrs#headers.other)), + ok. + +get_headers(_Config) -> + ?assertEqual(undefined, yaws_api:get_header(#headers{}, accept)), + ?assertEqual(undefined, yaws_api:get_header(#headers{}, "Connection")), + ?assertEqual(none, yaws_api:get_header(#headers{}, range, none)), + ?assertEqual(none, yaws_api:get_header(#headers{}, "No-Such-Header", none)), + Hdrs = create_headers(100), + lists:foreach( + fun(I) -> + L = integer_to_list(I), + Val = "value"++L, + Hdr = "X-HEADER-"++L, + ?assertEqual(Val, yaws_api:get_header(Hdrs, Hdr)) + end, + lists:seq(1,100) + ), + ok. + +delete_headers(_Config) -> + Headers = create_headers(10), + Res = lists:foldl( + fun(I, {Size, Hdrs}) -> + ?assertEqual(Size, length(Hdrs#headers.other)), + L = integer_to_list(I), + Hdr = "X-Header-"++L, + NHdrs = yaws_api:delete_header(Hdrs, Hdr), + NewSize = Size - 1, + ?assertEqual(NewSize, length(NHdrs#headers.other)), + {NewSize, NHdrs} + end, + {10, Headers}, + lists:seq(1,10) + ), + ?assertEqual({0, #headers{}}, Res), + ok. + +merge_headers(_Config) -> + Hdrs0 = create_headers(10), + Hdrs1 = yaws_api:merge_header(Hdrs0, <<"x-header-7">>, <<"another-value">>), + Val1 = yaws_api:get_header(Hdrs1, 'x-header-7'), + Expected1 = lists:sort(["value7", "another-value"]), + ?assertEqual(Expected1, lists:sort(string:tokens(Val1, ", "))), + Hdrs2 = yaws_api:set_header(Hdrs1, "set-cookie", "user=joe"), + Hdrs3 = yaws_api:merge_header(Hdrs2, "set-cookie", "domain=erlang.org"), + Val2 = yaws_api:get_header(Hdrs3, "set-cookie"), + Expected2 = {multi, ["user=joe", "domain=erlang.org"]}, + ?assertEqual(Expected2, Val2), + ok. + +reformat_headers(_Config) -> + Hdrs0 = create_headers(10), + Hdrs1 = yaws_api:set_header(Hdrs0, "set-cookie", "user=joe"), + Hdrs2 = yaws_api:set_header(Hdrs1, "Connection", "close"), + Hdrs3 = yaws_api:merge_header(Hdrs2, "set-cookie", "domain=erlang.org"), + Hdrs4 = yaws_api:reformat_header(Hdrs3), + ?assert(lists:all(fun(T) -> T end, [lists:flatten(H) == H || H <- Hdrs4])), + %% Verify that a user-defined FormatFun that doesn't handle + %% {multi, ValueList} as documented in yaws_api.5 still works + Hdrs5 = yaws_api:reformat_header(Hdrs3, + fun(H, {multi, Vals}) -> + %% return a list of strings + [lists:flatten( + io_lib:format("~s: ~s", [H, V])) || + V <- Vals]; + (H, V) -> + %% return a binary + list_to_binary( + io_lib:format("~s: ~s", [H, V])) + end), + %% Only one element of the Hdrs5 list should be a list: the one + %% returned for the {multi, ValueList} tuple. + Expected = [["Set-Cookie: user=joe", "Set-Cookie: domain=erlang.org"]], + ?assertEqual(Expected, lists:filter(fun(V) -> is_list(V) end, Hdrs5)), + ok. + +create_headers(N) -> + lists:foldl(fun({Hdr,Val}, Hdrs) -> + yaws_api:set_header(Hdrs, Hdr, Val) + end, + #headers{}, + [begin + L = integer_to_list(I), + {"X-Header-"++L, "value"++L} + end || I <- lists:seq(1,N)]). + +%% these headers are the fields in the #headers{} record +field_headers() -> + [{connection, "Connection", headers_connection}, + {accept, "Accept", headers_accept}, + {host, "Host", headers_host}, + {if_modified_since,"If-Modified-Since", headers_if_modified_since}, + {if_match, "If-Match", headers_if_match}, + {if_none_match, "If-None-Match", headers_if_none_match}, + {if_range, "if-Range", headers_if_range}, + {if_unmodified_since, "If-Unmodified-Since", headers_if_unmodified_since}, + {range, "Range", headers_range}, + {referer, "Referer", headers_referer}, + {user_agent, "User-Agent", headers_user_agent}, + {accept_ranges, "Accept-Ranges", headers_accept_ranges}, + {cookie, "Cookie", headers_cookie}, + {keep_alive, "Keep-Alive", headers_keep_alive}, + {location, "Location", headers_location}, + {content_length, "Content-Length", headers_content_length}, + {content_type, "Content-Type", headers_content_type}, + {content_encoding, "Content-Encoding", headers_content_encoding}, + {authorization, "Authorization", headers_authorization}, + {transfer_encoding, "Transfer-Encoding", headers_transfer_encoding}, + {x_forwarded_for, "X-Forwarded-For", headers_x_forwarded_for}]. diff -Nru yaws-2.0.6+dfsg/testsuite/host_header_SUITE_data/templates/yaws.conf yaws-2.0.7+dfsg/testsuite/host_header_SUITE_data/templates/yaws.conf --- yaws-2.0.6+dfsg/testsuite/host_header_SUITE_data/templates/yaws.conf 1970-01-01 00:00:00.000000000 +0000 +++ yaws-2.0.7+dfsg/testsuite/host_header_SUITE_data/templates/yaws.conf 2019-07-14 13:01:11.000000000 +0000 @@ -0,0 +1,16 @@ +logdir = $logdir$ + +trace = false +copy_error_log = true +log_wrap_size = 1000000 +log_resolve_hostname = false +fail_on_bind_err = true +# For the Host header tests, the following must be false: +pick_first_virthost_on_nomatch = false +keepalive_timeout = 10000 + + + listen = 127.0.0.1 + port = $yaws_port1$ + docroot = $wwwdir$ + diff -Nru yaws-2.0.6+dfsg/testsuite/host_header_SUITE.erl yaws-2.0.7+dfsg/testsuite/host_header_SUITE.erl --- yaws-2.0.6+dfsg/testsuite/host_header_SUITE.erl 1970-01-01 00:00:00.000000000 +0000 +++ yaws-2.0.7+dfsg/testsuite/host_header_SUITE.erl 2019-07-14 13:01:11.000000000 +0000 @@ -0,0 +1,77 @@ +-module(host_header_SUITE). + +-include("testsuite.hrl"). +-include_lib("kernel/include/file.hrl"). + +-compile(export_all). + +all() -> + [ + missing_host_header, + multiple_host_headers, + wrong_host_header + ]. + +groups() -> + [ + ]. + +%%==================================================================== +init_per_suite(Config) -> + Id = "testsuite-server", + YConf = filename:join(?tempdir(?MODULE), "yaws.conf"), + application:load(yaws), + application:set_env(yaws, id, Id), + application:set_env(yaws, conf, YConf), + ok = yaws:start(), + [{yaws_id, Id}, {yaws_config, YConf} | Config]. + +end_per_suite(_Config) -> + ok = application:stop(yaws), + ok = application:unload(yaws), + ok. + +init_per_group(_Group, Config) -> + Config. + +end_per_group(_Group, _Config) -> + ok. + +init_per_testcase(_Test, Config) -> + Config. + +end_per_testcase(_Test, _Config) -> + ok. + +%%==================================================================== +missing_host_header(Config) -> + Port = testsuite:get_yaws_port(1, Config), + + {ok, S} = gen_tcp:connect("127.0.0.1", Port, [binary, {active,false}]), + ?assertEqual(ok, testsuite:send_http_request(S, {get, "/", "HTTP/1.1"}, [])), + ?assertMatch({ok, {{_,400,_}, _, _}}, testsuite:receive_http_response(S)), + ?assertEqual(ok, gen_tcp:close(S)), + ok. + +multiple_host_headers(Config) -> + Port = testsuite:get_yaws_port(1, Config), + + {ok, S} = gen_tcp:connect("127.0.0.1", Port, [binary, {active,false}]), + ?assertEqual(ok, + testsuite:send_http_request(S, {get, "/", "HTTP/1.1"}, + [{"Host", "localhost"}, + {"Host", "foo"}])), + ?assertMatch({ok, {{_,400,_}, _, _}}, testsuite:receive_http_response(S)), + ?assertEqual(ok, gen_tcp:close(S)), + ok. + +wrong_host_header(Config) -> + Port = testsuite:get_yaws_port(1, Config), + + {ok, S} = gen_tcp:connect("127.0.0.1", Port, [binary, {active,false}]), + ?assertEqual(ok, + testsuite:send_http_request(S, {get, "/", "HTTP/1.1"}, + [{"Host", "foo"}])), + ?assertMatch({ok, {{_,400,_}, _, _}}, testsuite:receive_http_response(S)), + ?assertEqual(ok, gen_tcp:close(S)), + ok. diff -Nru yaws-2.0.6+dfsg/testsuite/ipmask_SUITE.erl yaws-2.0.7+dfsg/testsuite/ipmask_SUITE.erl --- yaws-2.0.6+dfsg/testsuite/ipmask_SUITE.erl 1970-01-01 00:00:00.000000000 +0000 +++ yaws-2.0.7+dfsg/testsuite/ipmask_SUITE.erl 2019-07-14 13:01:11.000000000 +0000 @@ -0,0 +1,159 @@ +-module(ipmask_SUITE). + +-include("testsuite.hrl"). + +-compile(export_all). + +all() -> + [ + parse_ipmask, + match_ipmask + ]. + +groups() -> + [ + ]. + +%%==================================================================== +init_per_suite(Config) -> + Config. + +end_per_suite(_Config) -> + ok. + +init_per_group(_Group, Config) -> + Config. + +end_per_group(_Group, _Config) -> + ok. + +init_per_testcase(_Test, Config) -> + Config. + +end_per_testcase(_Test, _Config) -> + ok. + +%%==================================================================== +parse_ipmask(_Config) -> + ?assertEqual({127,0,0,1}, yaws:parse_ipmask("127.0.0.1")), + ?assertEqual({0,0,0,0,0,0,0,1}, yaws:parse_ipmask("::1")), + ?assertThrow({error, einval}, yaws:parse_ipmask("invalid")), + ?assertThrow({error, einval}, yaws:parse_ipmask(invalid)), + ?assertThrow({error, einval}, yaws:parse_ipmask("127.0.0.500")), + ?assertThrow({error, einval}, yaws:parse_ipmask("::ZZ")), + + ?assertEqual({127,0,0,1}, yaws:parse_ipmask("127.0.0.1/32")), + ?assertEqual({0,0,0,0,0,0,0,1}, yaws:parse_ipmask("::1/128")), + + ?assertEqual({{127,0,0,1}, {127,0,0,254}}, + yaws:parse_ipmask("127.0.0.1/24")), + ?assertEqual({{127,0,0,1}, {127,0,0,254}}, + yaws:parse_ipmask("127.0.0.1/255.255.255.0")), + ?assertEqual({{127,0,0,1}, {127,255,255,254}}, + yaws:parse_ipmask("127.0.0.0/8")), + ?assertEqual({{192,168,0,1}, {192,171,255,254}}, + yaws:parse_ipmask("192.168.4.2/14")), + ?assertEqual({{192,168,4,1}, {192,168,4,126}}, + yaws:parse_ipmask("192.168.4.2/25")), + + ?assertEqual({{0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,16#ffff}}, + yaws:parse_ipmask("::1/112")), + ?assertEqual({{0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,16#ffff}}, + yaws:parse_ipmask("::1/ffff:ffff:ffff:ffff:ffff:ffff:ffff:0")), + ?assertEqual({{0,0,0,0,0,0,0,0}, {0,0,0,0,16#ffff,16#ffff,16#ffff,16#ffff}}, + yaws:parse_ipmask("::1/64")), + ?assertEqual({{0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,16#003f}}, + yaws:parse_ipmask("::1/122")), + + ?assertThrow({error, einval}, yaws:parse_ipmask("127.0.0.1/36")), + ?assertThrow({error, einval}, yaws:parse_ipmask("127.0.0.1/256.0.0.0")), + ?assertThrow({error, einval}, yaws:parse_ipmask("::1/::fffg")), + ok. + + +match_ipmask(_Config) -> + ?assertEqual(true, yaws:match_ipmask({127,0,0,1}, {127,0,0,1})), + ?assertEqual(true, yaws:match_ipmask({0,0,0,0,0,0,0,1}, {0,0,0,0,0,0,0,1})), + ?assertEqual(false,yaws:match_ipmask({127,0,0,2}, {127,0,0,1})), + ?assertEqual(false,yaws:match_ipmask(undefined, {127,0,0,1})), + ?assertEqual(false,yaws:match_ipmask({127,0,0,1}, {0,0,0,0,0,0,0,1})), + + + ?assertEqual(true, yaws:match_ipmask({192,168,1,10}, + {{192,168,1,10}, {192,168,1,20}})), + ?assertEqual(false,yaws:match_ipmask({192,168,1,30}, + {{192,168,1,10}, {192,168,1,20}})), + + ?assertEqual(true, yaws:match_ipmask({192,168,1,30}, + {{192,168,1,0}, {192,168,2,0}})), + ?assertEqual(false,yaws:match_ipmask({192,168,2,10}, + {{192,168,1,0}, {192,168,2,0}})), + + ?assertEqual(true, yaws:match_ipmask({192,168,1,10}, + {{192,168,0,0}, {192,169,0,0}})), + ?assertEqual(true, yaws:match_ipmask({192,168,2,10}, + {{192,168,0,0}, {192,169,0,0}})), + ?assertEqual(false,yaws:match_ipmask({192,169,2,10}, + {{192,168,0,0}, {192,169,0,0}})), + + ?assertEqual(true, yaws:match_ipmask({192,168,2,10}, + {{192,0,0,0}, {193,0,0,0}})), + ?assertEqual(true, yaws:match_ipmask({192,169,2,10}, + {{192,0,0,0}, {193,0,0,0}})), + ?assertEqual(false,yaws:match_ipmask({193,169,2,10}, + {{192,0,0,0}, {193,0,0,0}})), + + ?assertEqual(true, yaws:match_ipmask({0,0,0,0,0,0,0,1}, + {{0,0,0,0,0,0,0,1}, {0,0,0,0,0,0,0,2}})), + ?assertEqual(false,yaws:match_ipmask({0,0,0,0,0,0,0,3}, + {{0,0,0,0,0,0,0,1}, {0,0,0,0,0,0,0,2}})), + + ?assertEqual(true, yaws:match_ipmask({0,0,0,0,0,0,1,0}, + {{0,0,0,0,0,0,1,0}, {0,0,0,0,0,0,2,0}})), + ?assertEqual(true, yaws:match_ipmask({0,0,0,0,0,0,1,3}, + {{0,0,0,0,0,0,1,0}, {0,0,0,0,0,0,2,0}})), + ?assertEqual(false,yaws:match_ipmask({0,0,0,0,0,0,3,0}, + {{0,0,0,0,0,0,1,0}, {0,0,0,0,0,0,2,0}})), + + ?assertEqual(true, yaws:match_ipmask({0,0,0,0,0,1,0,0}, + {{0,0,0,0,0,1,0,0}, {0,0,0,0,0,2,0,0}})), + ?assertEqual(true, yaws:match_ipmask({0,0,0,0,0,1,3,0}, + {{0,0,0,0,0,1,0,0}, {0,0,0,0,0,2,0,0}})), + ?assertEqual(false, yaws:match_ipmask({0,0,0,0,0,3,0,0}, + {{0,0,0,0,0,1,0,0}, {0,0,0,0,0,2,0,0}})), + + ?assertEqual(true, yaws:match_ipmask({0,0,0,0,1,0,0,0}, + {{0,0,0,0,1,0,0,0}, {0,0,0,0,2,0,0,0}})), + ?assertEqual(true, yaws:match_ipmask({0,0,0,0,1,3,0,0}, + {{0,0,0,0,1,0,0,0}, {0,0,0,0,2,0,0,0}})), + ?assertEqual(false,yaws:match_ipmask({0,0,0,0,3,0,0,0}, + {{0,0,0,0,1,0,0,0}, {0,0,0,0,2,0,0,0}})), + + ?assertEqual(true, yaws:match_ipmask({0,0,0,1,0,0,0,0}, + {{0,0,0,1,0,0,0,0}, {0,0,0,2,0,0,0,0}})), + ?assertEqual(true, yaws:match_ipmask({0,0,0,1,3,0,0,0}, + {{0,0,0,1,0,0,0,0}, {0,0,0,2,0,0,0,0}})), + ?assertEqual(false,yaws:match_ipmask({0,0,0,3,0,0,0,0}, + {{0,0,0,1,0,0,0,0}, {0,0,0,2,0,0,0,0}})), + + ?assertEqual(true, yaws:match_ipmask({0,0,1,0,0,0,0,0}, + {{0,0,1,0,0,0,0,0}, {0,0,2,0,0,0,0,0}})), + ?assertEqual(true, yaws:match_ipmask({0,0,1,3,0,0,0,0}, + {{0,0,1,0,0,0,0,0}, {0,0,2,0,0,0,0,0}})), + ?assertEqual(false,yaws:match_ipmask({0,0,3,0,0,0,0,0}, + {{0,0,1,0,0,0,0,0}, {0,0,2,0,0,0,0,0}})), + + ?assertEqual(true, yaws:match_ipmask({0,1,0,0,0,0,0,0}, + {{0,1,0,0,0,0,0,0}, {0,2,0,0,0,0,0,0}})), + ?assertEqual(true, yaws:match_ipmask({0,1,3,0,0,0,0,0}, + {{0,1,0,0,0,0,0,0}, {0,2,0,0,0,0,0,0}})), + ?assertEqual(false,yaws:match_ipmask({0,3,0,0,0,0,0,0}, + {{0,1,0,0,0,0,0,0}, {0,2,0,0,0,0,0,0}})), + + ?assertEqual(true, yaws:match_ipmask({1,0,0,0,0,0,0,0}, + {{1,0,0,0,0,0,0,0}, {2,0,0,0,0,0,0,0}})), + ?assertEqual(true, yaws:match_ipmask({1,3,0,0,0,0,0,0}, + {{1,0,0,0,0,0,0,0}, {2,0,0,0,0,0,0,0}})), + ?assertEqual(false,yaws:match_ipmask({3,0,0,0,0,0,0,0}, + {{1,0,0,0,0,0,0,0}, {2,0,0,0,0,0,0,0}})), + ok. diff -Nru yaws-2.0.6+dfsg/testsuite/json2_SUITE_data/invalid/apostrophe.json yaws-2.0.7+dfsg/testsuite/json2_SUITE_data/invalid/apostrophe.json --- yaws-2.0.6+dfsg/testsuite/json2_SUITE_data/invalid/apostrophe.json 1970-01-01 00:00:00.000000000 +0000 +++ yaws-2.0.7+dfsg/testsuite/json2_SUITE_data/invalid/apostrophe.json 2019-07-14 13:01:11.000000000 +0000 @@ -0,0 +1 @@ +[' \ No newline at end of file diff -Nru yaws-2.0.6+dfsg/testsuite/json2_SUITE_data/invalid/array_close.json yaws-2.0.7+dfsg/testsuite/json2_SUITE_data/invalid/array_close.json --- yaws-2.0.6+dfsg/testsuite/json2_SUITE_data/invalid/array_close.json 1970-01-01 00:00:00.000000000 +0000 +++ yaws-2.0.7+dfsg/testsuite/json2_SUITE_data/invalid/array_close.json 2019-07-14 13:01:11.000000000 +0000 @@ -0,0 +1 @@ +] \ No newline at end of file diff -Nru yaws-2.0.6+dfsg/testsuite/json2_SUITE_data/invalid/array_open.json yaws-2.0.7+dfsg/testsuite/json2_SUITE_data/invalid/array_open.json --- yaws-2.0.6+dfsg/testsuite/json2_SUITE_data/invalid/array_open.json 1970-01-01 00:00:00.000000000 +0000 +++ yaws-2.0.7+dfsg/testsuite/json2_SUITE_data/invalid/array_open.json 2019-07-14 13:01:11.000000000 +0000 @@ -0,0 +1 @@ +[ \ No newline at end of file diff -Nru yaws-2.0.6+dfsg/testsuite/json2_SUITE_data/invalid/ascii-unicode-identifier.json yaws-2.0.7+dfsg/testsuite/json2_SUITE_data/invalid/ascii-unicode-identifier.json --- yaws-2.0.6+dfsg/testsuite/json2_SUITE_data/invalid/ascii-unicode-identifier.json 1970-01-01 00:00:00.000000000 +0000 +++ yaws-2.0.7+dfsg/testsuite/json2_SUITE_data/invalid/ascii-unicode-identifier.json 2019-07-14 13:01:11.000000000 +0000 @@ -0,0 +1 @@ +aå \ No newline at end of file diff -Nru yaws-2.0.6+dfsg/testsuite/json2_SUITE_data/invalid/bogus_char.json yaws-2.0.7+dfsg/testsuite/json2_SUITE_data/invalid/bogus_char.json --- yaws-2.0.6+dfsg/testsuite/json2_SUITE_data/invalid/bogus_char.json 1970-01-01 00:00:00.000000000 +0000 +++ yaws-2.0.7+dfsg/testsuite/json2_SUITE_data/invalid/bogus_char.json 2019-07-14 13:01:11.000000000 +0000 @@ -0,0 +1,4 @@ +["this","is","what","should","be", + "a happy bit of json", + "but someone, misspelled \"true\"", ture, + "who says JSON is easy for humans to generate?"] \ No newline at end of file diff -Nru yaws-2.0.6+dfsg/testsuite/json2_SUITE_data/invalid/brace-comma.json yaws-2.0.7+dfsg/testsuite/json2_SUITE_data/invalid/brace-comma.json --- yaws-2.0.6+dfsg/testsuite/json2_SUITE_data/invalid/brace-comma.json 1970-01-01 00:00:00.000000000 +0000 +++ yaws-2.0.7+dfsg/testsuite/json2_SUITE_data/invalid/brace-comma.json 2019-07-14 13:01:11.000000000 +0000 @@ -0,0 +1 @@ +{, \ No newline at end of file diff -Nru yaws-2.0.6+dfsg/testsuite/json2_SUITE_data/invalid/bracket-comma.json yaws-2.0.7+dfsg/testsuite/json2_SUITE_data/invalid/bracket-comma.json --- yaws-2.0.6+dfsg/testsuite/json2_SUITE_data/invalid/bracket-comma.json 1970-01-01 00:00:00.000000000 +0000 +++ yaws-2.0.7+dfsg/testsuite/json2_SUITE_data/invalid/bracket-comma.json 2019-07-14 13:01:11.000000000 +0000 @@ -0,0 +1 @@ +[, \ No newline at end of file diff -Nru yaws-2.0.6+dfsg/testsuite/json2_SUITE_data/invalid/bracket-one-comma.json yaws-2.0.7+dfsg/testsuite/json2_SUITE_data/invalid/bracket-one-comma.json --- yaws-2.0.6+dfsg/testsuite/json2_SUITE_data/invalid/bracket-one-comma.json 1970-01-01 00:00:00.000000000 +0000 +++ yaws-2.0.7+dfsg/testsuite/json2_SUITE_data/invalid/bracket-one-comma.json 2019-07-14 13:01:11.000000000 +0000 @@ -0,0 +1 @@ +[1, \ No newline at end of file diff -Nru yaws-2.0.6+dfsg/testsuite/json2_SUITE_data/invalid/extra-comma-in-array.json yaws-2.0.7+dfsg/testsuite/json2_SUITE_data/invalid/extra-comma-in-array.json --- yaws-2.0.6+dfsg/testsuite/json2_SUITE_data/invalid/extra-comma-in-array.json 1970-01-01 00:00:00.000000000 +0000 +++ yaws-2.0.7+dfsg/testsuite/json2_SUITE_data/invalid/extra-comma-in-array.json 2019-07-14 13:01:11.000000000 +0000 @@ -0,0 +1 @@ +[1,] \ No newline at end of file diff -Nru yaws-2.0.6+dfsg/testsuite/json2_SUITE_data/invalid/extra-comma-in-multiline-array.json yaws-2.0.7+dfsg/testsuite/json2_SUITE_data/invalid/extra-comma-in-multiline-array.json --- yaws-2.0.6+dfsg/testsuite/json2_SUITE_data/invalid/extra-comma-in-multiline-array.json 1970-01-01 00:00:00.000000000 +0000 +++ yaws-2.0.7+dfsg/testsuite/json2_SUITE_data/invalid/extra-comma-in-multiline-array.json 2019-07-14 13:01:11.000000000 +0000 @@ -0,0 +1,6 @@ +[1, +2, +3, +4, +5, +] \ No newline at end of file diff -Nru yaws-2.0.6+dfsg/testsuite/json2_SUITE_data/invalid/false_then_garbage.json yaws-2.0.7+dfsg/testsuite/json2_SUITE_data/invalid/false_then_garbage.json --- yaws-2.0.6+dfsg/testsuite/json2_SUITE_data/invalid/false_then_garbage.json 1970-01-01 00:00:00.000000000 +0000 +++ yaws-2.0.7+dfsg/testsuite/json2_SUITE_data/invalid/false_then_garbage.json 2019-07-14 13:01:11.000000000 +0000 @@ -0,0 +1 @@ +falsex \ No newline at end of file diff -Nru yaws-2.0.6+dfsg/testsuite/json2_SUITE_data/invalid/garbage-after-newline.json yaws-2.0.7+dfsg/testsuite/json2_SUITE_data/invalid/garbage-after-newline.json --- yaws-2.0.6+dfsg/testsuite/json2_SUITE_data/invalid/garbage-after-newline.json 1970-01-01 00:00:00.000000000 +0000 +++ yaws-2.0.7+dfsg/testsuite/json2_SUITE_data/invalid/garbage-after-newline.json 2019-07-14 13:01:11.000000000 +0000 @@ -0,0 +1,2 @@ +[1,2,3] +foo \ No newline at end of file diff -Nru yaws-2.0.6+dfsg/testsuite/json2_SUITE_data/invalid/garbage-at-the-end.json yaws-2.0.7+dfsg/testsuite/json2_SUITE_data/invalid/garbage-at-the-end.json --- yaws-2.0.6+dfsg/testsuite/json2_SUITE_data/invalid/garbage-at-the-end.json 1970-01-01 00:00:00.000000000 +0000 +++ yaws-2.0.7+dfsg/testsuite/json2_SUITE_data/invalid/garbage-at-the-end.json 2019-07-14 13:01:11.000000000 +0000 @@ -0,0 +1 @@ +[1,2,3]foo \ No newline at end of file diff -Nru yaws-2.0.6+dfsg/testsuite/json2_SUITE_data/invalid/integer-starting-with-zero.json yaws-2.0.7+dfsg/testsuite/json2_SUITE_data/invalid/integer-starting-with-zero.json --- yaws-2.0.6+dfsg/testsuite/json2_SUITE_data/invalid/integer-starting-with-zero.json 1970-01-01 00:00:00.000000000 +0000 +++ yaws-2.0.7+dfsg/testsuite/json2_SUITE_data/invalid/integer-starting-with-zero.json 2019-07-14 13:01:11.000000000 +0000 @@ -0,0 +1 @@ +[012] \ No newline at end of file diff -Nru yaws-2.0.6+dfsg/testsuite/json2_SUITE_data/invalid/invalid-escape.json yaws-2.0.7+dfsg/testsuite/json2_SUITE_data/invalid/invalid-escape.json --- yaws-2.0.6+dfsg/testsuite/json2_SUITE_data/invalid/invalid-escape.json 1970-01-01 00:00:00.000000000 +0000 +++ yaws-2.0.7+dfsg/testsuite/json2_SUITE_data/invalid/invalid-escape.json 2019-07-14 13:01:11.000000000 +0000 @@ -0,0 +1 @@ +["\a <-- invalid escape"] \ No newline at end of file diff -Nru yaws-2.0.6+dfsg/testsuite/json2_SUITE_data/invalid/invalid-identifier.json yaws-2.0.7+dfsg/testsuite/json2_SUITE_data/invalid/invalid-identifier.json --- yaws-2.0.6+dfsg/testsuite/json2_SUITE_data/invalid/invalid-identifier.json 1970-01-01 00:00:00.000000000 +0000 +++ yaws-2.0.7+dfsg/testsuite/json2_SUITE_data/invalid/invalid-identifier.json 2019-07-14 13:01:11.000000000 +0000 @@ -0,0 +1 @@ +[troo \ No newline at end of file diff -Nru yaws-2.0.6+dfsg/testsuite/json2_SUITE_data/invalid/invalid-negative-integer.json yaws-2.0.7+dfsg/testsuite/json2_SUITE_data/invalid/invalid-negative-integer.json --- yaws-2.0.6+dfsg/testsuite/json2_SUITE_data/invalid/invalid-negative-integer.json 1970-01-01 00:00:00.000000000 +0000 +++ yaws-2.0.7+dfsg/testsuite/json2_SUITE_data/invalid/invalid-negative-integer.json 2019-07-14 13:01:11.000000000 +0000 @@ -0,0 +1 @@ +[-123foo] \ No newline at end of file diff -Nru yaws-2.0.6+dfsg/testsuite/json2_SUITE_data/invalid/invalid-negative-real.json yaws-2.0.7+dfsg/testsuite/json2_SUITE_data/invalid/invalid-negative-real.json --- yaws-2.0.6+dfsg/testsuite/json2_SUITE_data/invalid/invalid-negative-real.json 1970-01-01 00:00:00.000000000 +0000 +++ yaws-2.0.7+dfsg/testsuite/json2_SUITE_data/invalid/invalid-negative-real.json 2019-07-14 13:01:11.000000000 +0000 @@ -0,0 +1 @@ +[-123.123foo] \ No newline at end of file diff -Nru yaws-2.0.6+dfsg/testsuite/json2_SUITE_data/invalid/invalid-second-surrogate.json yaws-2.0.7+dfsg/testsuite/json2_SUITE_data/invalid/invalid-second-surrogate.json --- yaws-2.0.6+dfsg/testsuite/json2_SUITE_data/invalid/invalid-second-surrogate.json 1970-01-01 00:00:00.000000000 +0000 +++ yaws-2.0.7+dfsg/testsuite/json2_SUITE_data/invalid/invalid-second-surrogate.json 2019-07-14 13:01:11.000000000 +0000 @@ -0,0 +1 @@ +["\uD888\u3210 (first surrogate and invalid second surrogate)"] \ No newline at end of file diff -Nru yaws-2.0.6+dfsg/testsuite/json2_SUITE_data/invalid/invalid-unicode-escape.json yaws-2.0.7+dfsg/testsuite/json2_SUITE_data/invalid/invalid-unicode-escape.json --- yaws-2.0.6+dfsg/testsuite/json2_SUITE_data/invalid/invalid-unicode-escape.json 1970-01-01 00:00:00.000000000 +0000 +++ yaws-2.0.7+dfsg/testsuite/json2_SUITE_data/invalid/invalid-unicode-escape.json 2019-07-14 13:01:11.000000000 +0000 @@ -0,0 +1 @@ +["\uqqqq <-- invalid unicode escape"] \ No newline at end of file diff -Nru yaws-2.0.6+dfsg/testsuite/json2_SUITE_data/invalid/isolated_surrogate_marker.json yaws-2.0.7+dfsg/testsuite/json2_SUITE_data/invalid/isolated_surrogate_marker.json --- yaws-2.0.6+dfsg/testsuite/json2_SUITE_data/invalid/isolated_surrogate_marker.json 1970-01-01 00:00:00.000000000 +0000 +++ yaws-2.0.7+dfsg/testsuite/json2_SUITE_data/invalid/isolated_surrogate_marker.json 2019-07-14 13:01:11.000000000 +0000 @@ -0,0 +1 @@ +"\ud800" \ No newline at end of file diff -Nru yaws-2.0.6+dfsg/testsuite/json2_SUITE_data/invalid/leading_zero_in_number.json yaws-2.0.7+dfsg/testsuite/json2_SUITE_data/invalid/leading_zero_in_number.json --- yaws-2.0.6+dfsg/testsuite/json2_SUITE_data/invalid/leading_zero_in_number.json 1970-01-01 00:00:00.000000000 +0000 +++ yaws-2.0.7+dfsg/testsuite/json2_SUITE_data/invalid/leading_zero_in_number.json 2019-07-14 13:01:11.000000000 +0000 @@ -0,0 +1 @@ +{ "bad thing": 01 } \ No newline at end of file diff -Nru yaws-2.0.6+dfsg/testsuite/json2_SUITE_data/invalid/lonely_number.json yaws-2.0.7+dfsg/testsuite/json2_SUITE_data/invalid/lonely_number.json --- yaws-2.0.6+dfsg/testsuite/json2_SUITE_data/invalid/lonely_number.json 1970-01-01 00:00:00.000000000 +0000 +++ yaws-2.0.7+dfsg/testsuite/json2_SUITE_data/invalid/lonely_number.json 2019-07-14 13:01:11.000000000 +0000 @@ -0,0 +1,6 @@ +[ + "foo", true, + true, "blue", + "baby where are you?", "oh boo hoo!", + - +] \ No newline at end of file diff -Nru yaws-2.0.6+dfsg/testsuite/json2_SUITE_data/invalid/lone-open-brace.json yaws-2.0.7+dfsg/testsuite/json2_SUITE_data/invalid/lone-open-brace.json --- yaws-2.0.6+dfsg/testsuite/json2_SUITE_data/invalid/lone-open-brace.json 1970-01-01 00:00:00.000000000 +0000 +++ yaws-2.0.7+dfsg/testsuite/json2_SUITE_data/invalid/lone-open-brace.json 2019-07-14 13:01:11.000000000 +0000 @@ -0,0 +1 @@ +{ \ No newline at end of file diff -Nru yaws-2.0.6+dfsg/testsuite/json2_SUITE_data/invalid/lone-open-bracket.json yaws-2.0.7+dfsg/testsuite/json2_SUITE_data/invalid/lone-open-bracket.json --- yaws-2.0.6+dfsg/testsuite/json2_SUITE_data/invalid/lone-open-bracket.json 1970-01-01 00:00:00.000000000 +0000 +++ yaws-2.0.7+dfsg/testsuite/json2_SUITE_data/invalid/lone-open-bracket.json 2019-07-14 13:01:11.000000000 +0000 @@ -0,0 +1 @@ +[ \ No newline at end of file diff -Nru yaws-2.0.6+dfsg/testsuite/json2_SUITE_data/invalid/lone-second-surrogate.json yaws-2.0.7+dfsg/testsuite/json2_SUITE_data/invalid/lone-second-surrogate.json --- yaws-2.0.6+dfsg/testsuite/json2_SUITE_data/invalid/lone-second-surrogate.json 1970-01-01 00:00:00.000000000 +0000 +++ yaws-2.0.7+dfsg/testsuite/json2_SUITE_data/invalid/lone-second-surrogate.json 2019-07-14 13:01:11.000000000 +0000 @@ -0,0 +1 @@ +["\uDFAA (second surrogate on it's own)"] \ No newline at end of file diff -Nru yaws-2.0.6+dfsg/testsuite/json2_SUITE_data/invalid/map_close.json yaws-2.0.7+dfsg/testsuite/json2_SUITE_data/invalid/map_close.json --- yaws-2.0.6+dfsg/testsuite/json2_SUITE_data/invalid/map_close.json 1970-01-01 00:00:00.000000000 +0000 +++ yaws-2.0.7+dfsg/testsuite/json2_SUITE_data/invalid/map_close.json 2019-07-14 13:01:11.000000000 +0000 @@ -0,0 +1 @@ +} \ No newline at end of file diff -Nru yaws-2.0.6+dfsg/testsuite/json2_SUITE_data/invalid/map_open.json yaws-2.0.7+dfsg/testsuite/json2_SUITE_data/invalid/map_open.json --- yaws-2.0.6+dfsg/testsuite/json2_SUITE_data/invalid/map_open.json 1970-01-01 00:00:00.000000000 +0000 +++ yaws-2.0.7+dfsg/testsuite/json2_SUITE_data/invalid/map_open.json 2019-07-14 13:01:11.000000000 +0000 @@ -0,0 +1 @@ +{ \ No newline at end of file diff -Nru yaws-2.0.6+dfsg/testsuite/json2_SUITE_data/invalid/minus-sign-without-number.json yaws-2.0.7+dfsg/testsuite/json2_SUITE_data/invalid/minus-sign-without-number.json --- yaws-2.0.6+dfsg/testsuite/json2_SUITE_data/invalid/minus-sign-without-number.json 1970-01-01 00:00:00.000000000 +0000 +++ yaws-2.0.7+dfsg/testsuite/json2_SUITE_data/invalid/minus-sign-without-number.json 2019-07-14 13:01:11.000000000 +0000 @@ -0,0 +1 @@ +[-foo] \ No newline at end of file diff -Nru yaws-2.0.6+dfsg/testsuite/json2_SUITE_data/invalid/missing_integer_after_decimal_point.json yaws-2.0.7+dfsg/testsuite/json2_SUITE_data/invalid/missing_integer_after_decimal_point.json --- yaws-2.0.6+dfsg/testsuite/json2_SUITE_data/invalid/missing_integer_after_decimal_point.json 1970-01-01 00:00:00.000000000 +0000 +++ yaws-2.0.7+dfsg/testsuite/json2_SUITE_data/invalid/missing_integer_after_decimal_point.json 2019-07-14 13:01:11.000000000 +0000 @@ -0,0 +1 @@ +10.e2 \ No newline at end of file diff -Nru yaws-2.0.6+dfsg/testsuite/json2_SUITE_data/invalid/missing_integer_after_exponent.json yaws-2.0.7+dfsg/testsuite/json2_SUITE_data/invalid/missing_integer_after_exponent.json --- yaws-2.0.6+dfsg/testsuite/json2_SUITE_data/invalid/missing_integer_after_exponent.json 1970-01-01 00:00:00.000000000 +0000 +++ yaws-2.0.7+dfsg/testsuite/json2_SUITE_data/invalid/missing_integer_after_exponent.json 2019-07-14 13:01:11.000000000 +0000 @@ -0,0 +1 @@ +10e \ No newline at end of file diff -Nru yaws-2.0.6+dfsg/testsuite/json2_SUITE_data/invalid/negative-integer-starting-with-zero.json yaws-2.0.7+dfsg/testsuite/json2_SUITE_data/invalid/negative-integer-starting-with-zero.json --- yaws-2.0.6+dfsg/testsuite/json2_SUITE_data/invalid/negative-integer-starting-with-zero.json 1970-01-01 00:00:00.000000000 +0000 +++ yaws-2.0.7+dfsg/testsuite/json2_SUITE_data/invalid/negative-integer-starting-with-zero.json 2019-07-14 13:01:11.000000000 +0000 @@ -0,0 +1 @@ +[-012] \ No newline at end of file diff -Nru yaws-2.0.6+dfsg/testsuite/json2_SUITE_data/invalid/null-byte-in-object-key.json yaws-2.0.7+dfsg/testsuite/json2_SUITE_data/invalid/null-byte-in-object-key.json --- yaws-2.0.6+dfsg/testsuite/json2_SUITE_data/invalid/null-byte-in-object-key.json 1970-01-01 00:00:00.000000000 +0000 +++ yaws-2.0.7+dfsg/testsuite/json2_SUITE_data/invalid/null-byte-in-object-key.json 2019-07-14 13:01:11.000000000 +0000 @@ -0,0 +1 @@ +{"foo\u0000bar": 42} \ No newline at end of file Binary files /tmp/tmpMbqg9A/gLYDCrebsP/yaws-2.0.6+dfsg/testsuite/json2_SUITE_data/invalid/null-byte-in-string.json and /tmp/tmpMbqg9A/qcicWtBnCT/yaws-2.0.7+dfsg/testsuite/json2_SUITE_data/invalid/null-byte-in-string.json differ Binary files /tmp/tmpMbqg9A/gLYDCrebsP/yaws-2.0.6+dfsg/testsuite/json2_SUITE_data/invalid/null-byte-outside-string.json and /tmp/tmpMbqg9A/qcicWtBnCT/yaws-2.0.7+dfsg/testsuite/json2_SUITE_data/invalid/null-byte-outside-string.json differ diff -Nru yaws-2.0.6+dfsg/testsuite/json2_SUITE_data/invalid/null-escape-in-string.json yaws-2.0.7+dfsg/testsuite/json2_SUITE_data/invalid/null-escape-in-string.json --- yaws-2.0.6+dfsg/testsuite/json2_SUITE_data/invalid/null-escape-in-string.json 1970-01-01 00:00:00.000000000 +0000 +++ yaws-2.0.7+dfsg/testsuite/json2_SUITE_data/invalid/null-escape-in-string.json 2019-07-14 13:01:11.000000000 +0000 @@ -0,0 +1 @@ +["null escape \u0000 not allowed"] \ No newline at end of file diff -Nru yaws-2.0.6+dfsg/testsuite/json2_SUITE_data/invalid/null_then_garbage.json yaws-2.0.7+dfsg/testsuite/json2_SUITE_data/invalid/null_then_garbage.json --- yaws-2.0.6+dfsg/testsuite/json2_SUITE_data/invalid/null_then_garbage.json 1970-01-01 00:00:00.000000000 +0000 +++ yaws-2.0.7+dfsg/testsuite/json2_SUITE_data/invalid/null_then_garbage.json 2019-07-14 13:01:11.000000000 +0000 @@ -0,0 +1 @@ +nullx \ No newline at end of file diff -Nru yaws-2.0.6+dfsg/testsuite/json2_SUITE_data/invalid/object-apostrophes.json yaws-2.0.7+dfsg/testsuite/json2_SUITE_data/invalid/object-apostrophes.json --- yaws-2.0.6+dfsg/testsuite/json2_SUITE_data/invalid/object-apostrophes.json 1970-01-01 00:00:00.000000000 +0000 +++ yaws-2.0.7+dfsg/testsuite/json2_SUITE_data/invalid/object-apostrophes.json 2019-07-14 13:01:11.000000000 +0000 @@ -0,0 +1 @@ +{'a' \ No newline at end of file diff -Nru yaws-2.0.6+dfsg/testsuite/json2_SUITE_data/invalid/object-garbage-at-end.json yaws-2.0.7+dfsg/testsuite/json2_SUITE_data/invalid/object-garbage-at-end.json --- yaws-2.0.6+dfsg/testsuite/json2_SUITE_data/invalid/object-garbage-at-end.json 1970-01-01 00:00:00.000000000 +0000 +++ yaws-2.0.7+dfsg/testsuite/json2_SUITE_data/invalid/object-garbage-at-end.json 2019-07-14 13:01:11.000000000 +0000 @@ -0,0 +1 @@ +{"a":"a" 123} \ No newline at end of file diff -Nru yaws-2.0.6+dfsg/testsuite/json2_SUITE_data/invalid/object-in-unterminated-array.json yaws-2.0.7+dfsg/testsuite/json2_SUITE_data/invalid/object-in-unterminated-array.json --- yaws-2.0.6+dfsg/testsuite/json2_SUITE_data/invalid/object-in-unterminated-array.json 1970-01-01 00:00:00.000000000 +0000 +++ yaws-2.0.7+dfsg/testsuite/json2_SUITE_data/invalid/object-in-unterminated-array.json 2019-07-14 13:01:11.000000000 +0000 @@ -0,0 +1 @@ +[{} \ No newline at end of file diff -Nru yaws-2.0.6+dfsg/testsuite/json2_SUITE_data/invalid/object-no-colon.json yaws-2.0.7+dfsg/testsuite/json2_SUITE_data/invalid/object-no-colon.json --- yaws-2.0.6+dfsg/testsuite/json2_SUITE_data/invalid/object-no-colon.json 1970-01-01 00:00:00.000000000 +0000 +++ yaws-2.0.7+dfsg/testsuite/json2_SUITE_data/invalid/object-no-colon.json 2019-07-14 13:01:11.000000000 +0000 @@ -0,0 +1 @@ +{"a" \ No newline at end of file diff -Nru yaws-2.0.6+dfsg/testsuite/json2_SUITE_data/invalid/object-no-value.json yaws-2.0.7+dfsg/testsuite/json2_SUITE_data/invalid/object-no-value.json --- yaws-2.0.6+dfsg/testsuite/json2_SUITE_data/invalid/object-no-value.json 1970-01-01 00:00:00.000000000 +0000 +++ yaws-2.0.7+dfsg/testsuite/json2_SUITE_data/invalid/object-no-value.json 2019-07-14 13:01:11.000000000 +0000 @@ -0,0 +1 @@ +{"a": \ No newline at end of file diff -Nru yaws-2.0.6+dfsg/testsuite/json2_SUITE_data/invalid/object-unterminated-value.json yaws-2.0.7+dfsg/testsuite/json2_SUITE_data/invalid/object-unterminated-value.json --- yaws-2.0.6+dfsg/testsuite/json2_SUITE_data/invalid/object-unterminated-value.json 1970-01-01 00:00:00.000000000 +0000 +++ yaws-2.0.7+dfsg/testsuite/json2_SUITE_data/invalid/object-unterminated-value.json 2019-07-14 13:01:11.000000000 +0000 @@ -0,0 +1 @@ +{"a":"a \ No newline at end of file diff -Nru yaws-2.0.6+dfsg/testsuite/json2_SUITE_data/invalid/real-garbage-after-e.json yaws-2.0.7+dfsg/testsuite/json2_SUITE_data/invalid/real-garbage-after-e.json --- yaws-2.0.6+dfsg/testsuite/json2_SUITE_data/invalid/real-garbage-after-e.json 1970-01-01 00:00:00.000000000 +0000 +++ yaws-2.0.7+dfsg/testsuite/json2_SUITE_data/invalid/real-garbage-after-e.json 2019-07-14 13:01:11.000000000 +0000 @@ -0,0 +1 @@ +[1ea] \ No newline at end of file diff -Nru yaws-2.0.6+dfsg/testsuite/json2_SUITE_data/invalid/real-negative-overflow.json yaws-2.0.7+dfsg/testsuite/json2_SUITE_data/invalid/real-negative-overflow.json --- yaws-2.0.6+dfsg/testsuite/json2_SUITE_data/invalid/real-negative-overflow.json 1970-01-01 00:00:00.000000000 +0000 +++ yaws-2.0.7+dfsg/testsuite/json2_SUITE_data/invalid/real-negative-overflow.json 2019-07-14 13:01:11.000000000 +0000 @@ -0,0 +1 @@ +[-123123e100000] \ No newline at end of file diff -Nru yaws-2.0.6+dfsg/testsuite/json2_SUITE_data/invalid/real-positive-overflow.json yaws-2.0.7+dfsg/testsuite/json2_SUITE_data/invalid/real-positive-overflow.json --- yaws-2.0.6+dfsg/testsuite/json2_SUITE_data/invalid/real-positive-overflow.json 1970-01-01 00:00:00.000000000 +0000 +++ yaws-2.0.7+dfsg/testsuite/json2_SUITE_data/invalid/real-positive-overflow.json 2019-07-14 13:01:11.000000000 +0000 @@ -0,0 +1 @@ +[123123e100000] \ No newline at end of file diff -Nru yaws-2.0.6+dfsg/testsuite/json2_SUITE_data/invalid/real-truncated-at-e.json yaws-2.0.7+dfsg/testsuite/json2_SUITE_data/invalid/real-truncated-at-e.json --- yaws-2.0.6+dfsg/testsuite/json2_SUITE_data/invalid/real-truncated-at-e.json 1970-01-01 00:00:00.000000000 +0000 +++ yaws-2.0.7+dfsg/testsuite/json2_SUITE_data/invalid/real-truncated-at-e.json 2019-07-14 13:01:11.000000000 +0000 @@ -0,0 +1 @@ +[1e] \ No newline at end of file diff -Nru yaws-2.0.6+dfsg/testsuite/json2_SUITE_data/invalid/real-truncated-at-point.json yaws-2.0.7+dfsg/testsuite/json2_SUITE_data/invalid/real-truncated-at-point.json --- yaws-2.0.6+dfsg/testsuite/json2_SUITE_data/invalid/real-truncated-at-point.json 1970-01-01 00:00:00.000000000 +0000 +++ yaws-2.0.7+dfsg/testsuite/json2_SUITE_data/invalid/real-truncated-at-point.json 2019-07-14 13:01:11.000000000 +0000 @@ -0,0 +1 @@ +[1.] \ No newline at end of file diff -Nru yaws-2.0.6+dfsg/testsuite/json2_SUITE_data/invalid/string_invalid_escape.json yaws-2.0.7+dfsg/testsuite/json2_SUITE_data/invalid/string_invalid_escape.json --- yaws-2.0.6+dfsg/testsuite/json2_SUITE_data/invalid/string_invalid_escape.json 1970-01-01 00:00:00.000000000 +0000 +++ yaws-2.0.7+dfsg/testsuite/json2_SUITE_data/invalid/string_invalid_escape.json 2019-07-14 13:01:11.000000000 +0000 @@ -0,0 +1 @@ +["\n foo \/ bar \r\f\\\ufffd\t\b\"\\ and you can't escape thi\s"] \ No newline at end of file diff -Nru yaws-2.0.6+dfsg/testsuite/json2_SUITE_data/invalid/string_invalid_hex_char.json yaws-2.0.7+dfsg/testsuite/json2_SUITE_data/invalid/string_invalid_hex_char.json --- yaws-2.0.6+dfsg/testsuite/json2_SUITE_data/invalid/string_invalid_hex_char.json 1970-01-01 00:00:00.000000000 +0000 +++ yaws-2.0.7+dfsg/testsuite/json2_SUITE_data/invalid/string_invalid_hex_char.json 2019-07-14 13:01:11.000000000 +0000 @@ -0,0 +1 @@ +"foo foo, blah blah \u0123 \u4567 \u89ab \uc/ef \uABCD \uEFFE bar baz bing" \ No newline at end of file diff -Nru yaws-2.0.6+dfsg/testsuite/json2_SUITE_data/invalid/string_with_invalid_newline.json yaws-2.0.7+dfsg/testsuite/json2_SUITE_data/invalid/string_with_invalid_newline.json --- yaws-2.0.6+dfsg/testsuite/json2_SUITE_data/invalid/string_with_invalid_newline.json 1970-01-01 00:00:00.000000000 +0000 +++ yaws-2.0.7+dfsg/testsuite/json2_SUITE_data/invalid/string_with_invalid_newline.json 2019-07-14 13:01:11.000000000 +0000 @@ -0,0 +1,2 @@ +"la di dah. this is a string, and I can do this, \n, but not this +" \ No newline at end of file diff -Nru yaws-2.0.6+dfsg/testsuite/json2_SUITE_data/invalid/tab-character-in-string.json yaws-2.0.7+dfsg/testsuite/json2_SUITE_data/invalid/tab-character-in-string.json --- yaws-2.0.6+dfsg/testsuite/json2_SUITE_data/invalid/tab-character-in-string.json 1970-01-01 00:00:00.000000000 +0000 +++ yaws-2.0.7+dfsg/testsuite/json2_SUITE_data/invalid/tab-character-in-string.json 2019-07-14 13:01:11.000000000 +0000 @@ -0,0 +1 @@ +[" <-- tab character"] \ No newline at end of file diff -Nru yaws-2.0.6+dfsg/testsuite/json2_SUITE_data/invalid/true_then_garbage.json yaws-2.0.7+dfsg/testsuite/json2_SUITE_data/invalid/true_then_garbage.json --- yaws-2.0.6+dfsg/testsuite/json2_SUITE_data/invalid/true_then_garbage.json 1970-01-01 00:00:00.000000000 +0000 +++ yaws-2.0.7+dfsg/testsuite/json2_SUITE_data/invalid/true_then_garbage.json 2019-07-14 13:01:11.000000000 +0000 @@ -0,0 +1 @@ +truex \ No newline at end of file diff -Nru yaws-2.0.6+dfsg/testsuite/json2_SUITE_data/invalid/truncated-unicode-surrogate.json yaws-2.0.7+dfsg/testsuite/json2_SUITE_data/invalid/truncated-unicode-surrogate.json --- yaws-2.0.6+dfsg/testsuite/json2_SUITE_data/invalid/truncated-unicode-surrogate.json 1970-01-01 00:00:00.000000000 +0000 +++ yaws-2.0.7+dfsg/testsuite/json2_SUITE_data/invalid/truncated-unicode-surrogate.json 2019-07-14 13:01:11.000000000 +0000 @@ -0,0 +1 @@ +["\uDADA (first surrogate without the second)"] \ No newline at end of file diff -Nru yaws-2.0.6+dfsg/testsuite/json2_SUITE_data/invalid/unicode-identifier.json yaws-2.0.7+dfsg/testsuite/json2_SUITE_data/invalid/unicode-identifier.json --- yaws-2.0.6+dfsg/testsuite/json2_SUITE_data/invalid/unicode-identifier.json 1970-01-01 00:00:00.000000000 +0000 +++ yaws-2.0.7+dfsg/testsuite/json2_SUITE_data/invalid/unicode-identifier.json 2019-07-14 13:01:11.000000000 +0000 @@ -0,0 +1 @@ +å \ No newline at end of file diff -Nru yaws-2.0.6+dfsg/testsuite/json2_SUITE_data/invalid/unterminated-array-and-object.json yaws-2.0.7+dfsg/testsuite/json2_SUITE_data/invalid/unterminated-array-and-object.json --- yaws-2.0.6+dfsg/testsuite/json2_SUITE_data/invalid/unterminated-array-and-object.json 1970-01-01 00:00:00.000000000 +0000 +++ yaws-2.0.7+dfsg/testsuite/json2_SUITE_data/invalid/unterminated-array-and-object.json 2019-07-14 13:01:11.000000000 +0000 @@ -0,0 +1 @@ +[{ \ No newline at end of file diff -Nru yaws-2.0.6+dfsg/testsuite/json2_SUITE_data/invalid/unterminated-array.json yaws-2.0.7+dfsg/testsuite/json2_SUITE_data/invalid/unterminated-array.json --- yaws-2.0.6+dfsg/testsuite/json2_SUITE_data/invalid/unterminated-array.json 1970-01-01 00:00:00.000000000 +0000 +++ yaws-2.0.7+dfsg/testsuite/json2_SUITE_data/invalid/unterminated-array.json 2019-07-14 13:01:11.000000000 +0000 @@ -0,0 +1 @@ +["a" \ No newline at end of file diff -Nru yaws-2.0.6+dfsg/testsuite/json2_SUITE_data/invalid/unterminated-empty-key.json yaws-2.0.7+dfsg/testsuite/json2_SUITE_data/invalid/unterminated-empty-key.json --- yaws-2.0.6+dfsg/testsuite/json2_SUITE_data/invalid/unterminated-empty-key.json 1970-01-01 00:00:00.000000000 +0000 +++ yaws-2.0.7+dfsg/testsuite/json2_SUITE_data/invalid/unterminated-empty-key.json 2019-07-14 13:01:11.000000000 +0000 @@ -0,0 +1 @@ +{" \ No newline at end of file diff -Nru yaws-2.0.6+dfsg/testsuite/json2_SUITE_data/invalid/unterminated-key.json yaws-2.0.7+dfsg/testsuite/json2_SUITE_data/invalid/unterminated-key.json --- yaws-2.0.6+dfsg/testsuite/json2_SUITE_data/invalid/unterminated-key.json 1970-01-01 00:00:00.000000000 +0000 +++ yaws-2.0.7+dfsg/testsuite/json2_SUITE_data/invalid/unterminated-key.json 2019-07-14 13:01:11.000000000 +0000 @@ -0,0 +1 @@ +{"a \ No newline at end of file diff -Nru yaws-2.0.6+dfsg/testsuite/json2_SUITE_data/invalid/unterminated-object-and-array.json yaws-2.0.7+dfsg/testsuite/json2_SUITE_data/invalid/unterminated-object-and-array.json --- yaws-2.0.6+dfsg/testsuite/json2_SUITE_data/invalid/unterminated-object-and-array.json 1970-01-01 00:00:00.000000000 +0000 +++ yaws-2.0.7+dfsg/testsuite/json2_SUITE_data/invalid/unterminated-object-and-array.json 2019-07-14 13:01:11.000000000 +0000 @@ -0,0 +1 @@ +{[ \ No newline at end of file diff -Nru yaws-2.0.6+dfsg/testsuite/json2_SUITE_data/invalid/unterminated-string.json yaws-2.0.7+dfsg/testsuite/json2_SUITE_data/invalid/unterminated-string.json --- yaws-2.0.6+dfsg/testsuite/json2_SUITE_data/invalid/unterminated-string.json 1970-01-01 00:00:00.000000000 +0000 +++ yaws-2.0.7+dfsg/testsuite/json2_SUITE_data/invalid/unterminated-string.json 2019-07-14 13:01:11.000000000 +0000 @@ -0,0 +1 @@ +["a \ No newline at end of file diff -Nru yaws-2.0.6+dfsg/testsuite/json2_SUITE_data/valid/array.json yaws-2.0.7+dfsg/testsuite/json2_SUITE_data/valid/array.json --- yaws-2.0.6+dfsg/testsuite/json2_SUITE_data/valid/array.json 1970-01-01 00:00:00.000000000 +0000 +++ yaws-2.0.7+dfsg/testsuite/json2_SUITE_data/valid/array.json 2019-07-14 13:01:11.000000000 +0000 @@ -0,0 +1,6 @@ +["foo", + "bar", "baz", + true,false,null,{"key":"value"}, + [null,null,null,[]], + "\n\r\\" +] \ No newline at end of file diff -Nru yaws-2.0.6+dfsg/testsuite/json2_SUITE_data/valid/codepoints_from_unicode_org.json yaws-2.0.7+dfsg/testsuite/json2_SUITE_data/valid/codepoints_from_unicode_org.json --- yaws-2.0.6+dfsg/testsuite/json2_SUITE_data/valid/codepoints_from_unicode_org.json 1970-01-01 00:00:00.000000000 +0000 +++ yaws-2.0.7+dfsg/testsuite/json2_SUITE_data/valid/codepoints_from_unicode_org.json 2019-07-14 13:01:11.000000000 +0000 @@ -0,0 +1 @@ +"\u004d\u0430\u4e8c\ud800\udf02" \ No newline at end of file diff -Nru yaws-2.0.6+dfsg/testsuite/json2_SUITE_data/valid/complex-array.json yaws-2.0.7+dfsg/testsuite/json2_SUITE_data/valid/complex-array.json --- yaws-2.0.6+dfsg/testsuite/json2_SUITE_data/valid/complex-array.json 1970-01-01 00:00:00.000000000 +0000 +++ yaws-2.0.7+dfsg/testsuite/json2_SUITE_data/valid/complex-array.json 2019-07-14 13:01:11.000000000 +0000 @@ -0,0 +1,5 @@ +[1,2,3,4, +"a", "b", "c", +{"foo": "bar", "core": "dump"}, +true, false, true, true, null, false +] \ No newline at end of file diff -Nru yaws-2.0.6+dfsg/testsuite/json2_SUITE_data/valid/deep_arrays.json yaws-2.0.7+dfsg/testsuite/json2_SUITE_data/valid/deep_arrays.json --- yaws-2.0.6+dfsg/testsuite/json2_SUITE_data/valid/deep_arrays.json 1970-01-01 00:00:00.000000000 +0000 +++ yaws-2.0.7+dfsg/testsuite/json2_SUITE_data/valid/deep_arrays.json 2019-07-14 13:01:11.000000000 +0000 @@ -0,0 +1 @@ +[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]] \ No newline at end of file diff -Nru yaws-2.0.6+dfsg/testsuite/json2_SUITE_data/valid/difficult_json_c_test_case.json yaws-2.0.7+dfsg/testsuite/json2_SUITE_data/valid/difficult_json_c_test_case.json --- yaws-2.0.6+dfsg/testsuite/json2_SUITE_data/valid/difficult_json_c_test_case.json 1970-01-01 00:00:00.000000000 +0000 +++ yaws-2.0.7+dfsg/testsuite/json2_SUITE_data/valid/difficult_json_c_test_case.json 2019-07-14 13:01:11.000000000 +0000 @@ -0,0 +1 @@ +{ "glossary": { "title": "example glossary", "GlossDiv": { "title": "S", "GlossList": [ { "ID": "SGML", "SortAs": "SGML", "GlossTerm": "Standard Generalized Markup Language", "Acronym": "SGML", "Abbrev": "ISO 8879:1986", "GlossDef": "A meta-markup language, used to create markup languages such as DocBook.", "GlossSeeAlso": ["GML", "XML", "markup"] } ] } } } \ No newline at end of file diff -Nru yaws-2.0.6+dfsg/testsuite/json2_SUITE_data/valid/doubles.json yaws-2.0.7+dfsg/testsuite/json2_SUITE_data/valid/doubles.json --- yaws-2.0.6+dfsg/testsuite/json2_SUITE_data/valid/doubles.json 1970-01-01 00:00:00.000000000 +0000 +++ yaws-2.0.7+dfsg/testsuite/json2_SUITE_data/valid/doubles.json 2019-07-14 13:01:11.000000000 +0000 @@ -0,0 +1 @@ +[ 0.1e2, 1e1, 3.141569, 10000000000000e-10] \ No newline at end of file diff -Nru yaws-2.0.6+dfsg/testsuite/json2_SUITE_data/valid/empty_array.json yaws-2.0.7+dfsg/testsuite/json2_SUITE_data/valid/empty_array.json --- yaws-2.0.6+dfsg/testsuite/json2_SUITE_data/valid/empty_array.json 1970-01-01 00:00:00.000000000 +0000 +++ yaws-2.0.7+dfsg/testsuite/json2_SUITE_data/valid/empty_array.json 2019-07-14 13:01:11.000000000 +0000 @@ -0,0 +1 @@ +[] \ No newline at end of file diff -Nru yaws-2.0.6+dfsg/testsuite/json2_SUITE_data/valid/empty-array.json yaws-2.0.7+dfsg/testsuite/json2_SUITE_data/valid/empty-array.json --- yaws-2.0.6+dfsg/testsuite/json2_SUITE_data/valid/empty-array.json 1970-01-01 00:00:00.000000000 +0000 +++ yaws-2.0.7+dfsg/testsuite/json2_SUITE_data/valid/empty-array.json 2019-07-14 13:01:11.000000000 +0000 @@ -0,0 +1 @@ +[] \ No newline at end of file diff -Nru yaws-2.0.6+dfsg/testsuite/json2_SUITE_data/valid/empty-object-in-array.json yaws-2.0.7+dfsg/testsuite/json2_SUITE_data/valid/empty-object-in-array.json --- yaws-2.0.6+dfsg/testsuite/json2_SUITE_data/valid/empty-object-in-array.json 1970-01-01 00:00:00.000000000 +0000 +++ yaws-2.0.7+dfsg/testsuite/json2_SUITE_data/valid/empty-object-in-array.json 2019-07-14 13:01:11.000000000 +0000 @@ -0,0 +1 @@ +[{}] \ No newline at end of file diff -Nru yaws-2.0.6+dfsg/testsuite/json2_SUITE_data/valid/empty-object.json yaws-2.0.7+dfsg/testsuite/json2_SUITE_data/valid/empty-object.json --- yaws-2.0.6+dfsg/testsuite/json2_SUITE_data/valid/empty-object.json 1970-01-01 00:00:00.000000000 +0000 +++ yaws-2.0.7+dfsg/testsuite/json2_SUITE_data/valid/empty-object.json 2019-07-14 13:01:11.000000000 +0000 @@ -0,0 +1 @@ +{} \ No newline at end of file diff -Nru yaws-2.0.6+dfsg/testsuite/json2_SUITE_data/valid/empty_string.json yaws-2.0.7+dfsg/testsuite/json2_SUITE_data/valid/empty_string.json --- yaws-2.0.6+dfsg/testsuite/json2_SUITE_data/valid/empty_string.json 1970-01-01 00:00:00.000000000 +0000 +++ yaws-2.0.7+dfsg/testsuite/json2_SUITE_data/valid/empty_string.json 2019-07-14 13:01:11.000000000 +0000 @@ -0,0 +1 @@ +"" \ No newline at end of file diff -Nru yaws-2.0.6+dfsg/testsuite/json2_SUITE_data/valid/empty-string.json yaws-2.0.7+dfsg/testsuite/json2_SUITE_data/valid/empty-string.json --- yaws-2.0.6+dfsg/testsuite/json2_SUITE_data/valid/empty-string.json 1970-01-01 00:00:00.000000000 +0000 +++ yaws-2.0.7+dfsg/testsuite/json2_SUITE_data/valid/empty-string.json 2019-07-14 13:01:11.000000000 +0000 @@ -0,0 +1 @@ +[""] \ No newline at end of file diff -Nru yaws-2.0.6+dfsg/testsuite/json2_SUITE_data/valid/escaped_bulgarian.json yaws-2.0.7+dfsg/testsuite/json2_SUITE_data/valid/escaped_bulgarian.json --- yaws-2.0.6+dfsg/testsuite/json2_SUITE_data/valid/escaped_bulgarian.json 1970-01-01 00:00:00.000000000 +0000 +++ yaws-2.0.7+dfsg/testsuite/json2_SUITE_data/valid/escaped_bulgarian.json 2019-07-14 13:01:11.000000000 +0000 @@ -0,0 +1,4 @@ +["\u0414\u0430", + "\u041c\u0443", + "\u0415\u0431\u0430", + "\u041c\u0430\u0439\u043a\u0430\u0442\u0430"] \ No newline at end of file diff -Nru yaws-2.0.6+dfsg/testsuite/json2_SUITE_data/valid/escaped_foobar.json yaws-2.0.7+dfsg/testsuite/json2_SUITE_data/valid/escaped_foobar.json --- yaws-2.0.6+dfsg/testsuite/json2_SUITE_data/valid/escaped_foobar.json 1970-01-01 00:00:00.000000000 +0000 +++ yaws-2.0.7+dfsg/testsuite/json2_SUITE_data/valid/escaped_foobar.json 2019-07-14 13:01:11.000000000 +0000 @@ -0,0 +1 @@ +"\u0066\u006f\u006f\u0062\u0061\u0072" \ No newline at end of file diff -Nru yaws-2.0.6+dfsg/testsuite/json2_SUITE_data/valid/escaped-utf-control-char.json yaws-2.0.7+dfsg/testsuite/json2_SUITE_data/valid/escaped-utf-control-char.json --- yaws-2.0.6+dfsg/testsuite/json2_SUITE_data/valid/escaped-utf-control-char.json 1970-01-01 00:00:00.000000000 +0000 +++ yaws-2.0.7+dfsg/testsuite/json2_SUITE_data/valid/escaped-utf-control-char.json 2019-07-14 13:01:11.000000000 +0000 @@ -0,0 +1 @@ +["\u0012 escaped control character"] \ No newline at end of file diff -Nru yaws-2.0.6+dfsg/testsuite/json2_SUITE_data/valid/false.json yaws-2.0.7+dfsg/testsuite/json2_SUITE_data/valid/false.json --- yaws-2.0.6+dfsg/testsuite/json2_SUITE_data/valid/false.json 1970-01-01 00:00:00.000000000 +0000 +++ yaws-2.0.7+dfsg/testsuite/json2_SUITE_data/valid/false.json 2019-07-14 13:01:11.000000000 +0000 @@ -0,0 +1 @@ +[false] \ No newline at end of file diff -Nru yaws-2.0.6+dfsg/testsuite/json2_SUITE_data/valid/four_byte_utf8.json yaws-2.0.7+dfsg/testsuite/json2_SUITE_data/valid/four_byte_utf8.json --- yaws-2.0.6+dfsg/testsuite/json2_SUITE_data/valid/four_byte_utf8.json 1970-01-01 00:00:00.000000000 +0000 +++ yaws-2.0.7+dfsg/testsuite/json2_SUITE_data/valid/four_byte_utf8.json 2019-07-14 13:01:11.000000000 +0000 @@ -0,0 +1 @@ +{ "U+10ABCD": "􊯍" } \ No newline at end of file diff -Nru yaws-2.0.6+dfsg/testsuite/json2_SUITE_data/valid/integers.json yaws-2.0.7+dfsg/testsuite/json2_SUITE_data/valid/integers.json --- yaws-2.0.6+dfsg/testsuite/json2_SUITE_data/valid/integers.json 1970-01-01 00:00:00.000000000 +0000 +++ yaws-2.0.7+dfsg/testsuite/json2_SUITE_data/valid/integers.json 2019-07-14 13:01:11.000000000 +0000 @@ -0,0 +1,3 @@ +[ 1,2,3,4,5,6,7, + 123456789 , -123456789, + 2147483647, -2147483647 ] \ No newline at end of file diff -Nru yaws-2.0.6+dfsg/testsuite/json2_SUITE_data/valid/negative-int.json yaws-2.0.7+dfsg/testsuite/json2_SUITE_data/valid/negative-int.json --- yaws-2.0.6+dfsg/testsuite/json2_SUITE_data/valid/negative-int.json 1970-01-01 00:00:00.000000000 +0000 +++ yaws-2.0.7+dfsg/testsuite/json2_SUITE_data/valid/negative-int.json 2019-07-14 13:01:11.000000000 +0000 @@ -0,0 +1 @@ +[-123] \ No newline at end of file diff -Nru yaws-2.0.6+dfsg/testsuite/json2_SUITE_data/valid/negative-one.json yaws-2.0.7+dfsg/testsuite/json2_SUITE_data/valid/negative-one.json --- yaws-2.0.6+dfsg/testsuite/json2_SUITE_data/valid/negative-one.json 1970-01-01 00:00:00.000000000 +0000 +++ yaws-2.0.7+dfsg/testsuite/json2_SUITE_data/valid/negative-one.json 2019-07-14 13:01:11.000000000 +0000 @@ -0,0 +1 @@ +[-1] \ No newline at end of file diff -Nru yaws-2.0.6+dfsg/testsuite/json2_SUITE_data/valid/negative-zero.json yaws-2.0.7+dfsg/testsuite/json2_SUITE_data/valid/negative-zero.json --- yaws-2.0.6+dfsg/testsuite/json2_SUITE_data/valid/negative-zero.json 1970-01-01 00:00:00.000000000 +0000 +++ yaws-2.0.7+dfsg/testsuite/json2_SUITE_data/valid/negative-zero.json 2019-07-14 13:01:11.000000000 +0000 @@ -0,0 +1 @@ +[-0] \ No newline at end of file diff -Nru yaws-2.0.6+dfsg/testsuite/json2_SUITE_data/valid/null.json yaws-2.0.7+dfsg/testsuite/json2_SUITE_data/valid/null.json --- yaws-2.0.6+dfsg/testsuite/json2_SUITE_data/valid/null.json 1970-01-01 00:00:00.000000000 +0000 +++ yaws-2.0.7+dfsg/testsuite/json2_SUITE_data/valid/null.json 2019-07-14 13:01:11.000000000 +0000 @@ -0,0 +1 @@ +[null] \ No newline at end of file diff -Nru yaws-2.0.6+dfsg/testsuite/json2_SUITE_data/valid/nulls_and_bools.json yaws-2.0.7+dfsg/testsuite/json2_SUITE_data/valid/nulls_and_bools.json --- yaws-2.0.6+dfsg/testsuite/json2_SUITE_data/valid/nulls_and_bools.json 1970-01-01 00:00:00.000000000 +0000 +++ yaws-2.0.7+dfsg/testsuite/json2_SUITE_data/valid/nulls_and_bools.json 2019-07-14 13:01:11.000000000 +0000 @@ -0,0 +1,5 @@ +{ + "boolean, true": true, + "boolean, false": false, + "null": null +} \ No newline at end of file diff -Nru yaws-2.0.6+dfsg/testsuite/json2_SUITE_data/valid/one-byte-utf-8.json yaws-2.0.7+dfsg/testsuite/json2_SUITE_data/valid/one-byte-utf-8.json --- yaws-2.0.6+dfsg/testsuite/json2_SUITE_data/valid/one-byte-utf-8.json 1970-01-01 00:00:00.000000000 +0000 +++ yaws-2.0.7+dfsg/testsuite/json2_SUITE_data/valid/one-byte-utf-8.json 2019-07-14 13:01:11.000000000 +0000 @@ -0,0 +1 @@ +["\u002c one-byte UTF-8"] \ No newline at end of file diff -Nru yaws-2.0.6+dfsg/testsuite/json2_SUITE_data/valid/real-capital-e.json yaws-2.0.7+dfsg/testsuite/json2_SUITE_data/valid/real-capital-e.json --- yaws-2.0.6+dfsg/testsuite/json2_SUITE_data/valid/real-capital-e.json 1970-01-01 00:00:00.000000000 +0000 +++ yaws-2.0.7+dfsg/testsuite/json2_SUITE_data/valid/real-capital-e.json 2019-07-14 13:01:11.000000000 +0000 @@ -0,0 +1 @@ +[1E22] \ No newline at end of file diff -Nru yaws-2.0.6+dfsg/testsuite/json2_SUITE_data/valid/real-capital-e-negative-exponent.json yaws-2.0.7+dfsg/testsuite/json2_SUITE_data/valid/real-capital-e-negative-exponent.json --- yaws-2.0.6+dfsg/testsuite/json2_SUITE_data/valid/real-capital-e-negative-exponent.json 1970-01-01 00:00:00.000000000 +0000 +++ yaws-2.0.7+dfsg/testsuite/json2_SUITE_data/valid/real-capital-e-negative-exponent.json 2019-07-14 13:01:11.000000000 +0000 @@ -0,0 +1 @@ +[1E-2] \ No newline at end of file diff -Nru yaws-2.0.6+dfsg/testsuite/json2_SUITE_data/valid/real-capital-e-positive-exponent.json yaws-2.0.7+dfsg/testsuite/json2_SUITE_data/valid/real-capital-e-positive-exponent.json --- yaws-2.0.6+dfsg/testsuite/json2_SUITE_data/valid/real-capital-e-positive-exponent.json 1970-01-01 00:00:00.000000000 +0000 +++ yaws-2.0.7+dfsg/testsuite/json2_SUITE_data/valid/real-capital-e-positive-exponent.json 2019-07-14 13:01:11.000000000 +0000 @@ -0,0 +1 @@ +[1E+2] \ No newline at end of file diff -Nru yaws-2.0.6+dfsg/testsuite/json2_SUITE_data/valid/real-exponent.json yaws-2.0.7+dfsg/testsuite/json2_SUITE_data/valid/real-exponent.json --- yaws-2.0.6+dfsg/testsuite/json2_SUITE_data/valid/real-exponent.json 1970-01-01 00:00:00.000000000 +0000 +++ yaws-2.0.7+dfsg/testsuite/json2_SUITE_data/valid/real-exponent.json 2019-07-14 13:01:11.000000000 +0000 @@ -0,0 +1 @@ +[123e45] \ No newline at end of file diff -Nru yaws-2.0.6+dfsg/testsuite/json2_SUITE_data/valid/real-fraction-exponent.json yaws-2.0.7+dfsg/testsuite/json2_SUITE_data/valid/real-fraction-exponent.json --- yaws-2.0.6+dfsg/testsuite/json2_SUITE_data/valid/real-fraction-exponent.json 1970-01-01 00:00:00.000000000 +0000 +++ yaws-2.0.7+dfsg/testsuite/json2_SUITE_data/valid/real-fraction-exponent.json 2019-07-14 13:01:11.000000000 +0000 @@ -0,0 +1 @@ +[123.456e78] \ No newline at end of file diff -Nru yaws-2.0.6+dfsg/testsuite/json2_SUITE_data/valid/real-negative-exponent.json yaws-2.0.7+dfsg/testsuite/json2_SUITE_data/valid/real-negative-exponent.json --- yaws-2.0.6+dfsg/testsuite/json2_SUITE_data/valid/real-negative-exponent.json 1970-01-01 00:00:00.000000000 +0000 +++ yaws-2.0.7+dfsg/testsuite/json2_SUITE_data/valid/real-negative-exponent.json 2019-07-14 13:01:11.000000000 +0000 @@ -0,0 +1 @@ +[1e-2] \ No newline at end of file diff -Nru yaws-2.0.6+dfsg/testsuite/json2_SUITE_data/valid/real-positive-exponent.json yaws-2.0.7+dfsg/testsuite/json2_SUITE_data/valid/real-positive-exponent.json --- yaws-2.0.6+dfsg/testsuite/json2_SUITE_data/valid/real-positive-exponent.json 1970-01-01 00:00:00.000000000 +0000 +++ yaws-2.0.7+dfsg/testsuite/json2_SUITE_data/valid/real-positive-exponent.json 2019-07-14 13:01:11.000000000 +0000 @@ -0,0 +1 @@ +[1e+2] \ No newline at end of file diff -Nru yaws-2.0.6+dfsg/testsuite/json2_SUITE_data/valid/real-subnormal-number.json yaws-2.0.7+dfsg/testsuite/json2_SUITE_data/valid/real-subnormal-number.json --- yaws-2.0.6+dfsg/testsuite/json2_SUITE_data/valid/real-subnormal-number.json 1970-01-01 00:00:00.000000000 +0000 +++ yaws-2.0.7+dfsg/testsuite/json2_SUITE_data/valid/real-subnormal-number.json 2019-07-14 13:01:11.000000000 +0000 @@ -0,0 +1 @@ +[1.8011670033376514e-308] \ No newline at end of file diff -Nru yaws-2.0.6+dfsg/testsuite/json2_SUITE_data/valid/real-underflow.json yaws-2.0.7+dfsg/testsuite/json2_SUITE_data/valid/real-underflow.json --- yaws-2.0.6+dfsg/testsuite/json2_SUITE_data/valid/real-underflow.json 1970-01-01 00:00:00.000000000 +0000 +++ yaws-2.0.7+dfsg/testsuite/json2_SUITE_data/valid/real-underflow.json 2019-07-14 13:01:11.000000000 +0000 @@ -0,0 +1 @@ +[123e-10000000] \ No newline at end of file diff -Nru yaws-2.0.6+dfsg/testsuite/json2_SUITE_data/valid/short-string.json yaws-2.0.7+dfsg/testsuite/json2_SUITE_data/valid/short-string.json --- yaws-2.0.6+dfsg/testsuite/json2_SUITE_data/valid/short-string.json 1970-01-01 00:00:00.000000000 +0000 +++ yaws-2.0.7+dfsg/testsuite/json2_SUITE_data/valid/short-string.json 2019-07-14 13:01:11.000000000 +0000 @@ -0,0 +1 @@ +["a"] \ No newline at end of file diff -Nru yaws-2.0.6+dfsg/testsuite/json2_SUITE_data/valid/simple-ascii-string.json yaws-2.0.7+dfsg/testsuite/json2_SUITE_data/valid/simple-ascii-string.json --- yaws-2.0.6+dfsg/testsuite/json2_SUITE_data/valid/simple-ascii-string.json 1970-01-01 00:00:00.000000000 +0000 +++ yaws-2.0.7+dfsg/testsuite/json2_SUITE_data/valid/simple-ascii-string.json 2019-07-14 13:01:11.000000000 +0000 @@ -0,0 +1 @@ +["abcdefghijklmnopqrstuvwxyz1234567890 "] \ No newline at end of file diff -Nru yaws-2.0.6+dfsg/testsuite/json2_SUITE_data/valid/simple-int-0.json yaws-2.0.7+dfsg/testsuite/json2_SUITE_data/valid/simple-int-0.json --- yaws-2.0.6+dfsg/testsuite/json2_SUITE_data/valid/simple-int-0.json 1970-01-01 00:00:00.000000000 +0000 +++ yaws-2.0.7+dfsg/testsuite/json2_SUITE_data/valid/simple-int-0.json 2019-07-14 13:01:11.000000000 +0000 @@ -0,0 +1 @@ +[0] \ No newline at end of file diff -Nru yaws-2.0.6+dfsg/testsuite/json2_SUITE_data/valid/simple-int-123.json yaws-2.0.7+dfsg/testsuite/json2_SUITE_data/valid/simple-int-123.json --- yaws-2.0.6+dfsg/testsuite/json2_SUITE_data/valid/simple-int-123.json 1970-01-01 00:00:00.000000000 +0000 +++ yaws-2.0.7+dfsg/testsuite/json2_SUITE_data/valid/simple-int-123.json 2019-07-14 13:01:11.000000000 +0000 @@ -0,0 +1 @@ +[123] \ No newline at end of file diff -Nru yaws-2.0.6+dfsg/testsuite/json2_SUITE_data/valid/simple-int-1.json yaws-2.0.7+dfsg/testsuite/json2_SUITE_data/valid/simple-int-1.json --- yaws-2.0.6+dfsg/testsuite/json2_SUITE_data/valid/simple-int-1.json 1970-01-01 00:00:00.000000000 +0000 +++ yaws-2.0.7+dfsg/testsuite/json2_SUITE_data/valid/simple-int-1.json 2019-07-14 13:01:11.000000000 +0000 @@ -0,0 +1 @@ +[1] \ No newline at end of file diff -Nru yaws-2.0.6+dfsg/testsuite/json2_SUITE_data/valid/simple.json yaws-2.0.7+dfsg/testsuite/json2_SUITE_data/valid/simple.json --- yaws-2.0.6+dfsg/testsuite/json2_SUITE_data/valid/simple.json 1970-01-01 00:00:00.000000000 +0000 +++ yaws-2.0.7+dfsg/testsuite/json2_SUITE_data/valid/simple.json 2019-07-14 13:01:11.000000000 +0000 @@ -0,0 +1,5 @@ +{ + "this": "is", + "really": "simple", + "json": "right?" +} \ No newline at end of file diff -Nru yaws-2.0.6+dfsg/testsuite/json2_SUITE_data/valid/simple-object.json yaws-2.0.7+dfsg/testsuite/json2_SUITE_data/valid/simple-object.json --- yaws-2.0.6+dfsg/testsuite/json2_SUITE_data/valid/simple-object.json 1970-01-01 00:00:00.000000000 +0000 +++ yaws-2.0.7+dfsg/testsuite/json2_SUITE_data/valid/simple-object.json 2019-07-14 13:01:11.000000000 +0000 @@ -0,0 +1 @@ +{"a":[]} \ No newline at end of file diff -Nru yaws-2.0.6+dfsg/testsuite/json2_SUITE_data/valid/simple-real.json yaws-2.0.7+dfsg/testsuite/json2_SUITE_data/valid/simple-real.json --- yaws-2.0.6+dfsg/testsuite/json2_SUITE_data/valid/simple-real.json 1970-01-01 00:00:00.000000000 +0000 +++ yaws-2.0.7+dfsg/testsuite/json2_SUITE_data/valid/simple-real.json 2019-07-14 13:01:11.000000000 +0000 @@ -0,0 +1 @@ +[123.456789] \ No newline at end of file diff -Nru yaws-2.0.6+dfsg/testsuite/json2_SUITE_data/valid/string-escapes.json yaws-2.0.7+dfsg/testsuite/json2_SUITE_data/valid/string-escapes.json --- yaws-2.0.6+dfsg/testsuite/json2_SUITE_data/valid/string-escapes.json 1970-01-01 00:00:00.000000000 +0000 +++ yaws-2.0.7+dfsg/testsuite/json2_SUITE_data/valid/string-escapes.json 2019-07-14 13:01:11.000000000 +0000 @@ -0,0 +1 @@ +["\"\\\/\b\f\n\r\t"] \ No newline at end of file diff -Nru yaws-2.0.6+dfsg/testsuite/json2_SUITE_data/valid/string_with_escapes.json yaws-2.0.7+dfsg/testsuite/json2_SUITE_data/valid/string_with_escapes.json --- yaws-2.0.6+dfsg/testsuite/json2_SUITE_data/valid/string_with_escapes.json 1970-01-01 00:00:00.000000000 +0000 +++ yaws-2.0.7+dfsg/testsuite/json2_SUITE_data/valid/string_with_escapes.json 2019-07-14 13:01:11.000000000 +0000 @@ -0,0 +1,3 @@ +["\n foo \/ bar \r\f\\\ufffa\t\b\"\\", + "\"and this string has an escape at the beginning", + "and this string has no escapes" ] \ No newline at end of file diff -Nru yaws-2.0.6+dfsg/testsuite/json2_SUITE_data/valid/three_byte_utf8.json yaws-2.0.7+dfsg/testsuite/json2_SUITE_data/valid/three_byte_utf8.json --- yaws-2.0.6+dfsg/testsuite/json2_SUITE_data/valid/three_byte_utf8.json 1970-01-01 00:00:00.000000000 +0000 +++ yaws-2.0.7+dfsg/testsuite/json2_SUITE_data/valid/three_byte_utf8.json 2019-07-14 13:01:11.000000000 +0000 @@ -0,0 +1 @@ +{"matzue": "松江", "asakusa": "浅草"} \ No newline at end of file diff -Nru yaws-2.0.6+dfsg/testsuite/json2_SUITE_data/valid/three-byte-utf-8.json yaws-2.0.7+dfsg/testsuite/json2_SUITE_data/valid/three-byte-utf-8.json --- yaws-2.0.6+dfsg/testsuite/json2_SUITE_data/valid/three-byte-utf-8.json 1970-01-01 00:00:00.000000000 +0000 +++ yaws-2.0.7+dfsg/testsuite/json2_SUITE_data/valid/three-byte-utf-8.json 2019-07-14 13:01:11.000000000 +0000 @@ -0,0 +1 @@ +["\u0821 three-byte UTF-8"] \ No newline at end of file diff -Nru yaws-2.0.6+dfsg/testsuite/json2_SUITE_data/valid/true.json yaws-2.0.7+dfsg/testsuite/json2_SUITE_data/valid/true.json --- yaws-2.0.6+dfsg/testsuite/json2_SUITE_data/valid/true.json 1970-01-01 00:00:00.000000000 +0000 +++ yaws-2.0.7+dfsg/testsuite/json2_SUITE_data/valid/true.json 2019-07-14 13:01:11.000000000 +0000 @@ -0,0 +1 @@ +[true] \ No newline at end of file diff -Nru yaws-2.0.6+dfsg/testsuite/json2_SUITE_data/valid/two-byte-utf-8.json yaws-2.0.7+dfsg/testsuite/json2_SUITE_data/valid/two-byte-utf-8.json --- yaws-2.0.6+dfsg/testsuite/json2_SUITE_data/valid/two-byte-utf-8.json 1970-01-01 00:00:00.000000000 +0000 +++ yaws-2.0.7+dfsg/testsuite/json2_SUITE_data/valid/two-byte-utf-8.json 2019-07-14 13:01:11.000000000 +0000 @@ -0,0 +1 @@ +["\u0123 two-byte UTF-8"] \ No newline at end of file diff -Nru yaws-2.0.6+dfsg/testsuite/json2_SUITE_data/valid/unescaped_bulgarian.json yaws-2.0.7+dfsg/testsuite/json2_SUITE_data/valid/unescaped_bulgarian.json --- yaws-2.0.6+dfsg/testsuite/json2_SUITE_data/valid/unescaped_bulgarian.json 1970-01-01 00:00:00.000000000 +0000 +++ yaws-2.0.7+dfsg/testsuite/json2_SUITE_data/valid/unescaped_bulgarian.json 2019-07-14 13:01:11.000000000 +0000 @@ -0,0 +1 @@ +["Да Му Еба Майката"] \ No newline at end of file diff -Nru yaws-2.0.6+dfsg/testsuite/json2_SUITE_data/valid/utf-8-string.json yaws-2.0.7+dfsg/testsuite/json2_SUITE_data/valid/utf-8-string.json --- yaws-2.0.6+dfsg/testsuite/json2_SUITE_data/valid/utf-8-string.json 1970-01-01 00:00:00.000000000 +0000 +++ yaws-2.0.7+dfsg/testsuite/json2_SUITE_data/valid/utf-8-string.json 2019-07-14 13:01:11.000000000 +0000 @@ -0,0 +1 @@ +["€þıœəßð some utf-8 ĸʒ×ŋµåäö𝄞"] \ No newline at end of file diff -Nru yaws-2.0.6+dfsg/testsuite/json2_SUITE_data/valid/utf-surrogate-four-byte-encoding.json yaws-2.0.7+dfsg/testsuite/json2_SUITE_data/valid/utf-surrogate-four-byte-encoding.json --- yaws-2.0.6+dfsg/testsuite/json2_SUITE_data/valid/utf-surrogate-four-byte-encoding.json 1970-01-01 00:00:00.000000000 +0000 +++ yaws-2.0.7+dfsg/testsuite/json2_SUITE_data/valid/utf-surrogate-four-byte-encoding.json 2019-07-14 13:01:11.000000000 +0000 @@ -0,0 +1 @@ +["\uD834\uDD1E surrogate, four-byte UTF-8"] \ No newline at end of file diff -Nru yaws-2.0.6+dfsg/testsuite/json2_SUITE.erl yaws-2.0.7+dfsg/testsuite/json2_SUITE.erl --- yaws-2.0.6+dfsg/testsuite/json2_SUITE.erl 1970-01-01 00:00:00.000000000 +0000 +++ yaws-2.0.7+dfsg/testsuite/json2_SUITE.erl 2019-07-14 13:01:11.000000000 +0000 @@ -0,0 +1,63 @@ +-module(json2_SUITE). + +-include("testsuite.hrl"). + +-compile(export_all). + +all() -> + [ + json2_decode_valid, + json2_decode_invalid, + json2_decode_invalid_utf8 + ]. + +groups() -> + [ + ]. + +%%==================================================================== +init_per_suite(Config) -> + Config. + +end_per_suite(_Config) -> + ok. + +init_per_group(_Group, Config) -> + Config. + +end_per_group(_Group, _Config) -> + ok. + +init_per_testcase(_Test, Config) -> + Config. + +end_per_testcase(_Test, _Config) -> + ok. + +%%==================================================================== +json2_decode_valid(_Config) -> + Dir = filename:join(?srcdir, "json2_SUITE_data/valid"), + Tests = filelib:wildcard(filename:join(Dir, "*.json")), + [begin + {ok, Bin} = file:read_file(T), + Str = unicode:characters_to_list(Bin), + ?assertMatch({T, {ok, _}}, {T, json2:decode_string(Str)}) + end || T <- Tests], + ok. + +json2_decode_invalid(_Config) -> + Dir = filename:join(?srcdir, "json2_SUITE_data/invalid"), + Tests = filelib:wildcard(filename:join(Dir, "*.json")), + [begin + {ok, Bin} = file:read_file(T), + Str = unicode:characters_to_list(Bin), + ?assertMatch({T, {error, _}}, {T, json2:decode_string(Str)}) + end || T <- Tests], + ok. + +json2_decode_invalid_utf8(_Config) -> + Str1 = [$", 16#d848, $"], %% high surrogate only + Str2 = [$", 16#dc49, $"], %% low surrogate only + ?assertMatch({Str1, {error, _}}, {Str1, json2:decode_string(Str1)}), + ?assertMatch({Str2, {error, _}}, {Str2, json2:decode_string(Str2)}), + ok. diff -Nru yaws-2.0.6+dfsg/testsuite/jsonrpc_SUITE_data/jsontest.erl yaws-2.0.7+dfsg/testsuite/jsonrpc_SUITE_data/jsontest.erl --- yaws-2.0.6+dfsg/testsuite/jsonrpc_SUITE_data/jsontest.erl 1970-01-01 00:00:00.000000000 +0000 +++ yaws-2.0.7+dfsg/testsuite/jsonrpc_SUITE_data/jsontest.erl 2019-07-14 13:01:11.000000000 +0000 @@ -0,0 +1,28 @@ +-module(jsontest). +-export([out/1, handler/3]). + +out(Arg) -> + yaws_rpc:handler_session(Arg, {?MODULE, handler}). + +handler(_State, {call, subtract, Params}, _Session) -> + {Minuend, Subtrahend} = case Params of + {array, [M, S]} -> + {M, S}; + Obj -> + {jsonrpc:s(Obj, "minuend"), + jsonrpc:s(Obj, "subtrahend")} + end, + {true, undefined, undefined, {response, Minuend - Subtrahend}}; +handler(_State, {notification, update, {array, [1,2,3,4,5]}}, _Session) -> + false; +handler(_State, {notification, foobar, undefined}, _Session) -> + false; +handler(_State, {call, sum, {array, Params}}, _Session) -> + {true, undefined, undefined, {response, lists:sum(Params)}}; +handler(_State, {notification, "notify_hello", {array, [7]}}, _Session) -> + false; +handler(_State, {call, get_data, undefined}, _Session) -> + {true, undefined, undefined, {response, {array, ["hello", 5]}}}. + + + diff -Nru yaws-2.0.6+dfsg/testsuite/jsonrpc_SUITE_data/templates/yaws.conf yaws-2.0.7+dfsg/testsuite/jsonrpc_SUITE_data/templates/yaws.conf --- yaws-2.0.6+dfsg/testsuite/jsonrpc_SUITE_data/templates/yaws.conf 1970-01-01 00:00:00.000000000 +0000 +++ yaws-2.0.7+dfsg/testsuite/jsonrpc_SUITE_data/templates/yaws.conf 2019-07-14 13:01:11.000000000 +0000 @@ -0,0 +1,18 @@ +logdir = $logdir$ + +ebin_dir = $data_builddir$ + +trace = false +copy_error_log = true +log_wrap_size = 1000000 +log_resolve_hostname = false +fail_on_bind_err = true +pick_first_virthost_on_nomatch = true +keepalive_timeout = 10000 + + + + port = $yaws_port1$ + listen = 127.0.0.1 + appmods = + diff -Nru yaws-2.0.6+dfsg/testsuite/jsonrpc_SUITE.erl yaws-2.0.7+dfsg/testsuite/jsonrpc_SUITE.erl --- yaws-2.0.6+dfsg/testsuite/jsonrpc_SUITE.erl 1970-01-01 00:00:00.000000000 +0000 +++ yaws-2.0.7+dfsg/testsuite/jsonrpc_SUITE.erl 2019-07-14 13:01:11.000000000 +0000 @@ -0,0 +1,355 @@ +-module(jsonrpc_SUITE). + +-include("testsuite.hrl"). +-include_lib("kernel/include/file.hrl"). + +-compile(export_all). + +all() -> + [ + param_array, + encode_decode, + param_object, + notification, + missing_method, + invalid_json, + invalid_request, + invalid_params, + invalid_batch_json, + empty_batch, + invalid_batch1, + invalid_batch2, + mixed_batch, + all_notification_batch + ]. + +groups() -> + [ + ]. + +%%==================================================================== +init_per_suite(Config) -> + Id = "testsuite-server", + YConf = filename:join(?tempdir(?MODULE), "yaws.conf"), + inets:start(), + application:load(yaws), + application:set_env(yaws, id, Id), + application:set_env(yaws, conf, YConf), + ok = yaws:start(), + [{yaws_id, Id}, {yaws_config, YConf} | Config]. + +end_per_suite(_Config) -> + ok = application:stop(yaws), + ok = application:unload(yaws), + inets:stop(), + ok. + +init_per_group(_Group, Config) -> + Config. + +end_per_group(_Group, _Config) -> + ok. + +init_per_testcase(_Test, Config) -> + Config. + +end_per_testcase(_Test, _Config) -> + ok. + +%%==================================================================== +param_array(Config) -> + Port = testsuite:get_yaws_port(1, Config), + Url = testsuite:make_url(http, "127.0.0.1", Port, "/"), + + ?assertEqual(ok, do_json(Url, {struct, [{"jsonrpc", "2.0"}, + {"method", "subtract"}, + {"params", {array, [42, 23]}}, + {"id", 1}]}, + {struct, [{"jsonrpc", "2.0"}, + {"result", 19}, + {"id", 1}]})), + + ?assertEqual(ok, do_json(Url, {struct, [{"jsonrpc", "2.0"}, + {"method", "subtract"}, + {"params", {array, [23, 42]}}, + {"id", 2}]}, + {struct, [{"jsonrpc", "2.0"}, + {"result", -19}, + {"id", 2}]})), + ok. + +encode_decode(Config) -> + Port = testsuite:get_yaws_port(1, Config), + Url = testsuite:make_url(http, "127.0.0.1", Port, "/"), + + ?assertEqual({ok,{response,[19]}}, + jsonrpc:call(Url, [], {call, "subtract", [42, 23]})), + + UStr = "{ \"origfilename\":\"Acronyms \\u2013 April 2014.pptx\" }", + {ok, {struct,[{"origfilename", US}]}} = json2:decode_string(UStr), + iolist_to_binary(US), % must not cause a badarg exception + + ok. + +param_object(Config) -> + Port = testsuite:get_yaws_port(1, Config), + Url = testsuite:make_url(http, "127.0.0.1", Port, "/"), + + ?assertEqual(ok, do_json(Url, {struct, [{"jsonrpc", "2.0"}, + {"method", "subtract"}, + {"params", {struct, [{"subtrahend", 23}, + {"minuend", 42}]}}, + {"id", 3}]}, + {struct, [{"jsonrpc", "2.0"}, + {"result", 19}, + {"id", 3}]})), + + ?assertEqual(ok, do_json(Url, {struct, [{"jsonrpc", "2.0"}, + {"method", "subtract"}, + {"params", {struct, [{"minuend", 42}, + {"subtrahend", 23}]}}, + {"id", 4}]}, + {struct, [{"jsonrpc", "2.0"}, + {"result", 19}, + {"id", 4}]})), + ok. + +notification(Config) -> + Port = testsuite:get_yaws_port(1, Config), + Url = testsuite:make_url(http, "127.0.0.1", Port, "/"), + + ?assertEqual(ok, do_json(Url, {struct, [{"jsonrpc", "2.0"}, + {"method", "update"}, + {"params", {array, [1,2,3,4,5]}}]}, + notification)), + + ?assertEqual(ok, do_json(Url, {struct, [{"jsonrpc", "2.0"}, + {"method", "foobar"}]}, + notification)), + + ok. + +missing_method(Config) -> + Port = testsuite:get_yaws_port(1, Config), + Url = testsuite:make_url(http, "127.0.0.1", Port, "/"), + + ?assertEqual(ok, do_json(Url, {struct, [{"jsonrpc", "2.0"}, + {"method", "foobar"}, + {"id", "1"}]}, + {struct, [{"jsonrpc", "2.0"}, + {"id", "1"}, + {"error", {struct, + [{"code", -32601}, + {"message", "method not found"}]} + }]})), + ok. + +invalid_json(Config) -> + Port = testsuite:get_yaws_port(1, Config), + Url = testsuite:make_url(http, "127.0.0.1", Port, "/"), + + InvalidJson = "{\"jsonrpc\": \"2.0\", \"method\": \"foobar," + "\"params\": \"bar\", \"baz]", + ?assertEqual(ok, do_json(Url, InvalidJson, + {struct, [{"jsonrpc", "2.0"}, + {"id", null}, + {"error", {struct, + [{"code", -32700}, + {"message", "parse error"}]} + }]}, + no_encode)), + ok. + +invalid_request(Config) -> + Port = testsuite:get_yaws_port(1, Config), + Url = testsuite:make_url(http, "127.0.0.1", Port, "/"), + + InvalidReq = "{\"jsonrpc\": \"2.0\", \"method\": 1, \"params\": \"bar\"}", + ?assertEqual(ok, do_json(Url, InvalidReq, + {struct, [{"jsonrpc", "2.0"}, + {"id", null}, + {"error", {struct, + [{"code", -32600}, + {"message", "invalid request"}]} + }]}, + no_encode)), + ok. + +invalid_params(Config) -> + Port = testsuite:get_yaws_port(1, Config), + Url = testsuite:make_url(http, "127.0.0.1", Port, "/"), + + InvalidReq = "{\"jsonrpc\": \"2.0\", \"method\": \"x\",\"params\": \"bar\"}", + ?assertEqual(ok, do_json(Url, InvalidReq, + {struct, [{"jsonrpc", "2.0"}, + {"id", null}, + {"error", {struct, + [{"code", -32602}, + {"message", "invalid params"}]} + }]}, + no_encode)), + ok. + +invalid_batch_json(Config) -> + Port = testsuite:get_yaws_port(1, Config), + Url = testsuite:make_url(http, "127.0.0.1", Port, "/"), + + InvalidJsonBatch = "[ {\"jsonrpc\": \"2.0\", \"method\": \"sum\"," + "\"params\": [1,2,4],\"id\": \"1\"},{\"jsonrpc\": \"2.0\", \"method\" ]", + ?assertEqual(ok, do_json(Url, InvalidJsonBatch, + {struct, [{"jsonrpc", "2.0"}, + {"id", null}, + {"error", {struct, + [{"code", -32700}, + {"message", "parse error"}]} + }]}, + no_encode)), + ok. + +empty_batch(Config) -> + Port = testsuite:get_yaws_port(1, Config), + Url = testsuite:make_url(http, "127.0.0.1", Port, "/"), + + EmptyBatch = "[]", + ?assertEqual(ok, do_json(Url, EmptyBatch, + {struct, [{"jsonrpc", "2.0"}, + {"id", null}, + {"error", {struct, + [{"code", -32600}, + {"message", "invalid request"}]} + }]}, + no_encode)), + ok. + +invalid_batch1(Config) -> + Port = testsuite:get_yaws_port(1, Config), + Url = testsuite:make_url(http, "127.0.0.1", Port, "/"), + + BogusBatch = "[1]", + ?assertEqual(ok, do_json(Url, BogusBatch, + {array, + [{struct, [{"jsonrpc", "2.0"}, + {"id", null}, + {"error", {struct, + [{"code", -32600}, + {"message", "invalid request"}]} + }]}]}, + no_encode)), + ok. + +invalid_batch2(Config) -> + Port = testsuite:get_yaws_port(1, Config), + Url = testsuite:make_url(http, "127.0.0.1", Port, "/"), + + BogusBatch = "[1,2,3]", + ?assertEqual(ok, do_json(Url, BogusBatch, + {array, + [{struct, [{"jsonrpc", "2.0"}, + {"id", null}, + {"error", {struct, + [{"code", -32600}, + {"message", "invalid request"}]} + }]}, + {struct, [{"jsonrpc", "2.0"}, + {"id", null}, + {"error", {struct, + [{"code", -32600}, + {"message", "invalid request"}]} + }]}, + {struct, [{"jsonrpc", "2.0"}, + {"id", null}, + {"error", {struct, + [{"code", -32600}, + {"message", "invalid request"}]} + }]}]}, + no_encode)), + ok. + +mixed_batch(Config) -> + Port = testsuite:get_yaws_port(1, Config), + Url = testsuite:make_url(http, "127.0.0.1", Port, "/"), + + MixedBatch = " + [{\"jsonrpc\":\"2.0\",\"method\":\"sum\",\"params\": [1,2,4], \"id\": \"1\"}, + {\"jsonrpc\":\"2.0\",\"method\":\"notify_hello\", \"params\": [7]}, + {\"jsonrpc\":\"2.0\",\"method\":\"subtract\",\"params\":[42,23], + \"id\":\"2\"}, + {\"foo\": \"boo\"}, + {\"jsonrpc\":\"2.0\",\"method\":\"foo.get\", + \"params\":{\"name\": \"myself\"}, \"id\": \"5\"}, + {\"jsonrpc\": \"2.0\", \"method\": \"get_data\", \"id\": \"9\"}]", + ?assertEqual(ok, do_json(Url, MixedBatch, + {array, + [{struct,[{"jsonrpc","2.0"}, + {"result",7}, + {"id","1"}]}, + {struct,[{"jsonrpc","2.0"}, + {"result",19},{"id","2"}]}, + {struct,[{"jsonrpc","2.0"}, + {"error", + {struct,[{"code",-32600}, + {"message","invalid request"}]}}, + {"id",null}]}, + {struct,[{"jsonrpc","2.0"}, + {"error", + {struct,[{"code",-32601}, + {"message","method not found"}]}}, + {"id","5"}]}, + {struct,[{"jsonrpc","2.0"}, + {"result",{array,["hello",5]}}, + {"id","9"}]}]}, + no_encode)), + ok. + +all_notification_batch(Config) -> + Port = testsuite:get_yaws_port(1, Config), + Url = testsuite:make_url(http, "127.0.0.1", Port, "/"), + + NotifBatch = "[ + {\"jsonrpc\": \"2.0\", \"method\": \"notify_sum\", \"params\": [1,2,4]}, + {\"jsonrpc\": \"2.0\", \"method\": \"notify_hello\", \"params\": [7]}]", + ?assertEqual(ok, do_json(Url, NotifBatch, notification, no_encode)), + ok. + +%%==================================================================== +do_json(Url, Req, Expected) -> + do_json(Url, Req, Expected, encode). + +do_json(Url, Req, notification, NeedEncode) -> + {ok, {{_,200,_}, Hdrs, Body}} = json_send(Url, Req, NeedEncode), + ?assertEqual("application/json", proplists:get_value("content-type", Hdrs)), + ?assertEqual(<<>>, Body), + ok; +do_json(Url, Req, {struct, _}=Expected, NeedEncode) -> + {ok, {{_,200,_}, Hdrs, Body}} = json_send(Url, Req, NeedEncode), + ?assertEqual("application/json", proplists:get_value("content-type", Hdrs)), + check_json(Expected, Body, true); +do_json(Url, Req, {array, Array}, NeedEncode) -> + {ok, {{_,200,_}, Hdrs, Body}} = json_send(Url, Req, NeedEncode), + ?assertEqual("application/json", proplists:get_value("content-type", Hdrs)), + {ok, {array, GotArray}} = json2:decode_string(binary_to_list(Body)), + lists:map(fun({Obj, Got}) -> + ?assertEqual(ok, check_json(Obj, Got, false)) + end, lists:zip(Array, GotArray)), + ok. + +check_json({struct, _}=Exp, Body, true) -> + {ok, DecodedBody} = json2:decode_string(binary_to_list(Body)), + check_json(Exp, DecodedBody); +check_json({struct, _}=Exp, Body, false) -> + check_json(Exp, Body). + +check_json({struct, Members}, DecodedBody) -> + io:format("~p~n~p~n", [Members, DecodedBody]), + lists:foreach(fun({Key, Val}) -> + ?assertEqual(Val, jsonrpc:s(DecodedBody, Key)) + end, Members), + ok. + +%% json_send(Url, Req) -> +%% json_send(Url, Req, encode). + +json_send(Url, Req, encode) -> + json_send(Url, lists:flatten(json2:encode(Req)), no_encode); +json_send(Url, Req, no_encode) -> + testsuite:http_post(Url, {"application/json", Req}). diff -Nru yaws-2.0.6+dfsg/testsuite/main_SUITE_data/appmod1.erl yaws-2.0.7+dfsg/testsuite/main_SUITE_data/appmod1.erl --- yaws-2.0.6+dfsg/testsuite/main_SUITE_data/appmod1.erl 1970-01-01 00:00:00.000000000 +0000 +++ yaws-2.0.7+dfsg/testsuite/main_SUITE_data/appmod1.erl 2019-07-14 13:01:11.000000000 +0000 @@ -0,0 +1,13 @@ +-module(appmod1). +-export([out/1]). + +out(Arg) -> + case yaws_api:arg_server_path(Arg) of + "/chained" -> + put(appmod_stack, "appmod1[/chained]"), + {page, "/appmod2"}; + Path -> + Stack = get(appmod_stack), + put(appmod_stack, Stack++", appmod1["++Path++"]"), + {page, "/chained.txt"} + end. diff -Nru yaws-2.0.6+dfsg/testsuite/main_SUITE_data/appmod2.erl yaws-2.0.7+dfsg/testsuite/main_SUITE_data/appmod2.erl --- yaws-2.0.6+dfsg/testsuite/main_SUITE_data/appmod2.erl 1970-01-01 00:00:00.000000000 +0000 +++ yaws-2.0.7+dfsg/testsuite/main_SUITE_data/appmod2.erl 2019-07-14 13:01:11.000000000 +0000 @@ -0,0 +1,8 @@ +-module(appmod2). +-export([out/1]). + +out(Arg) -> + Path = yaws_api:arg_server_path(Arg), + Stack = get(appmod_stack), + put(appmod_stack, Stack++", appmod2["++Path++"]"), + {page, "/appmod1"}. diff -Nru yaws-2.0.6+dfsg/testsuite/main_SUITE_data/appmod3.erl yaws-2.0.7+dfsg/testsuite/main_SUITE_data/appmod3.erl --- yaws-2.0.6+dfsg/testsuite/main_SUITE_data/appmod3.erl 1970-01-01 00:00:00.000000000 +0000 +++ yaws-2.0.7+dfsg/testsuite/main_SUITE_data/appmod3.erl 2019-07-14 13:01:11.000000000 +0000 @@ -0,0 +1,8 @@ +-module(appmod3). +-export([out/1]). + +out(Arg) -> + Path = yaws_api:arg_server_path(Arg), + Stack = get(appmod_stack), + Options = [{header, {"X-AppMods", Stack++", appmod3["++Path++"]"}}], + {page, {Options, "/chained.txt"}}. diff -Nru yaws-2.0.6+dfsg/testsuite/main_SUITE_data/appmod_strip_undefined_bindings.erl yaws-2.0.7+dfsg/testsuite/main_SUITE_data/appmod_strip_undefined_bindings.erl --- yaws-2.0.6+dfsg/testsuite/main_SUITE_data/appmod_strip_undefined_bindings.erl 1970-01-01 00:00:00.000000000 +0000 +++ yaws-2.0.7+dfsg/testsuite/main_SUITE_data/appmod_strip_undefined_bindings.erl 2019-07-14 13:01:11.000000000 +0000 @@ -0,0 +1,6 @@ +-module(appmod_strip_undefined_bindings). +-export([out/1]). + +out(_) -> + [{bindings, [{"HelloWorld", "hello world!"}]}, + {yssi, "appmod_with_yssi_strip_undefined_bindings.yaws"}]. diff -Nru yaws-2.0.6+dfsg/testsuite/main_SUITE_data/appmod_with_yssi.erl yaws-2.0.7+dfsg/testsuite/main_SUITE_data/appmod_with_yssi.erl --- yaws-2.0.6+dfsg/testsuite/main_SUITE_data/appmod_with_yssi.erl 1970-01-01 00:00:00.000000000 +0000 +++ yaws-2.0.7+dfsg/testsuite/main_SUITE_data/appmod_with_yssi.erl 2019-07-14 13:01:11.000000000 +0000 @@ -0,0 +1,8 @@ +-module(appmod_with_yssi). +-export([out/1]). + +-include("yaws_api.hrl"). + +out(Arg) -> + [Arg#arg{state=yssi}, + {yssi, "appmod_with_yssi.yaws"}]. diff -Nru yaws-2.0.6+dfsg/testsuite/main_SUITE_data/appmod_with_yssi_strip_undefined_bindings.erl yaws-2.0.7+dfsg/testsuite/main_SUITE_data/appmod_with_yssi_strip_undefined_bindings.erl --- yaws-2.0.6+dfsg/testsuite/main_SUITE_data/appmod_with_yssi_strip_undefined_bindings.erl 1970-01-01 00:00:00.000000000 +0000 +++ yaws-2.0.7+dfsg/testsuite/main_SUITE_data/appmod_with_yssi_strip_undefined_bindings.erl 2019-07-14 13:01:11.000000000 +0000 @@ -0,0 +1,6 @@ +-module(appmod_with_yssi_strip_undefined_bindings). +-export([out/1]). + +out(_) -> + [{bindings, [strip_undefined, {"HelloWorld", "hello world!"}]}, + {yssi, "appmod_with_yssi_strip_undefined_bindings.yaws"}]. diff -Nru yaws-2.0.6+dfsg/testsuite/main_SUITE_data/app_test.erl yaws-2.0.7+dfsg/testsuite/main_SUITE_data/app_test.erl --- yaws-2.0.6+dfsg/testsuite/main_SUITE_data/app_test.erl 1970-01-01 00:00:00.000000000 +0000 +++ yaws-2.0.7+dfsg/testsuite/main_SUITE_data/app_test.erl 2019-07-14 13:01:11.000000000 +0000 @@ -0,0 +1,10 @@ +-module(app_test). + +-export([out/1]). + +-define(APPMOD_HEADER, "Appmod-Called"). + +out(_A) -> + %% add our special header to mark that we were here + [{status, 200}, + {header, {?APPMOD_HEADER, "true"}}]. diff -Nru yaws-2.0.6+dfsg/testsuite/main_SUITE_data/cache_appmod_test.erl yaws-2.0.7+dfsg/testsuite/main_SUITE_data/cache_appmod_test.erl --- yaws-2.0.6+dfsg/testsuite/main_SUITE_data/cache_appmod_test.erl 1970-01-01 00:00:00.000000000 +0000 +++ yaws-2.0.7+dfsg/testsuite/main_SUITE_data/cache_appmod_test.erl 2019-07-14 13:01:11.000000000 +0000 @@ -0,0 +1,14 @@ +-module(cache_appmod_test). +-export([out/1]). + +-include("yaws_api.hrl"). + +out(Arg) -> + {abs_path, Path} = (Arg#arg.req)#http_request.path, + Opts0 = case yaws_api:queryvar(Arg, "no-cache") of + {ok, "1"} -> [{disable_cache, true}]; + _ -> [] + end, + Opts1 = [{header, {"X-Appmod", "cache_appmod_test"}}|Opts0], + {page, {Opts1, Path}}. + diff -Nru yaws-2.0.6+dfsg/testsuite/main_SUITE_data/dispatchmod_tester.erl yaws-2.0.7+dfsg/testsuite/main_SUITE_data/dispatchmod_tester.erl --- yaws-2.0.6+dfsg/testsuite/main_SUITE_data/dispatchmod_tester.erl 1970-01-01 00:00:00.000000000 +0000 +++ yaws-2.0.7+dfsg/testsuite/main_SUITE_data/dispatchmod_tester.erl 2019-07-14 13:01:11.000000000 +0000 @@ -0,0 +1,18 @@ +-module(dispatchmod_tester). +-export([dispatch/1]). + +-include("yaws_api.hrl"). + +dispatch(#arg{clisock=Sock}=A) -> + {abs_path, Path} = (A#arg.req)#http_request.path, + case Path of + "/done" -> + ok = gen_tcp:send(Sock, <<"HTTP/1.1 204 No Content\r\nX-DispatchMod: true\r\n\r\n">>), + done; + "/closed" -> + ok = gen_tcp:send(Sock, <<"HTTP/1.1 200 OK\r\nX-DispatchMod: true\r\nConnection: close\r\n\r\n">>), + gen_tcp:close(Sock), + closed; + _ -> + continue + end. diff -Nru yaws-2.0.6+dfsg/testsuite/main_SUITE_data/extra_resp_hdrs.erl yaws-2.0.7+dfsg/testsuite/main_SUITE_data/extra_resp_hdrs.erl --- yaws-2.0.6+dfsg/testsuite/main_SUITE_data/extra_resp_hdrs.erl 1970-01-01 00:00:00.000000000 +0000 +++ yaws-2.0.7+dfsg/testsuite/main_SUITE_data/extra_resp_hdrs.erl 2019-07-14 13:01:11.000000000 +0000 @@ -0,0 +1,14 @@ +-module(extra_resp_hdrs). +-export([extra_response_headers/3]). + +%% This test adds extra headers to the response. The addition of +%% Set-Cookie verifies that the response to the client contains +%% multiple instances of the Set-Cookie header in the order specified +%% here. The addition of X-Multi verifies that only on such header is +%% in the client response, with a comma-separated value consisting of +%% the two values here. +extra_response_headers(OutHdrs, _Arg, _Status) -> + OutHdrs#{"X-ExtraMod" => atom_to_list(?MODULE), + "Set-Cookie" => {multi, ["cookie1=ABCDEFG", + "cookie2=1234567"]}, + "X-Multi" => {multi, ["value1", "value2"]}}. diff -Nru yaws-2.0.6+dfsg/testsuite/main_SUITE_data/flushtest.erl yaws-2.0.7+dfsg/testsuite/main_SUITE_data/flushtest.erl --- yaws-2.0.6+dfsg/testsuite/main_SUITE_data/flushtest.erl 1970-01-01 00:00:00.000000000 +0000 +++ yaws-2.0.7+dfsg/testsuite/main_SUITE_data/flushtest.erl 2019-07-14 13:01:11.000000000 +0000 @@ -0,0 +1,8 @@ +-module(flushtest). +-export([out/1]). + +-include("yaws.hrl"). +-include("yaws_api.hrl"). + +out(_Arg) -> + [{status, 200}, {html, "break"}, flush, break]. diff -Nru yaws-2.0.6+dfsg/testsuite/main_SUITE_data/forwarded_for_test.erl yaws-2.0.7+dfsg/testsuite/main_SUITE_data/forwarded_for_test.erl --- yaws-2.0.6+dfsg/testsuite/main_SUITE_data/forwarded_for_test.erl 1970-01-01 00:00:00.000000000 +0000 +++ yaws-2.0.7+dfsg/testsuite/main_SUITE_data/forwarded_for_test.erl 2019-07-14 13:01:11.000000000 +0000 @@ -0,0 +1,13 @@ +-module(forwarded_for_test). +-export([out/1]). + +-include("yaws_api.hrl"). + +out(Arg) -> + Fwd = yaws_api:headers_x_forwarded_for(Arg#arg.headers), + Status = case string:tokens(Fwd, ", ") of + ["192.168.1.1","192.168.1.2"] -> 200; + _ -> 400 + end, + [{status, Status}, {header, {"X-Result", Fwd}}]. + diff -Nru yaws-2.0.6+dfsg/testsuite/main_SUITE_data/header_order.erl yaws-2.0.7+dfsg/testsuite/main_SUITE_data/header_order.erl --- yaws-2.0.6+dfsg/testsuite/main_SUITE_data/header_order.erl 1970-01-01 00:00:00.000000000 +0000 +++ yaws-2.0.7+dfsg/testsuite/main_SUITE_data/header_order.erl 2019-07-14 13:01:11.000000000 +0000 @@ -0,0 +1,13 @@ +-module(header_order). +-export([out/1]). + +%% This test verifies that Yaws doesn't unnecessarily reorder headers +%% returned by an appmod. We use a header known to Yaws in the #outh +%% record, Cache-Control, along with fabricated user headers, which +%% are stored in the #outh "other" field, to verify ordering between +%% "known" and "other" and also ordering among "other" headers. See +%% main_SUITE:header_order/1. +out(_) -> + [{header, {"Cache-Control", "no-cache"}}, + {header, {"X-Test-Header1", "1"}}, + {header, {"X-Test-Header2", "2"}}]. diff -Nru yaws-2.0.6+dfsg/testsuite/main_SUITE_data/phptest.erl yaws-2.0.7+dfsg/testsuite/main_SUITE_data/phptest.erl --- yaws-2.0.6+dfsg/testsuite/main_SUITE_data/phptest.erl 1970-01-01 00:00:00.000000000 +0000 +++ yaws-2.0.7+dfsg/testsuite/main_SUITE_data/phptest.erl 2019-07-14 13:01:11.000000000 +0000 @@ -0,0 +1,20 @@ +-module(phptest). +-export([out/1]). + +-include("yaws.hrl"). +-include("yaws_api.hrl"). + +out(Arg) -> + File = Arg#arg.fullpath, + case filelib:is_file(File) of + true -> + case file:read_file(File) of + {ok, Content} -> + [{status, 200}, {content, "text/plain", Content}]; + {error, Reason} -> + [{status, 500}, {html, file:format_error(Reason)}] + end; + false -> + Reason = "file not found: " ++ File, + [{status, 500}, {html, Reason}] + end. diff -Nru yaws-2.0.6+dfsg/testsuite/main_SUITE_data/policies.erl yaws-2.0.7+dfsg/testsuite/main_SUITE_data/policies.erl --- yaws-2.0.6+dfsg/testsuite/main_SUITE_data/policies.erl 1970-01-01 00:00:00.000000000 +0000 +++ yaws-2.0.7+dfsg/testsuite/main_SUITE_data/policies.erl 2019-07-14 13:01:11.000000000 +0000 @@ -0,0 +1,13 @@ +-module(policies). +-export([out/1]). + +-include("yaws_api.hrl"). + +out(Arg) -> + {abs_path, OrigReqPath} = Arg#arg.orig_req#http_request.path, + {abs_path, ReqPath} = Arg#arg.req#http_request.path, + [{status, 200}, + {header, {"X-OrigReqPath", OrigReqPath}}, + {header, {"X-ReqPath", ReqPath}}, + {header, {"X-ServerPath", Arg#arg.server_path}}, + {header, {"X-Pathinfo", Arg#arg.pathinfo}}]. diff -Nru yaws-2.0.6+dfsg/testsuite/main_SUITE_data/posttest.erl yaws-2.0.7+dfsg/testsuite/main_SUITE_data/posttest.erl --- yaws-2.0.6+dfsg/testsuite/main_SUITE_data/posttest.erl 1970-01-01 00:00:00.000000000 +0000 +++ yaws-2.0.7+dfsg/testsuite/main_SUITE_data/posttest.erl 2019-07-14 13:01:11.000000000 +0000 @@ -0,0 +1,89 @@ +-module(posttest). +-export([out/1]). + +-include("yaws.hrl"). +-include("yaws_api.hrl"). + +out(Arg) -> + Url = yaws_api:request_url(Arg), + case Url#url.path of + "/posttest/chunked/" ++ ExpectedSize -> + TE = yaws:to_lower((Arg#arg.headers)#headers.transfer_encoding), + if + TE =:= "chunked" -> + handle_post(list_to_integer(ExpectedSize), Arg); + true -> + Reason = io_lib:format("Expected a chunked transfer-encoding request\n~p", + [Arg#arg.headers]), + handle_post(0, Arg#arg{state={flush,500,Reason}}) + end; + "/posttest/" ++ ExpectedSize -> + handle_post(list_to_integer(ExpectedSize), Arg); + _ -> + Reason = "unknown path: " ++ Url#url.path, + handle_post(0, Arg#arg{state={flush,500,Reason}}) + end. + + + +handle_post(_, #arg{clidata=Data, state={flush, HttpCode, Reason}}) -> + %% Catch an error here but flush all remaining data. + case Data of + {partial, _} -> {get_more, undefined, {flush, HttpCode, Reason}}; + _ -> [{status, HttpCode}, {html, Reason}] + end; + +handle_post(ExpectedSize, #arg{clidata=Data, cont=undefined}=Arg) + when is_binary(Data) -> + %% This is not a partial request + %% Expected: content_length =:= ExpectedSize AND + %% content_length < partial_post_size. + + SC = get(sc), + if + size(Data) =:= ExpectedSize andalso + size(Data) < SC#sconf.partial_post_size -> + {status, 200}; + true -> + Reason = io_lib:format("Post data too big. " + "Received: ~p bytes - Max: ~p bytes", + [size(Data), SC#sconf.partial_post_size]), + handle_post(ExpectedSize, Arg#arg{state={flush,500,Reason}}) + end; +handle_post(ExpectedSize, #arg{clidata={partial, Data}, cont=Cont}=Arg) + when is_binary(Data) -> + %% next Chunk of a partial request. + if + Cont =:= undefined -> + %% First chunk + {get_more, {cont, size(Data)}, undefined}; + true -> + {cont, Sz0} = Cont, + Sz1 = Sz0 + size(Data), + if + Sz1 =< ExpectedSize -> + {get_more, {cont, Sz1}, undefined}; + true -> + SC = get(sc), + Reason = io_lib:format("Chunk too big. " + "Received: ~p bytes - Max: ~p bytes", + [size(Data), + SC#sconf.partial_post_size]), + handle_post(ExpectedSize, Arg#arg{state={flush,500,Reason}}) + end + end; +handle_post(ExpectedSize, #arg{clidata=Data, cont=Cont}=Arg) + when is_binary(Data) -> + %% Last chunk of a partial request. + {cont, Sz0} = Cont, + Sz1 = Sz0 + size(Data), + if + Sz1 =:= ExpectedSize -> + {status, 200}; + true -> + Reason = io_lib:format("Received data does not match " + "the expected size. " + "Received: ~p bytes - Expected: ~p bytes", + [Sz1, ExpectedSize]), + handle_post(ExpectedSize, Arg#arg{state={flush,500,Reason}}) + end. diff -Nru yaws-2.0.6+dfsg/testsuite/main_SUITE_data/reentranttest.erl yaws-2.0.7+dfsg/testsuite/main_SUITE_data/reentranttest.erl --- yaws-2.0.6+dfsg/testsuite/main_SUITE_data/reentranttest.erl 1970-01-01 00:00:00.000000000 +0000 +++ yaws-2.0.7+dfsg/testsuite/main_SUITE_data/reentranttest.erl 2019-07-14 13:01:11.000000000 +0000 @@ -0,0 +1,21 @@ +-module(reentranttest). +-export([out/1]). + +-include("yaws.hrl"). +-include("yaws_api.hrl"). + +out(Arg) -> + Url = yaws_api:request_url(Arg), + case Url#url.path of + "/reentranttest/status" -> + {page, {[{status, 201}], "/hello.txt"}}; + "/reentranttest/delayed_headers" -> + Hdrs = [{header, {cache_control, "no-cache"}}, + {header, "Etag: static-tag"}, + {header, "X-Delayed-Header: true"}], + {page, {Hdrs, "/hello.txt"}}; + _ -> + Reason = "unknown path: " ++ Url#url.path, + [{status, 500}, {html, Reason}] + end. + diff -Nru yaws-2.0.6+dfsg/testsuite/main_SUITE_data/rewritetest.erl yaws-2.0.7+dfsg/testsuite/main_SUITE_data/rewritetest.erl --- yaws-2.0.6+dfsg/testsuite/main_SUITE_data/rewritetest.erl 1970-01-01 00:00:00.000000000 +0000 +++ yaws-2.0.7+dfsg/testsuite/main_SUITE_data/rewritetest.erl 2019-07-14 13:01:11.000000000 +0000 @@ -0,0 +1,27 @@ +-module(rewritetest). +-export([arg_rewrite/1]). + +-include("yaws.hrl"). +-include("yaws_api.hrl"). + + +arg_rewrite(Arg) -> + Url = yaws_api:request_url(Arg), + case Url#url.path of + "/rewrite" -> + Req0 = Arg#arg.req, + Req1 = Req0#http_request{path={abs_path,"/hello.txt"}}, + Arg#arg{req=Req1}; + "/redirect" -> + L = "http://www.yakaz.com", + H = [{header, {location, L}}], + RwResp = #rewrite_response{status=301, headers=H}, + Arg#arg{state=RwResp}; + "/response" -> + H = [{header, {content_type, "text/plain"}}], + C = <<"Goodbye, Cruel World!">>, + RwResp = #rewrite_response{status=200, headers=H, content=C}, + Arg#arg{state=RwResp}; + _ -> + Arg + end. diff -Nru yaws-2.0.6+dfsg/testsuite/main_SUITE_data/shapertest.erl yaws-2.0.7+dfsg/testsuite/main_SUITE_data/shapertest.erl --- yaws-2.0.6+dfsg/testsuite/main_SUITE_data/shapertest.erl 1970-01-01 00:00:00.000000000 +0000 +++ yaws-2.0.7+dfsg/testsuite/main_SUITE_data/shapertest.erl 2019-07-14 13:01:11.000000000 +0000 @@ -0,0 +1,40 @@ +-module(shapertest). +-behaviour(yaws_shaper). + +-export([ + check/1, + update/3 + ]). + +-include("yaws.hrl"). +-include("yaws_api.hrl"). + +-define(SHAPER_DB, shaper_db). + +check(Ip) -> + try_create(), + case ets:lookup(?SHAPER_DB, Ip) of + [{Ip, NbHit}] when NbHit > 2 -> + {deny, 503, "Request quota exceeded"}; + _ -> + allow + end. + +update(Ip, Hits, _Bytes) -> + try_create(), + case ets:member(?SHAPER_DB, Ip) of + true -> ets:update_counter(?SHAPER_DB, Ip, Hits); + false -> ets:insert(?SHAPER_DB, {Ip, Hits}) + end. + + + + +try_create() -> + case ets:info(?SHAPER_DB) of + undefined -> + ets:new(?SHAPER_DB, [set, public, named_table, + {heir, whereis(yaws_server), []}]); + _ -> + ok + end. diff -Nru yaws-2.0.6+dfsg/testsuite/main_SUITE_data/status.erl yaws-2.0.7+dfsg/testsuite/main_SUITE_data/status.erl --- yaws-2.0.6+dfsg/testsuite/main_SUITE_data/status.erl 1970-01-01 00:00:00.000000000 +0000 +++ yaws-2.0.7+dfsg/testsuite/main_SUITE_data/status.erl 2019-07-14 13:01:11.000000000 +0000 @@ -0,0 +1,6 @@ +-module(status). +-export([out/1]). + +out(Arg) -> + [{"code", Status}] = yaws_api:parse_query(Arg), + {status, list_to_integer(Status)}. diff -Nru yaws-2.0.6+dfsg/testsuite/main_SUITE_data/streamtest.erl yaws-2.0.7+dfsg/testsuite/main_SUITE_data/streamtest.erl --- yaws-2.0.6+dfsg/testsuite/main_SUITE_data/streamtest.erl 1970-01-01 00:00:00.000000000 +0000 +++ yaws-2.0.7+dfsg/testsuite/main_SUITE_data/streamtest.erl 2019-07-14 13:01:11.000000000 +0000 @@ -0,0 +1,42 @@ +-module(streamtest). +-export([out/1, streamer/1, close_streamer/2]). + +-include("yaws_api.hrl"). + + +out(Arg) -> + Sock = Arg#arg.clisock, + Url = yaws_api:request_url(Arg), + case lists:reverse(string:tokens(Url#url.path, "/")) of + ["1"|_] -> + Pid1 = spawn(?MODULE, streamer, [Sock]), + {streamcontent_from_pid, "text/plain", Pid1}; + ["2"|_] -> + Msg = "closing the socket", + Pid2 = spawn(?MODULE, close_streamer, [Sock, Msg]), + [{header, {content_length, length(Msg)}}, + {streamcontent_from_pid, "text/plain", Pid2}] + end. + +streamer(Sock) -> + receive + {discard, YawsPid} -> + yaws_api:stream_process_end(Sock, YawsPid); + {ok, YawsPid} -> + yaws_api:stream_process_deliver_final_chunk( + Sock, + ["this", " is", <<" an">>, <<" iolist">>] + ), + yaws_api:stream_process_end(Sock, YawsPid) + end. + +close_streamer(Sock, Msg) -> + receive + {discard, YawsPid} -> + yaws_api:stream_process_end(Sock, YawsPid); + {ok, YawsPid} -> + gen_tcp:send(Sock, Msg), + timer:sleep(3000), + gen_tcp:close(Sock), + yaws_api:stream_process_end(closed, YawsPid) + end. diff -Nru yaws-2.0.6+dfsg/testsuite/main_SUITE_data/templates/yaws.conf yaws-2.0.7+dfsg/testsuite/main_SUITE_data/templates/yaws.conf --- yaws-2.0.6+dfsg/testsuite/main_SUITE_data/templates/yaws.conf 1970-01-01 00:00:00.000000000 +0000 +++ yaws-2.0.7+dfsg/testsuite/main_SUITE_data/templates/yaws.conf 2019-07-14 13:01:11.000000000 +0000 @@ -0,0 +1,99 @@ +logdir = $logdir$ + +ebin_dir = $data_builddir$ + +trace = false +copy_error_log = true +log_wrap_size = 1000000 +log_resolve_hostname = false +fail_on_bind_err = true +pick_first_virthost_on_nomatch = true +keepalive_timeout = 10000 + + + listen = 127.0.0.1 + port = $yaws_port1$ + deflate = true + auth_log = true + docroot = $data_srcdir$/www $tempdir$/www + partial_post_size = 2048000 + php_handler = + arg_rewrite_mod = rewritetest + expires = + expires = + expires = <*/*, always> + + appmods = streamtest wrap_log + appmods = posttest reentranttest flushtest + appmods = + appmods = + appmods = + appmods = appmod1 + appmods = + appmods = + appmods = + appmods = + appmods = + appmods = + appmods = + + + + listen = 127.0.0.1 + port = $yaws_port2$ + appmods = + + + + listen = 127.0.0.1 + port = $yaws_port3$ + docroot = $wwwdir$ + appmods = + + + + listen = 127.0.0.1 + port = $yaws_port4$ + docroot = $data_srcdir$/www + shaper = shapertest + + + + listen = 127.0.0.1 + port = $yaws_port5$ + docroot = $wwwdir$ + index_files = index.html /testdir + + + + listen = 127.0.0.1 + port = $yaws_port6$ + docroot = $wwwdir$ + dispatchmod = dispatchmod_tester + + + + listen = 127.0.0.1 + port = $yaws_port7$ + docroot = $data_srcdir$/www + + keyfile = $top_srcdir$/ssl/yaws-key.pem + certfile = $top_srcdir$/ssl/yaws-cert.pem + depth = 0 + + + + + listen = 127.0.0.1 + port = $yaws_port8$ + docroot = $data_srcdir$/www + strip_undefined_bindings = true + appmods = + appmods = + + add X-Foo = Bar + always add X-Bar = multiple words + erase Etag + extramod = extra_resp_hdrs + + diff -Nru yaws-2.0.6+dfsg/testsuite/main_SUITE_data/throwtest.erl yaws-2.0.7+dfsg/testsuite/main_SUITE_data/throwtest.erl --- yaws-2.0.6+dfsg/testsuite/main_SUITE_data/throwtest.erl 1970-01-01 00:00:00.000000000 +0000 +++ yaws-2.0.7+dfsg/testsuite/main_SUITE_data/throwtest.erl 2019-07-14 13:01:11.000000000 +0000 @@ -0,0 +1,5 @@ +-module(throwtest). +-export([out/1]). + +out(_Arg) -> + throw({status, 200}). diff -Nru yaws-2.0.6+dfsg/testsuite/main_SUITE_data/wrap_log.erl yaws-2.0.7+dfsg/testsuite/main_SUITE_data/wrap_log.erl --- yaws-2.0.6+dfsg/testsuite/main_SUITE_data/wrap_log.erl 1970-01-01 00:00:00.000000000 +0000 +++ yaws-2.0.7+dfsg/testsuite/main_SUITE_data/wrap_log.erl 2019-07-14 13:01:11.000000000 +0000 @@ -0,0 +1,6 @@ +-module(wrap_log). +-export([out/1]). + +out(_Arg) -> + yaws_log ! minute10, + {status, 200}. diff -Nru yaws-2.0.6+dfsg/testsuite/main_SUITE_data/www/accept_ranges1.yaws yaws-2.0.7+dfsg/testsuite/main_SUITE_data/www/accept_ranges1.yaws --- yaws-2.0.6+dfsg/testsuite/main_SUITE_data/www/accept_ranges1.yaws 1970-01-01 00:00:00.000000000 +0000 +++ yaws-2.0.7+dfsg/testsuite/main_SUITE_data/www/accept_ranges1.yaws 2019-07-14 13:01:11.000000000 +0000 @@ -0,0 +1,4 @@ + +out(_Arg) -> + {header, {"Accept-Ranges", <<"bytes">>}}. + diff -Nru yaws-2.0.6+dfsg/testsuite/main_SUITE_data/www/accept_ranges2.yaws yaws-2.0.7+dfsg/testsuite/main_SUITE_data/www/accept_ranges2.yaws --- yaws-2.0.6+dfsg/testsuite/main_SUITE_data/www/accept_ranges2.yaws 1970-01-01 00:00:00.000000000 +0000 +++ yaws-2.0.7+dfsg/testsuite/main_SUITE_data/www/accept_ranges2.yaws 2019-07-14 13:01:11.000000000 +0000 @@ -0,0 +1,4 @@ + +out(_Arg) -> + {header, {accept_ranges, "bytes"}}. + diff -Nru yaws-2.0.6+dfsg/testsuite/main_SUITE_data/www/appmod_with_yssi_strip_undefined_bindings.yaws yaws-2.0.7+dfsg/testsuite/main_SUITE_data/www/appmod_with_yssi_strip_undefined_bindings.yaws --- yaws-2.0.6+dfsg/testsuite/main_SUITE_data/www/appmod_with_yssi_strip_undefined_bindings.yaws 1970-01-01 00:00:00.000000000 +0000 +++ yaws-2.0.7+dfsg/testsuite/main_SUITE_data/www/appmod_with_yssi_strip_undefined_bindings.yaws 2019-07-14 13:01:11.000000000 +0000 @@ -0,0 +1,2 @@ +

        %%TESTBINDING%%

        +

        %%HelloWorld%%

        diff -Nru yaws-2.0.6+dfsg/testsuite/main_SUITE_data/www/appmod_with_yssi.yaws yaws-2.0.7+dfsg/testsuite/main_SUITE_data/www/appmod_with_yssi.yaws --- yaws-2.0.6+dfsg/testsuite/main_SUITE_data/www/appmod_with_yssi.yaws 1970-01-01 00:00:00.000000000 +0000 +++ yaws-2.0.7+dfsg/testsuite/main_SUITE_data/www/appmod_with_yssi.yaws 2019-07-14 13:01:11.000000000 +0000 @@ -0,0 +1,6 @@ + + +out(A) -> + {header, "x-yssi: " ++ f("state=~p", [A#arg.state])}. + + diff -Nru yaws-2.0.6+dfsg/testsuite/main_SUITE_data/www/cache_appmod.yaws yaws-2.0.7+dfsg/testsuite/main_SUITE_data/www/cache_appmod.yaws --- yaws-2.0.6+dfsg/testsuite/main_SUITE_data/www/cache_appmod.yaws 1970-01-01 00:00:00.000000000 +0000 +++ yaws-2.0.7+dfsg/testsuite/main_SUITE_data/www/cache_appmod.yaws 2019-07-14 13:01:11.000000000 +0000 @@ -0,0 +1,4 @@ + +out(A) -> + {html, "Cache Appmod!"}. + diff -Nru yaws-2.0.6+dfsg/testsuite/main_SUITE_data/www/cgi-bin/redirect_test.cgi yaws-2.0.7+dfsg/testsuite/main_SUITE_data/www/cgi-bin/redirect_test.cgi --- yaws-2.0.6+dfsg/testsuite/main_SUITE_data/www/cgi-bin/redirect_test.cgi 1970-01-01 00:00:00.000000000 +0000 +++ yaws-2.0.7+dfsg/testsuite/main_SUITE_data/www/cgi-bin/redirect_test.cgi 2019-07-14 13:01:11.000000000 +0000 @@ -0,0 +1,10 @@ +#!/bin/sh + +# +# Used to verify that Yaws augments the client response with +# a 302 status code as required by the CGI 1.1 spec when only +# a Location header is returned without a status code. +# +echo 'Location: http://localhost:1234/redirect' +echo +exit 0 diff -Nru yaws-2.0.6+dfsg/testsuite/main_SUITE_data/www/chained.txt yaws-2.0.7+dfsg/testsuite/main_SUITE_data/www/chained.txt --- yaws-2.0.6+dfsg/testsuite/main_SUITE_data/www/chained.txt 1970-01-01 00:00:00.000000000 +0000 +++ yaws-2.0.7+dfsg/testsuite/main_SUITE_data/www/chained.txt 2019-07-14 13:01:11.000000000 +0000 @@ -0,0 +1 @@ +Chained Appmods! diff -Nru yaws-2.0.6+dfsg/testsuite/main_SUITE_data/www/exhtml.yaws yaws-2.0.7+dfsg/testsuite/main_SUITE_data/www/exhtml.yaws --- yaws-2.0.6+dfsg/testsuite/main_SUITE_data/www/exhtml.yaws 1970-01-01 00:00:00.000000000 +0000 +++ yaws-2.0.7+dfsg/testsuite/main_SUITE_data/www/exhtml.yaws 2019-07-14 13:01:11.000000000 +0000 @@ -0,0 +1,5 @@ + +out(_Arg) -> + Struct = {p, [{id, <<"foo">>}], <<"bar">>}, + {exhtml, Struct}. + diff -Nru yaws-2.0.6+dfsg/testsuite/main_SUITE_data/www/hello.txt yaws-2.0.7+dfsg/testsuite/main_SUITE_data/www/hello.txt --- yaws-2.0.6+dfsg/testsuite/main_SUITE_data/www/hello.txt 1970-01-01 00:00:00.000000000 +0000 +++ yaws-2.0.7+dfsg/testsuite/main_SUITE_data/www/hello.txt 2019-07-14 13:01:11.000000000 +0000 @@ -0,0 +1 @@ +Hello, World! diff -Nru yaws-2.0.6+dfsg/testsuite/main_SUITE_data/www/index.html yaws-2.0.7+dfsg/testsuite/main_SUITE_data/www/index.html --- yaws-2.0.6+dfsg/testsuite/main_SUITE_data/www/index.html 1970-01-01 00:00:00.000000000 +0000 +++ yaws-2.0.7+dfsg/testsuite/main_SUITE_data/www/index.html 2019-07-14 13:01:11.000000000 +0000 @@ -0,0 +1 @@ +

        Hello World!

        diff -Nru yaws-2.0.6+dfsg/testsuite/main_SUITE_data/www/test.php yaws-2.0.7+dfsg/testsuite/main_SUITE_data/www/test.php --- yaws-2.0.6+dfsg/testsuite/main_SUITE_data/www/test.php 1970-01-01 00:00:00.000000000 +0000 +++ yaws-2.0.7+dfsg/testsuite/main_SUITE_data/www/test.php 2019-07-14 13:01:11.000000000 +0000 @@ -0,0 +1 @@ + diff -Nru yaws-2.0.6+dfsg/testsuite/main_SUITE_data/www/test_upload_ssl.yaws yaws-2.0.7+dfsg/testsuite/main_SUITE_data/www/test_upload_ssl.yaws --- yaws-2.0.6+dfsg/testsuite/main_SUITE_data/www/test_upload_ssl.yaws 1970-01-01 00:00:00.000000000 +0000 +++ yaws-2.0.7+dfsg/testsuite/main_SUITE_data/www/test_upload_ssl.yaws 2019-07-14 13:01:11.000000000 +0000 @@ -0,0 +1,92 @@ + +%% inspired from upload.yaws, slightly simplified. + +-record(state, {acc, + last + }). + +out(A) -> + %% make sure it is post method + 'POST' = yaws_api:http_request_method(yaws_api:arg_req(A)), + case catch get_props(A) of + {ok, AllParts} -> + Boundary = "3e9876546ecf", + RspCType = "multipart/form-data; boundary=" ++ Boundary, + case catch format_output(AllParts, Boundary, []) of + {ok, Html} -> + [{content,RspCType,Html},break]; + Else -> + [{status,400},{html,io_lib:format("Error: ~p~n", [Else])}] + end; + {get_more, Cont, NewState} = GetMore -> + GetMore; + Else -> + [{status,400},{html,io_lib:format("Error: ~p~n", [Else])}] + end. + +format_output([], Boundary, Acc) -> + Part = ["--", Boundary, "--\r\n"], + {ok, lists:reverse([iolist_to_binary(Part)|Acc])}; +format_output([{head, {Name, Hdrs}}|Rest], Boundary, Acc0) -> + {_, Name} = lists:keyfind("name", 1, Hdrs), + Acc1 = case lists:keyfind("filename", 1, Hdrs) of + {_, FName} -> + {_, CType} = lists:keyfind(content_type, 1, Hdrs), + Part = ["--", Boundary, "\r\n", + "Content-Disposition: form-data; name=\"",Name,"\"; filename=\"",FName,"\"\r\n", + "Content-Type: ",CType,"\r\n\r\n"], + [iolist_to_binary(Part)|Acc0]; + false -> + Part = ["--", Boundary, "\r\n", + "Content-Disposition: form-data; name=\"",Name,"\"", + "\r\n\r\n"], + [iolist_to_binary(Part)|Acc0] + end, + format_output(Rest, Boundary, Acc1); +format_output([{part_body, Body}|Rest], Boundary, Acc) -> + format_output(Rest, Boundary, [Body|Acc]); +format_output([{body, Body}|Rest], Boundary, Acc) -> + Part = [Body, "\r\n"], + format_output(Rest, Boundary, [iolist_to_binary(Part)|Acc]); +format_output([H|_], _, _) -> + {error, {invalid_multipart_element, H}}. + + + + +get_state(A) -> + case A#arg.state of + undefined -> #state{acc = [], last = false}; + State0 -> State0 + end. + + +get_props(A) -> + Parse = yaws_api:parse_multipart_post(A), + State = get_state(A), + case Parse of + {cont, Cont, Res} -> + case add_file_chunk(A, Res, State) of + {done, Result} -> {ok, Result}; + {cont, NewState} -> {get_more, Cont, NewState} + end; + {result, Res} -> + case add_file_chunk(A, Res, State#state{last = true}) of + {done, Result} -> {ok, Result}; + {cont, _} -> {error, multipart_parsing_error} + end; + {error, Reason} = Error -> + Error + end. + + +add_file_chunk(A, [H | Tail], #state{acc = Acc0} = State0) -> + Acc1 = [H | Acc0], + State1 = State0#state{acc = Acc1}, + add_file_chunk(A, Tail, State1); +add_file_chunk(A, [], #state{last = false} = State) -> + {cont, State}; +add_file_chunk(A, [], #state{last = true, acc = RAcc} = State) -> + Data = lists:reverse(RAcc), + {done, Data}. + diff -Nru yaws-2.0.6+dfsg/testsuite/main_SUITE_data/www/variables.html yaws-2.0.7+dfsg/testsuite/main_SUITE_data/www/variables.html --- yaws-2.0.6+dfsg/testsuite/main_SUITE_data/www/variables.html 1970-01-01 00:00:00.000000000 +0000 +++ yaws-2.0.7+dfsg/testsuite/main_SUITE_data/www/variables.html 2019-07-14 13:01:11.000000000 +0000 @@ -0,0 +1,2 @@ +

        %%TESTBINDING%%

        +

        %%HelloWorld%%

        Binary files /tmp/tmpMbqg9A/gLYDCrebsP/yaws-2.0.6+dfsg/testsuite/main_SUITE_data/www/yaws_head.gif and /tmp/tmpMbqg9A/qcicWtBnCT/yaws-2.0.7+dfsg/testsuite/main_SUITE_data/www/yaws_head.gif differ diff -Nru yaws-2.0.6+dfsg/testsuite/main_SUITE.erl yaws-2.0.7+dfsg/testsuite/main_SUITE.erl --- yaws-2.0.6+dfsg/testsuite/main_SUITE.erl 1970-01-01 00:00:00.000000000 +0000 +++ yaws-2.0.7+dfsg/testsuite/main_SUITE.erl 2019-07-14 13:01:11.000000000 +0000 @@ -0,0 +1,927 @@ +-module(main_SUITE). + +-include("testsuite.hrl"). +-include_lib("kernel/include/file.hrl"). + +-compile(export_all). + +all() -> + [ + http_options, + http_head, + slow_get, + appmod, + dispatchmod, + chunked_response, + small_post, + large_post, + small_chunked_post, + large_chunked_post, + flush_small_post, + flush_large_post, + flush_chunked_post, + flush_small_get, + flush_large_get, + flush_chunked_get, + te_trailer_and_extensions, + expires, + reentrant, + cgi_redirect, + php_handler, + arg_rewrite_rewrite, + arg_rewrite_redirect, + arg_rewrite_response, + shaper, + sslaccept_timeout, + ssl_multipart_post, + throw_appmod, + too_many_headers, + index_files, + embedded_id_dir, + chained_appmods, + appmod_with_yssi, + appmod_with_yssi_strip_undefined_bindings, + appmod_strip_undefined_bindings, + cache_appmod, + multi_forwarded_for, + log_rotation, + exhtml, + accept_ranges, + status_and_content_length, + encoded_url, + header_order, + extra_response_headers + ]. + +groups() -> + [ + ]. + +%%==================================================================== +init_per_suite(Config) -> + ok = prepare_docroots(), + + Id = "testsuite-server", + YConf = filename:join(?tempdir(?MODULE), "yaws.conf"), + application:load(yaws), + application:set_env(yaws, id, Id), + application:set_env(yaws, conf, YConf), + ok = yaws:start(), + [{yaws_id, Id}, {yaws_config, YConf} | Config]. + +end_per_suite(_Config) -> + ok = application:stop(yaws), + ok = application:unload(yaws), + ok. + +init_per_group(_Group, Config) -> + Config. + +end_per_group(_Group, _Config) -> + ok. + +init_per_testcase(_Test, Config) -> + Config. + +end_per_testcase(_Test, _Config) -> + ok. + +%%==================================================================== +http_options(Config) -> + Port = testsuite:get_yaws_port(1, Config), + AllowRes = "GET, HEAD, OPTIONS, PUT, POST, DELETE", + + {ok, Sock} = gen_tcp:connect("127.0.0.1", Port, [binary, {active, false}]), + ?assertEqual(ok, + testsuite:send_http_request( + Sock, {options, "*", "HTTP/1.1"}, + [{"Host", "127.0.0.1:"++integer_to_list(Port)}] + )), + {ok, {{_,200,_}, Hdrs, <<>>}} = testsuite:receive_http_response(Sock), + + ?assertEqual("0", proplists:get_value("content-length", Hdrs)), + ?assertEqual(AllowRes, proplists:get_value("allow", Hdrs)), + ?assert(proplists:is_defined("server", Hdrs)), + ?assert(proplists:is_defined("date", Hdrs)), + ?assertEqual(ok, gen_tcp:close(Sock)), + ok. + +http_head(Config) -> + Port = testsuite:get_yaws_port(1, Config), + Url = testsuite:make_url(http, "127.0.0.1", Port, "/"), + + ?assertMatch({ok, {{_,200,_}, _, <<>>}}, testsuite:http_req(head, Url)), + ok. + +slow_get(Config) -> + Port = testsuite:get_yaws_port(1, Config), + Parent = self(), + Pids = lists:map(fun(I) -> + spawn(fun() -> slow_client(I, Parent, Port) end) + end, lists:seq(1,100)), + %% max 5 connectors at a time + ?assertEqual(ok, allow_connects(Pids, 5)), + ?assertEqual({ok, {100,0}}, collect_pids(Pids)), + ok. + +appmod(Config) -> + Port1 = testsuite:get_yaws_port(2, Config), + Port2 = testsuite:get_yaws_port(3, Config), + Port3 = testsuite:get_yaws_port(1, Config), + Url1 = testsuite:make_url(http, "127.0.0.1", Port1, "/"), + Url2 = testsuite:make_url(http, "127.0.0.1", Port2, "/"), + Url3 = testsuite:make_url(http, "127.0.0.1", Port2, "/icons/layout.gif"), + Url4 = testsuite:make_url(http, "127.0.0.1", Port3, "/non_root_appmod"), + + {ok, {{_,200,_}, Hdrs1, _}} = testsuite:http_get(Url1), + ?assertEqual("true", proplists:get_value("appmod-called", Hdrs1)), + + {ok, {{_,200,_}, Hdrs2, _}} = testsuite:http_get(Url2), + ?assertEqual("true", proplists:get_value("appmod-called", Hdrs2)), + + {ok, {{_,200,_}, Hdrs3, _}} = testsuite:http_get(Url3), + ?assertEqual(undefined, proplists:get_value("appmod-called", Hdrs3)), + + {ok, {{_,200,_}, Hdrs4, _}} = testsuite:http_get(Url4), + ?assertEqual("true", proplists:get_value("appmod-called", Hdrs4)), + ok. + +dispatchmod(Config) -> + Port = testsuite:get_yaws_port(6, Config), + Url1 = testsuite:make_url(http, "127.0.0.1", Port, "/done"), + Url2 = testsuite:make_url(http, "127.0.0.1", Port, "/closed"), + Url3 = testsuite:make_url(http, "127.0.0.1", Port, "/index.yaws"), + + {ok, {{_,204,_}, Hdrs1, _}} = testsuite:http_get(Url1), + ?assertEqual("true", proplists:get_value("x-dispatchmod", Hdrs1)), + + {ok, {{_,200,_}, Hdrs2, _}} = testsuite:http_get(Url2), + ?assertEqual("true", proplists:get_value("x-dispatchmod", Hdrs2)), + ?assertEqual("close", proplists:get_value("connection", Hdrs2)), + + {ok, {{_,200,_}, Hdrs3, _}} = testsuite:http_get(Url3), + ?assertEqual(undefined, proplists:get_value("x-dispatchmod", Hdrs3)), + ok. + +chunked_response(Config) -> + Port = testsuite:get_yaws_port(1, Config), + Url1 = testsuite:make_url(http, "127.0.0.1", Port, "/streamtest/1"), + Url2 = testsuite:make_url(http, "127.0.0.1", Port, "/streamtest/2"), + Res1 = <<"this is an iolist">>, + Res2 = <<"closing the socket">>, + + {ok, {{_,200,_}, Hdrs1, Res1}} = testsuite:http_get(Url1), + ?assertEqual("chunked", proplists:get_value("transfer-encoding", Hdrs1)), + + ?assertMatch({ok, {{_,200,_}, _, Res2}}, testsuite:http_get(Url2)), + ok. + +small_post(Config) -> + File = filename:join(?tempdir(?MODULE), "www/1000.txt"), + {ok, FI} = file:read_file_info(File), + Sz = integer_to_list(FI#file_info.size), + + Port = testsuite:get_yaws_port(1, Config), + Url = testsuite:make_url(http, "127.0.0.1", Port, "/posttest/"++Sz), + ClHdr = {"Content-Length", Sz}, + CT = "binary/octet-stream", + Body = {fun testsuite:post_file/1, {File,1024000}}, + ?assertMatch({ok, {{_,200,_}, _, _}}, testsuite:http_post(Url, [ClHdr], {CT, Body})), + ok. + +large_post(Config) -> + File = filename:join(?tempdir(?MODULE), "www/10000.txt"), + {ok, FI} = file:read_file_info(File), + Sz = integer_to_list(FI#file_info.size), + + Port = testsuite:get_yaws_port(1, Config), + Url = testsuite:make_url(http, "127.0.0.1", Port, "/posttest/"++Sz), + ClHdr = {"Content-Length", Sz}, + CT = "binary/octet-stream", + Body = {fun testsuite:post_file/1, {File,FI#file_info.size}}, + ?assertMatch({ok, {{_,200,_}, _, _}}, testsuite:http_post(Url, [ClHdr], {CT, Body})), + ok. + +small_chunked_post(Config) -> + File = filename:join(?tempdir(?MODULE), "www/3000.txt"), + {ok, FI} = file:read_file_info(File), + Sz = integer_to_list(FI#file_info.size), + + Port = testsuite:get_yaws_port(1, Config), + Url = testsuite:make_url(http, "127.0.0.1", Port, "/posttest/chunked/"++Sz), + CT = "binary/octet-stream", + Body = {chunkify, fun testsuite:post_file/1, {File,1000*1000}}, + ?assertMatch({ok, {{_,200,_}, _, _}}, testsuite:http_post(Url, {CT, Body})), + ok. + +large_chunked_post(Config) -> + File = filename:join(?tempdir(?MODULE), "www/10000.txt"), + {ok, FI} = file:read_file_info(File), + Sz = integer_to_list(FI#file_info.size), + + Port = testsuite:get_yaws_port(1, Config), + Url = testsuite:make_url(http, "127.0.0.1", Port, "/posttest/chunked/"++Sz), + CT = "binary/octet-stream", + + %% size of chunk _IS_NOT_ a multiple of partial_post_size + Body1 = {chunkify, fun testsuite:post_file/1, {File,4000*1000}}, + ?assertMatch({ok, {{_,200,_}, _, _}}, testsuite:http_post(Url, {CT, Body1})), + + %% size of chunk _IS_ a multiple of partial_post_size + Body2 = {chunkify, fun testsuite:post_file/1, {File,4000*1024}}, + ?assertMatch({ok, {{_,200,_}, _, _}}, testsuite:http_post(Url, {CT, Body2})), + ok. + +flush_small_post(Config) -> + File = filename:join(?tempdir(?MODULE), "www/1000.txt"), + {ok, FI} = file:read_file_info(File), + Sz = integer_to_list(FI#file_info.size), + + Port = testsuite:get_yaws_port(1, Config), + Path1 = "/flushtest/"++Sz, + Path2 = "/hello.txt", + CT = "binary/octet-stream", + Body = {fun testsuite:post_file/1, {File,FI#file_info.size}}, + + {ok, Sock} = gen_tcp:connect("127.0.0.1", Port, [binary, {active, false}]), + ?assertEqual(ok, + testsuite:send_http_request( + Sock, {post, Path1, "HTTP/1.1"}, + [{"Host", "127.0.0.1:"++integer_to_list(Port)}, + {"Content-Length", Sz}], + {CT, Body} + )), + ?assertMatch({ok, {{_,200,_}, _, _}}, testsuite:receive_http_response(Sock)), + + ?assertEqual(ok, + testsuite:send_http_request( + Sock, {get, Path2, "HTTP/1.1"}, + [{"Host", "127.0.0.1:"++integer_to_list(Port)}] + )), + ?assertMatch({ok, {{_,200,_}, _, _}}, testsuite:receive_http_response(Sock)), + ?assertEqual(ok, gen_tcp:close(Sock)), + ok. + +flush_large_post(Config) -> + File = filename:join(?tempdir(?MODULE), "www/10000.txt"), + {ok, FI} = file:read_file_info(File), + Sz = integer_to_list(FI#file_info.size), + + Port = testsuite:get_yaws_port(1, Config), + Path1 = "/flushtest/"++Sz, + Path2 = "/hello.txt", + CT = "binary/octet-stream", + Body = {fun testsuite:post_file/1, {File,FI#file_info.size}}, + + {ok, Sock} = gen_tcp:connect("127.0.0.1", Port, [binary, {active, false}]), + ?assertEqual(ok, + testsuite:send_http_request( + Sock, {post, Path1, "HTTP/1.1"}, + [{"Host", "127.0.0.1:"++integer_to_list(Port)}, + {"Content-Length", Sz}], + {CT, Body} + )), + ?assertMatch({ok, {{_,200,_}, _, _}}, testsuite:receive_http_response(Sock)), + + ?assertEqual(ok, + testsuite:send_http_request( + Sock, {get, Path2, "HTTP/1.1"}, + [{"Host", "127.0.0.1:"++integer_to_list(Port)}] + )), + ?assertMatch({ok, {{_,200,_}, _, _}}, testsuite:receive_http_response(Sock)), + ?assertEqual(ok, gen_tcp:close(Sock)), + ok. + +flush_chunked_post(Config) -> + File = filename:join(?tempdir(?MODULE), "www/10000.txt"), + {ok, FI} = file:read_file_info(File), + Sz = integer_to_list(FI#file_info.size), + + Port = testsuite:get_yaws_port(1, Config), + Path1 = "/flushtest/chunked"++Sz, + Path2 = "/hello.txt", + CT = "binary/octet-stream", + Body = {chunkify, fun testsuite:post_file/1, {File, 4000*1000}}, + + {ok, Sock} = gen_tcp:connect("127.0.0.1", Port, [binary, {active, false}]), + ?assertEqual(ok, + testsuite:send_http_request( + Sock, {post, Path1, "HTTP/1.1"}, + [{"Host", "127.0.0.1:"++integer_to_list(Port)}], + {CT, Body} + )), + ?assertMatch({ok, {{_,200,_}, _, _}}, testsuite:receive_http_response(Sock)), + + ?assertEqual(ok, + testsuite:send_http_request( + Sock, {get, Path2, "HTTP/1.1"}, + [{"Host", "127.0.0.1:"++integer_to_list(Port)}] + )), + ?assertMatch({ok, {{_,200,_}, _, _}}, testsuite:receive_http_response(Sock)), + ?assertEqual(ok, gen_tcp:close(Sock)), + ok. + +flush_small_get(Config) -> + File = filename:join(?tempdir(?MODULE), "www/1000.txt"), + {ok, FI} = file:read_file_info(File), + Sz = integer_to_list(FI#file_info.size), + + Port = testsuite:get_yaws_port(1, Config), + Path1 = "/flushtest/"++Sz, + Path2 = "/hello.txt", + CT = "binary/octet-stream", + Body = {fun testsuite:post_file/1, {File,FI#file_info.size}}, + + {ok, Sock} = gen_tcp:connect("127.0.0.1", Port, [binary, {active, false}]), + ?assertEqual(ok, + testsuite:send_http_request( + Sock, {get, Path1, "HTTP/1.1"}, + [{"Host", "127.0.0.1:"++integer_to_list(Port)}, + {"Content-Length", Sz}], + {CT, Body} + )), + ?assertMatch({ok, {{_,200,_}, _, _}}, testsuite:receive_http_response(Sock)), + + ?assertEqual(ok, + testsuite:send_http_request( + Sock, {get, Path2, "HTTP/1.1"}, + [{"Host", "127.0.0.1:"++integer_to_list(Port)}] + )), + ?assertMatch({ok, {{_,200,_}, _, _}}, testsuite:receive_http_response(Sock)), + ?assertEqual(ok, gen_tcp:close(Sock)), + ok. + +flush_large_get(Config) -> + File = filename:join(?tempdir(?MODULE), "www/10000.txt"), + {ok, FI} = file:read_file_info(File), + Sz = integer_to_list(FI#file_info.size), + + Port = testsuite:get_yaws_port(1, Config), + Path1 = "/flushtest/"++Sz, + Path2 = "/hello.txt", + CT = "binary/octet-stream", + Body = {fun testsuite:post_file/1, {File,FI#file_info.size}}, + + {ok, Sock} = gen_tcp:connect("127.0.0.1", Port, [binary, {active, false}]), + ?assertEqual(ok, + testsuite:send_http_request( + Sock, {get, Path1, "HTTP/1.1"}, + [{"Host", "127.0.0.1:"++integer_to_list(Port)}, + {"Content-Length", Sz}], + {CT, Body} + )), + ?assertMatch({ok, {{_,200,_}, _, _}}, testsuite:receive_http_response(Sock)), + + ?assertEqual(ok, + testsuite:send_http_request( + Sock, {get, Path2, "HTTP/1.1"}, + [{"Host", "127.0.0.1:"++integer_to_list(Port)}] + )), + ?assertMatch({ok, {{_,200,_}, _, _}}, testsuite:receive_http_response(Sock)), + ?assertEqual(ok, gen_tcp:close(Sock)), + ok. + +flush_chunked_get(Config) -> + File = filename:join(?tempdir(?MODULE), "www/10000.txt"), + {ok, FI} = file:read_file_info(File), + Sz = integer_to_list(FI#file_info.size), + + Port = testsuite:get_yaws_port(1, Config), + Path1 = "/flushtest/chunked/"++Sz, + Path2 = "/hello.txt", + CT = "binary/octet-stream", + Body = {chunkify, fun testsuite:post_file/1, {File,4000*1000}}, + + {ok, Sock} = gen_tcp:connect("127.0.0.1", Port, [binary, {active, false}]), + ?assertEqual(ok, + testsuite:send_http_request( + Sock, {get, Path1, "HTTP/1.1"}, + [{"Host", "127.0.0.1:"++integer_to_list(Port)}], + {CT, Body} + )), + ?assertMatch({ok, {{_,200,_}, _, _}}, testsuite:receive_http_response(Sock)), + + ?assertEqual(ok, + testsuite:send_http_request( + Sock, {get, Path2, "HTTP/1.1"}, + [{"Host", "127.0.0.1:"++integer_to_list(Port)}] + )), + ?assertMatch({ok, {{_,200,_}, _, _}}, testsuite:receive_http_response(Sock)), + ?assertEqual(ok, gen_tcp:close(Sock)), + ok. + +te_trailer_and_extensions(Config) -> + Data = [<<"This is the data in the first chunk\n">>, + <<"and this is the second one\n">>, + <<"con">>, <<"sequence">>], + Body = {chunks, + [[[erlang:integer_to_list(iolist_size(X), 16),"; foo=bar\r\n", X,"\r\n"] || X <- Data], + "0\r\n", + "Extra-Headers-WooHoo: something\r\n", + "Content-Type: text/plain\r\n\r\n"]}, + Sz = integer_to_list(iolist_size(Data)), + + Port = testsuite:get_yaws_port(1, Config), + Path = "/posttest/chunked/"++Sz, + + {ok, Sock} = gen_tcp:connect("127.0.0.1", Port, [binary, {active, false}]), + ?assertEqual(ok, + testsuite:send_http_request( + Sock, {post, Path, "HTTP/1.1"}, + [{"Host", "127.0.0.1:"++integer_to_list(Port)}, + {"Trailer", "Content-Type"}, + {"Trailer", "Extra-Headers-WooHoo"}, + {"Transfer-Encoding", "Chunked"}], + {"binary/octet-stream", Body} + )), + ?assertMatch({ok, {{_,200,_}, _, _}}, testsuite:receive_http_response(Sock)), + ?assertEqual(ok, gen_tcp:close(Sock)), + ok. + +expires(Config) -> + Port = testsuite:get_yaws_port(1, Config), + Url1 = testsuite:make_url(http, "127.0.0.1", Port, "/hello.txt"), + Url2 = testsuite:make_url(http, "127.0.0.1", Port, "/"), + Url3 = testsuite:make_url(http, "127.0.0.1", Port, "/yaws_head.gif"), + + {ok, {{_,200,_}, Hdrs1, _}} = testsuite:http_get(Url1), + {ok, {{_,200,_}, Hdrs2, _}} = testsuite:http_get(Url2), + {ok, {{_,200,_}, Hdrs3, _}} = testsuite:http_get(Url3), + + %% Test "text/plain" rule + %% - Retrieve max-age value to test Expires header + CCtrl1 = proplists:get_value("cache-control", Hdrs1), + ?assertEqual({match, ["2592000"]}, re:run(CCtrl1, "max-age=(\\d+)", + [{capture,all_but_first,list}])), + + %% - Convert Date and Expires into datetime() + Date = proplists:get_value("date", Hdrs1), + Expires = proplists:get_value("expires", Hdrs1), + Date_DT = httpd_util:convert_request_date(Date), + Expires_DT = httpd_util:convert_request_date(Expires), + + %% - Check if Expires value is equal to "Date + max-age" + ?assertEqual(calendar:datetime_to_gregorian_seconds(Date_DT) + 2592000, + calendar:datetime_to_gregorian_seconds(Expires_DT)), + + %% Test "*/*" rule + CCtrl2 = proplists:get_value("cache-control", Hdrs2), + ?assertEqual({match, ["0"]}, re:run(CCtrl2, "max-age=(\\d+)", + [{capture,all_but_first,list}])), + + %% Test "image/*" rule + CCtrl3 = proplists:get_value("cache-control", Hdrs3), + ?assertEqual({match, ["2592000"]}, re:run(CCtrl3, "max-age=(\\d+)", + [{capture,all_but_first,list}])), + ok. + +reentrant(Config) -> + Port = testsuite:get_yaws_port(1, Config), + Url1 = testsuite:make_url(http, "127.0.0.1", Port, "/reentranttest/status"), + Url2 = testsuite:make_url(http, "127.0.0.1", Port, "/reentranttest/delayed_headers"), + + ?assertMatch({ok, {{_,201,_}, _, _}}, testsuite:http_get(Url1)), + + {ok, {{_,200,_}, Hdrs, _}} = testsuite:http_get(Url2), + ?assertEqual("no-cache", proplists:get_value("cache-control", Hdrs)), + ?assertEqual("static-tag", proplists:get_value("etag", Hdrs)), + ?assertEqual("true", proplists:get_value("x-delayed-header", Hdrs)), + + ok. + +cgi_redirect(Config) -> + Port = testsuite:get_yaws_port(1, Config), + Url = testsuite:make_url(http, "127.0.0.1", Port, "/cgi-bin/redirect_test.cgi"), + + {ok, {{_,302,_}, Hdrs, _}} = testsuite:http_get(Url), + ?assert(proplists:is_defined("location", Hdrs)), + ok. + +php_handler(Config) -> + Port = testsuite:get_yaws_port(1, Config), + Url = testsuite:make_url(http, "127.0.0.1", Port, "/test.php"), + {ok, Res} = file:read_file(filename:join(?data_srcdir(?MODULE), "www/test.php")), + + ?assertMatch({ok, {{_,200,_}, _, Res}}, testsuite:http_get(Url)), + ok. + +arg_rewrite_rewrite(Config) -> + Port = testsuite:get_yaws_port(1, Config), + Url = testsuite:make_url(http, "127.0.0.1", Port, "/rewrite"), + {ok, FI} = file:read_file_info(filename:join(?data_srcdir(?MODULE), "www/hello.txt")), + Etag = yaws:make_etag(FI), + + {ok, {{_,200,_}, Hdrs, _}} = testsuite:http_get(Url), + ?assertEqual(Etag, proplists:get_value("etag", Hdrs)), + ok. + +arg_rewrite_redirect(Config) -> + Port = testsuite:get_yaws_port(1, Config), + Url = testsuite:make_url(http, "127.0.0.1", Port, "/redirect"), + + {ok, {{_,301,_}, Hdrs, _}} = testsuite:http_get(Url), + ?assertEqual("http://www.yakaz.com", proplists:get_value("location", Hdrs)), + ok. + +arg_rewrite_response(Config) -> + Port = testsuite:get_yaws_port(1, Config), + Url = testsuite:make_url(http, "127.0.0.1", Port, "/response"), + Res = <<"Goodbye, Cruel World!">>, + + {ok, {{_,200,_}, Hdrs, Res}} = testsuite:http_get(Url), + ?assert(lists:prefix("text/plain", proplists:get_value("content-type", Hdrs))), + ok. + +shaper(Config) -> + Port = testsuite:get_yaws_port(4, Config), + {ok, Sock} = gen_tcp:connect("127.0.0.1", Port, [binary, {active, false}]), + + ?assertEqual(ok, + testsuite:send_http_request( + Sock, {get, "/", "HTTP/1.1"}, + [{"Host", "127.0.0.1:"++integer_to_list(Port)}] + )), + {ok, {{_,200,_}, _, _}} = testsuite:receive_http_response(Sock), + + ?assertEqual(ok, + testsuite:send_http_request( + Sock, {get, "/", "HTTP/1.1"}, + [{"Host", "127.0.0.1:"++integer_to_list(Port)}] + )), + {ok, {{_,200,_}, _, _}} = testsuite:receive_http_response(Sock), + + ?assertEqual(ok, + testsuite:send_http_request( + Sock, {get, "/", "HTTP/1.1"}, + [{"Host", "127.0.0.1:"++integer_to_list(Port)}] + )), + {ok, {{_,200,_}, _, _}} = testsuite:receive_http_response(Sock), + + ?assertEqual(ok, + testsuite:send_http_request( + Sock, {get, "/", "HTTP/1.1"}, + [{"Host", "127.0.0.1:"++integer_to_list(Port)}] + )), + {ok, {{_,503,_}, _, _}} = testsuite:receive_http_response(Sock), + + ?assertEqual(ok, gen_tcp:close(Sock)), + ok. + +sslaccept_timeout(Config) -> + Port = testsuite:get_yaws_port(7, Config), + {ok, Sock} = gen_tcp:connect("127.0.0.1", Port, [binary, {active, true}]), + ?assertEqual(ok, receive + {tcp_closed, Sock} -> ok + after + %% keepalive_timeout is set to 10 secs. So, + %% wait 15 secs before returning an error + 15000 -> error + end), + ?assertEqual(ok, gen_tcp:close(Sock)), + ok. + +ssl_multipart_post(Config) -> + File = filename:join(?tempdir(?MODULE), "www/1000.txt"), + {ok, Bin} = file:read_file(File), + Boundary = "3e9876546ecf", + Body = iolist_to_binary(["--", Boundary, "\r\n", + "Content-Disposition: form-data; name=\"file\"; filename=\"1000.txt\"\r\n", + "Content-Type: text/plain\r\n\r\n", + Bin, + "\r\n--", Boundary, "\r\n", + "Content-Disposition: form-data; name=\"submit-name\"\r\n\r\n", + "Larry", + "\r\n--", Boundary, "--\r\n"]), + CT = "multipart/form-data; boundary=" ++ Boundary, + + Port = testsuite:get_yaws_port(7, Config), + Url = testsuite:make_url(https, "127.0.0.1", Port, "/test_upload_ssl.yaws"), + + ?assertMatch({ok, {{_,200,_}, _, Body}}, testsuite:http_post(Url, {CT, Body})), + ok. + +throw_appmod(Config) -> + Port = testsuite:get_yaws_port(1, Config), + Url = testsuite:make_url(http, "127.0.0.1", Port, "/throw"), + ?assertMatch({ok, {{_,500,_}, _, _}}, testsuite:http_get(Url)), + ok. + +too_many_headers(Config) -> + Port = testsuite:get_yaws_port(1, Config), + Url = testsuite:make_url(http, "127.0.0.1", Port, "/"), + Hdrs1 = [{"X-Hdrs-"++integer_to_list(I), "true"} || I <- lists:seq(1, 1000)], + + ?assertMatch({ok, {{_,431,_}, _, _}}, testsuite:http_get(Url, Hdrs1)), + ok. + +index_files(Config) -> + Port = testsuite:get_yaws_port(5, Config), + Url1 = testsuite:make_url(http, "127.0.0.1", Port, "/"), + Url1_1 = testsuite:make_url(http, "127.0.0.1", Port, "/testdir"), + Url1_2 = testsuite:make_url(http, "127.0.0.1", Port, "/testdir/"), + Url2 = testsuite:make_url(http, "127.0.0.1", Port, "/?a=1&b=2"), + Url2_1 = testsuite:make_url(http, "127.0.0.1", Port, "/testdir?a=1&b=2"), + Url2_2 = testsuite:make_url(http, "127.0.0.1", Port, "/testdir/?a=1&b=2"), + + {ok, Res} = file:read_file(filename:join(?wwwdir, "testdir/index.html")), + + %% "/" should be redirected to "/testdir", then to "/testdir/" and finally + %% get "/testdir/index.html" + {ok, {{_,302,_}, Hdrs1_1, _}} = testsuite:http_get(Url1), + ?assertEqual(Url1_1, proplists:get_value("location", Hdrs1_1)), + {ok, {{_,302,_}, Hdrs1_2, _}} = testsuite:http_get(Url1_1), + ?assertEqual(Url1_2, proplists:get_value("location", Hdrs1_2)), + ?assertMatch({ok, {{_,200,_}, _, Res}}, testsuite:http_get(Url1_2)), + + %% Do the same thing but with a query-string + {ok, {{_,302,_}, Hdrs2_1, _}} = testsuite:http_get(Url2), + ?assertMatch(Url2_1, proplists:get_value("location", Hdrs2_1)), + {ok, {{_,302,_}, Hdrs2_2, _}} = testsuite:http_get(Url2_1), + ?assertMatch(Url2_2, proplists:get_value("location", Hdrs2_2)), + ?assertMatch({ok, {{_,200,_}, _, Res}}, testsuite:http_get(Url2_2)), + ok. + +embedded_id_dir(_Config) -> + Id = "id_dir_test", + GconfList = [{id, Id}, + {logdir, filename:join(?tempdir(?MODULE), "logs")}, + {ebin_dir, [filename:join(?tempdir(?MODULE), "ebin")]}], + Docroot = ?tempdir(?MODULE), + SconfList = [{port, 0}, + {servername, Id}, + {listen, {127,0,0,1}}, + {docroot, Docroot}], + ?assertMatch({ok, _SCList, _GC, _ChildSpecs}, + yaws_api:embedded_start_conf(Docroot, SconfList, GconfList, Id)), + + try + ?assertMatch({ok, _}, file:read_file_info(yaws:id_dir(Id))) + after + ?assertEqual(ok, file:del_dir(yaws:id_dir(Id))) + end, + ok. + +chained_appmods(Config) -> + Port = testsuite:get_yaws_port(1, Config), + Url = testsuite:make_url(http, "127.0.0.1", Port, "/chained"), + + {ok, Res} = file:read_file(filename:join(?data_srcdir(?MODULE), "www/chained.txt")), + + {ok, {{_,200,_}, Hdrs, Res}} = testsuite:http_get(Url), + ?assertEqual("appmod1[/chained], appmod2[/appmod2], appmod1[/appmod1], appmod3[/chained.txt]", + proplists:get_value("x-appmods", Hdrs)), + ok. + +appmod_with_yssi(Config) -> + Port = testsuite:get_yaws_port(1, Config), + Url = testsuite:make_url(http, "127.0.0.1", Port, "/appmod_with_yssi"), + + {ok, {{_,200,_}, Hdrs, _}} = testsuite:http_get(Url), + ?assertEqual("state=yssi", proplists:get_value("x-yssi", Hdrs)), + ok. + +appmod_with_yssi_strip_undefined_bindings(Config) -> + Port = testsuite:get_yaws_port(1, Config), + Url = testsuite:make_url(http, "127.0.0.1", Port, "/appmod_with_yssi_strip_undefined_bindings"), + + {ok, {{_,200,_}, _, Body}} = testsuite:http_get(Url), + ?assertEqual(<<"

        \n

        hello world!

        \n">>, Body), + ok. + +appmod_strip_undefined_bindings(Config) -> + Port = testsuite:get_yaws_port(8, Config), + Url1 = testsuite:make_url(http, "127.0.0.1", Port, "/appmod_strip_undefined_bindings"), + Url2 = testsuite:make_url(http, "127.0.0.1", Port, "/variables.html"), + + %% verify undefined bindings are stripped + {ok, {{_,200,_}, _, Body}} = testsuite:http_get(Url1), + ?assertEqual(<<"

        \n

        hello world!

        \n">>, Body), + + %% verify that text in regular pages that happens to look like a + %% binding is not stripped + {ok, Res} = file:read_file(filename:join(?data_srcdir(?MODULE), "www/variables.html")), + {ok, {{_,200,_}, _, Res}} = testsuite:http_get(Url2), + ok. + +cache_appmod(Config) -> + Port = testsuite:get_yaws_port(1, Config), + Url1 = testsuite:make_url(http, "127.0.0.1", Port, "/cache_appmod.yaws?no-cache=1"), + Url2 = testsuite:make_url(http, "127.0.0.1", Port, "/cache_appmod.yaws"), + + %% call cache_appmod_test and disable page cache + {ok, {{_,200,_}, Hdrs1_1, _}} = testsuite:http_get(Url1), + ?assertEqual("cache_appmod_test", proplists:get_value("x-appmod", Hdrs1_1)), + {ok, {{_,200,_}, Hdrs1_2, _}} = testsuite:http_get(Url1), + ?assertEqual("cache_appmod_test", proplists:get_value("x-appmod", Hdrs1_2)), + + %% check that index.yaws is not cached + {ok, {{_,200,_}, Hdrs2_1, _}} = testsuite:http_get(Url2), + ?assertEqual("cache_appmod_test", proplists:get_value("x-appmod", Hdrs2_1)), + + %% retrieve index.yaws from the cache, so cache_appmod_test is not called + {ok, {{_,200,_}, Hdrs2_2, _}} = testsuite:http_get(Url2), + ?assertEqual(undefined, proplists:get_value("x-appmod", Hdrs2_2)), + ok. + +multi_forwarded_for(Config) -> + Port = testsuite:get_yaws_port(1, Config), + Url = testsuite:make_url(http, "127.0.0.1", Port, "/x_forwarded_for"), + XFHdrs = [{"X-Forwarded-For", "192.168.1.1"}, + {"X-Forwarded-For", "192.168.1.2"}], + + {ok, {{_,200,_}, Hdrs, _}} = testsuite:http_get(Url, XFHdrs), + ?assertEqual("192.168.1.1, 192.168.1.2", + proplists:get_value("x-result", Hdrs)), + ok. + +log_rotation(Config) -> + Port = testsuite:get_yaws_port(1, Config), + Url = testsuite:make_url(http, "127.0.0.1", Port, "/wrap_log"), + AccessLog = filename:join(?config(priv_dir, Config), "localhost:"++integer_to_list(Port)++".access"), + AuthLog = filename:join(?config(priv_dir, Config), "localhost:"++integer_to_list(Port)++".auth"), + + %% Write 1M of data in .access and .auth log to check the log rotation + {ok, Fd1} = file:open(AccessLog, [write, append]), + ?assertEqual(ok, file:write(Fd1, lists:duplicate(1000001, $a))), + file:close(Fd1), + file:sync(Fd1), + + {ok, Fd2} = file:open(AuthLog, [write, append]), + ?assertEqual(ok, file:write(Fd2, lists:duplicate(1000001, $a))), + file:close(Fd2), + file:sync(Fd2), + + ?assertMatch({ok, {{_,200,_}, _, _}}, testsuite:http_get(Url)), + + timer:sleep(1000), + + ?assertMatch({ok, _}, file:read_file_info(AccessLog++".old")), + ?assertMatch({ok, _}, file:read_file_info(AuthLog++".old")), + ?assertMatch({ok, _}, file:read_file_info(AccessLog)), + ?assertMatch({ok, _}, file:read_file_info(AuthLog)), + ok. + +exhtml(Config) -> + Port = testsuite:get_yaws_port(1, Config), + Url = testsuite:make_url(http, "127.0.0.1", Port, "/exhtml.yaws"), + Res = <<"

        \n bar\n

        \n">>, + + ?assertMatch({ok, {{_,200,_}, _, Res}}, testsuite:http_get(Url)), + ok. + +accept_ranges(Config) -> + Port = testsuite:get_yaws_port(1, Config), + Url1 = testsuite:make_url(http, "127.0.0.1", Port, "/accept_ranges1.yaws"), + {ok, {{_,200,_}, Hdrs1, _}} = testsuite:http_get(Url1), + ?assertEqual("bytes", proplists:get_value("accept-ranges", Hdrs1)), + Url2 = testsuite:make_url(http, "127.0.0.1", Port, "/accept_ranges2.yaws"), + {ok, {{_,200,_}, Hdrs2, _}} = testsuite:http_get(Url2), + ?assertEqual("bytes", proplists:get_value("accept-ranges", Hdrs2)), + ok. + +status_and_content_length(Config) -> + Port = testsuite:get_yaws_port(1, Config), + Url1 = testsuite:make_url(http, "127.0.0.1", Port, "/status?code=100"), + {ok, {{_,100,_}, Hdrs1, _}} = testsuite:http_get(Url1), + ?assertNot(proplists:is_defined("content-length", Hdrs1)), + Url2 = testsuite:make_url(http, "127.0.0.1", Port, "/status?code=101"), + {ok, {{_,101,_}, Hdrs2, _}} = testsuite:http_get(Url2), + ?assertNot(proplists:is_defined("content-length", Hdrs2)), + Url3 = testsuite:make_url(http, "127.0.0.1", Port, "/status?code=204"), + {ok, {{_,204,_}, Hdrs3, _}} = testsuite:http_get(Url3), + ?assertNot(proplists:is_defined("content-length", Hdrs3)), + Url4 = testsuite:make_url(http, "127.0.0.1", Port, "/status?code=304"), + {ok, {{_,304,_}, Hdrs4, _}} = testsuite:http_get(Url4), + ?assertNot(proplists:is_defined("content-length", Hdrs4)), + ok. + +encoded_url(Config) -> + PathInfo = "/%2F/HA", + UrlPath = "/policies" ++ PathInfo, + Port = testsuite:get_yaws_port(1, Config), + Url = testsuite:make_url(http, "127.0.0.1", Port, UrlPath), + {ok, {{_,200,_}, Hdrs, _}} = testsuite:http_get(Url), + ?assertEqual(UrlPath, proplists:get_value("x-origreqpath", Hdrs)), + ?assertEqual(UrlPath, proplists:get_value("x-reqpath", Hdrs)), + ?assertEqual(UrlPath, proplists:get_value("x-serverpath", Hdrs)), + ?assertEqual(PathInfo, proplists:get_value("x-pathinfo", Hdrs)), + ok. + +%% RFC 7230 section 3.3.2 discusses header order, and its opening +%% statement says that header order is not significant. But it then +%% says that it's good practice to order general headers and control +%% headers first. Yaws typically follows this good practice through +%% its use of its #outh record, which contains "known" common headers +%% and an "others" list for uncommon or unknown headers. +%% +%% This test verifies that Yaws doesn't unnecessarily reorder headers +%% returned by an appmod. We use a header known to Yaws in the #outh +%% record, Cache-Control, along with fabricated user headers, which +%% are stored in the #outh "other" field, to verify ordering between +%% "known" and "other" and also ordering among "other" headers. +header_order(Config) -> + Port = testsuite:get_yaws_port(1, Config), + Url = testsuite:make_url(http, "127.0.0.1", Port, "/header_order"), + {ok, {{_,200,_}, Hdrs, _}} = testsuite:http_get(Url), + {_, IndexedHdrs} = lists:foldl(fun({Hdr,Val}, {Index,Acc}) -> + {Index+1, [{Index,Hdr,Val}|Acc]} + end, {1,[]}, Hdrs), + {IndexX1, "x-test-header1", "1"} = lists:keyfind("x-test-header1", 2, IndexedHdrs), + {IndexX2, "x-test-header2", "2"} = lists:keyfind("x-test-header2", 2, IndexedHdrs), + ?assert(IndexX1 < IndexX2), + {Index1, "cache-control", _} = lists:keyfind("cache-control", 2, IndexedHdrs), + ?assert(Index1 < IndexX1), + ok. + +extra_response_headers(Config) -> + SetCookieVals = ["cookie1=ABCDEFG", + "cookie2=1234567"], + Port = testsuite:get_yaws_port(8, Config), + Url1 = testsuite:make_url(http, "127.0.0.1", Port, "/"), + {ok, {{_,200,_}, Hdrs1, _}} = testsuite:http_get(Url1), + ?assertEqual("Bar", proplists:get_value("x-foo", Hdrs1)), + ?assertEqual("multiple words", proplists:get_value("x-bar", Hdrs1)), + ?assertEqual("extra_resp_hdrs", proplists:get_value("x-extramod", Hdrs1)), + ?assertEqual(SetCookieVals, proplists:get_all_values("set-cookie", Hdrs1)), + ?assertEqual("value1,value2", proplists:get_value("x-multi", Hdrs1)), + ?assertNot(proplists:is_defined("etag", Hdrs1)), + %% Verify always add directive + ?assertNot(lists:member(202, yaws_api:http_extra_response_headers_add_status_codes())), + Url2 = testsuite:make_url(http, "127.0.0.1", Port, "/status?code=202"), + {ok, {{_,202,_}, Hdrs2, _}} = testsuite:http_get(Url2), + ?assertNot(proplists:is_defined("x-foo", Hdrs2)), + ?assertEqual("multiple words", proplists:get_value("x-bar", Hdrs2)), + ?assertEqual(SetCookieVals, proplists:get_all_values("set-cookie", Hdrs2)), + ok. + +%%==================================================================== +prepare_docroots() -> + WWW = filename:join(?tempdir(?MODULE), "www"), + ok = testsuite:create_dir(WWW), + + Data = lists:duplicate(1024, $0), + ok = file:write_file(filename:join(WWW, "1000.txt"), lists:duplicate(1000, Data), [write]), + ok = file:write_file(filename:join(WWW, "2000.txt"), lists:duplicate(2000, Data), [write]), + ok = file:write_file(filename:join(WWW, "3000.txt"), lists:duplicate(3000, Data), [write]), + ok = file:write_file(filename:join(WWW, "10000.txt"), lists:duplicate(10000, Data), [write]), + + ok. + +allow_connects([], _) -> + ct:log("all clients connected~n",[]); +allow_connects(Pids, 0) -> + receive + {Pid, connected} -> + allow_connects(lists:delete(Pid, Pids), 1) + end; +allow_connects(Pids, I) -> + receive + {Pid, allow} -> + Pid ! allow, + allow_connects(Pids, I-1); + {Pid, connected} -> + allow_connects(lists:delete(Pid, Pids), I+1) + end. + +collect_pids(Pids) -> + collect_pids(Pids, {0, 0}). + +collect_pids([], {Ok, Ko}) -> + ct:log("all clients finished~n",[]), + {ok, {Ok, Ko}}; +collect_pids(Pids, {Ok, Ko}) -> + receive + {Pid, done} -> collect_pids(lists:delete(Pid, Pids), {Ok+1,Ko}); + {Pid, error} -> collect_pids(lists:delete(Pid, Pids), {Ok,Ko+1}) + end. + +read_loop(_Sock, _I, Sz) when Sz - 200000 < 0 -> + ok; +read_loop(Sock, I, Sz) -> + {ok, B} = testsuite:receive_http_body(Sock, 0), + timer:sleep(2), + read_loop(Sock, I, Sz - size(B)). + +slow_client(I, Parent, Port) -> + try + Parent ! {self(), allow}, + receive + allow -> ok + end, + {ok, Sock} = gen_tcp:connect("127.0.0.1", Port, [binary, {active, false}]), + Parent ! {self(), connected}, + ?assertEqual(ok, + testsuite:send_http_request( + Sock, {get, "/1000.txt", "HTTP/1.1"}, + [{"Host", "127.0.0.1:"++integer_to_list(Port)}] + )), + {ok, {{_,200,_}, Hdrs}} = testsuite:receive_http_headers(Sock), + ?assertEqual("1024000", proplists:get_value("content-length", Hdrs)), + read_loop(Sock, I, 1024000), + ?assertEqual(ok, gen_tcp:close(Sock)), + Parent ! {self(), done} + catch + _:Error -> + ct:log(error, "Client ~p failed: ~p~n", [I, Error]), + Parent ! {self(), error} + end. diff -Nru yaws-2.0.6+dfsg/testsuite/Makefile.in yaws-2.0.7+dfsg/testsuite/Makefile.in --- yaws-2.0.6+dfsg/testsuite/Makefile.in 2018-06-26 09:17:09.000000000 +0000 +++ yaws-2.0.7+dfsg/testsuite/Makefile.in 1970-01-01 00:00:00.000000000 +0000 @@ -1,601 +0,0 @@ -# Makefile.in generated by automake 1.15.1 from Makefile.am. -# @configure_input@ - -# Copyright (C) 1994-2017 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@ -am__is_gnu_make = { \ - if test -z '$(MAKELEVEL)'; then \ - false; \ - elif test -n '$(MAKE_HOST)'; then \ - true; \ - elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ - true; \ - else \ - false; \ - fi; \ -} -am__make_running_with_option = \ - case $${target_option-} in \ - ?) ;; \ - *) echo "am__make_running_with_option: internal error: invalid" \ - "target option '$${target_option-}' specified" >&2; \ - exit 1;; \ - esac; \ - has_opt=no; \ - sane_makeflags=$$MAKEFLAGS; \ - if $(am__is_gnu_make); then \ - sane_makeflags=$$MFLAGS; \ - else \ - case $$MAKEFLAGS in \ - *\\[\ \ ]*) \ - bs=\\; \ - sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ - | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ - esac; \ - fi; \ - skip_next=no; \ - strip_trailopt () \ - { \ - flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ - }; \ - for flg in $$sane_makeflags; do \ - test $$skip_next = yes && { skip_next=no; continue; }; \ - case $$flg in \ - *=*|--*) continue;; \ - -*I) strip_trailopt 'I'; skip_next=yes;; \ - -*I?*) strip_trailopt 'I';; \ - -*O) strip_trailopt 'O'; skip_next=yes;; \ - -*O?*) strip_trailopt 'O';; \ - -*l) strip_trailopt 'l'; skip_next=yes;; \ - -*l?*) strip_trailopt 'l';; \ - -[dEDm]) skip_next=yes;; \ - -[JT]) skip_next=yes;; \ - esac; \ - case $$flg in \ - *$$target_option*) has_opt=yes; break;; \ - esac; \ - done; \ - test $$has_opt = yes -am__make_dryrun = (target_option=n; $(am__make_running_with_option)) -am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) -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 = testsuite -ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/m4/ax_compare_version.m4 \ - $(top_srcdir)/m4/colored-echo.m4 $(top_srcdir)/m4/erlang.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)/configure.ac -am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ - $(ACLOCAL_M4) -DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON) -mkinstalldirs = $(install_sh) -d -CONFIG_CLEAN_FILES = ${PACKAGE_NAME}.coverspec testsuite.hrl \ - run_common_test cover_to_html.sh analyze_coverdata.escript -CONFIG_CLEAN_VPATH_FILES = -AM_V_P = $(am__v_P_@AM_V@) -am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) -am__v_P_0 = false -am__v_P_1 = : -AM_V_GEN = $(am__v_GEN_@AM_V@) -am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) -am__v_GEN_0 = @echo " GEN " $@; -am__v_GEN_1 = -AM_V_at = $(am__v_at_@AM_V@) -am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) -am__v_at_0 = @ -am__v_at_1 = -SOURCES = -DIST_SOURCES = -am__can_run_installinfo = \ - case $$AM_UPDATE_INFO_DIR in \ - n|no|NO) false;; \ - *) (install-info --version) >/dev/null 2>&1;; \ - esac -am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) -am__DIST_COMMON = $(srcdir)/${PACKAGE_NAME}.coverspec.in \ - $(srcdir)/Makefile.in $(srcdir)/analyze_coverdata.escript.in \ - $(srcdir)/cover_to_html.sh.in $(srcdir)/run_common_test.in \ - $(srcdir)/testsuite.hrl.in -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) -ACLOCAL = @ACLOCAL@ -AMTAR = @AMTAR@ -AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ -APPDEPS = @APPDEPS@ -AR = @AR@ -AUTOCONF = @AUTOCONF@ -AUTOHEADER = @AUTOHEADER@ -AUTOMAKE = @AUTOMAKE@ -AWK = @AWK@ -CADAVER = @CADAVER@ -CC = @CC@ -CCDEPMODE = @CCDEPMODE@ -CFLAGS = @CFLAGS@ -CONFIG_STATUS_DEPENDENCIES = @CONFIG_STATUS_DEPENDENCIES@ -CPP = @CPP@ -CPPFLAGS = @CPPFLAGS@ -CT_RUN = @CT_RUN@ -CURL = @CURL@ -CYGPATH_W = @CYGPATH_W@ -DEFAULT_CHARSET = @DEFAULT_CHARSET@ -DEFS = @DEFS@ -DEPDIR = @DEPDIR@ -DIALYZER = @DIALYZER@ -DLLTOOL = @DLLTOOL@ -DSYMUTIL = @DSYMUTIL@ -DUMPBIN = @DUMPBIN@ -DVILATEX = @DVILATEX@ -DVIPS = @DVIPS@ -ECHO_C = @ECHO_C@ -ECHO_N = @ECHO_N@ -ECHO_T = @ECHO_T@ -EGREP = @EGREP@ -EPAM_CFLAGS = @EPAM_CFLAGS@ -EPSTOPDF = @EPSTOPDF@ -ERL = @ERL@ -ERLANG_ERTS_DIR = @ERLANG_ERTS_DIR@ -ERLANG_ERTS_VER = @ERLANG_ERTS_VER@ -ERLANG_INSTALL_LIB_DIR = @ERLANG_INSTALL_LIB_DIR@ -ERLANG_INSTALL_LIB_DIR_yapp = @ERLANG_INSTALL_LIB_DIR_yapp@ -ERLANG_INSTALL_LIB_DIR_yaws = @ERLANG_INSTALL_LIB_DIR_yaws@ -ERLANG_LIB_DIR = @ERLANG_LIB_DIR@ -ERLANG_LIB_DIR_common_test = @ERLANG_LIB_DIR_common_test@ -ERLANG_LIB_DIR_compiler = @ERLANG_LIB_DIR_compiler@ -ERLANG_LIB_DIR_crypto = @ERLANG_LIB_DIR_crypto@ -ERLANG_LIB_DIR_erlsom = @ERLANG_LIB_DIR_erlsom@ -ERLANG_LIB_DIR_erts = @ERLANG_LIB_DIR_erts@ -ERLANG_LIB_DIR_eunit = @ERLANG_LIB_DIR_eunit@ -ERLANG_LIB_DIR_inets = @ERLANG_LIB_DIR_inets@ -ERLANG_LIB_DIR_kernel = @ERLANG_LIB_DIR_kernel@ -ERLANG_LIB_DIR_mnesia = @ERLANG_LIB_DIR_mnesia@ -ERLANG_LIB_DIR_public_key = @ERLANG_LIB_DIR_public_key@ -ERLANG_LIB_DIR_sasl = @ERLANG_LIB_DIR_sasl@ -ERLANG_LIB_DIR_ssl = @ERLANG_LIB_DIR_ssl@ -ERLANG_LIB_DIR_stdlib = @ERLANG_LIB_DIR_stdlib@ -ERLANG_LIB_DIR_tools = @ERLANG_LIB_DIR_tools@ -ERLANG_LIB_DIR_xmerl = @ERLANG_LIB_DIR_xmerl@ -ERLANG_LIB_DIR_xmlrpc = @ERLANG_LIB_DIR_xmlrpc@ -ERLANG_LIB_VER_common_test = @ERLANG_LIB_VER_common_test@ -ERLANG_LIB_VER_compiler = @ERLANG_LIB_VER_compiler@ -ERLANG_LIB_VER_crypto = @ERLANG_LIB_VER_crypto@ -ERLANG_LIB_VER_erlsom = @ERLANG_LIB_VER_erlsom@ -ERLANG_LIB_VER_erts = @ERLANG_LIB_VER_erts@ -ERLANG_LIB_VER_eunit = @ERLANG_LIB_VER_eunit@ -ERLANG_LIB_VER_inets = @ERLANG_LIB_VER_inets@ -ERLANG_LIB_VER_kernel = @ERLANG_LIB_VER_kernel@ -ERLANG_LIB_VER_mnesia = @ERLANG_LIB_VER_mnesia@ -ERLANG_LIB_VER_public_key = @ERLANG_LIB_VER_public_key@ -ERLANG_LIB_VER_sasl = @ERLANG_LIB_VER_sasl@ -ERLANG_LIB_VER_ssl = @ERLANG_LIB_VER_ssl@ -ERLANG_LIB_VER_stdlib = @ERLANG_LIB_VER_stdlib@ -ERLANG_LIB_VER_tools = @ERLANG_LIB_VER_tools@ -ERLANG_LIB_VER_xmerl = @ERLANG_LIB_VER_xmerl@ -ERLANG_LIB_VER_xmlrpc = @ERLANG_LIB_VER_xmlrpc@ -ERLANG_RELEASE = @ERLANG_RELEASE@ -ERLANG_ROOT_DIR = @ERLANG_ROOT_DIR@ -ERLC = @ERLC@ -ERLCFLAGS = @ERLCFLAGS@ -ERL_LIBS = @ERL_LIBS@ -ESCRIPT = @ESCRIPT@ -EXEEXT = @EXEEXT@ -EXTRAINCLUDE = @EXTRAINCLUDE@ -FGREP = @FGREP@ -GREP = @GREP@ -HAVE_SENDFILE = @HAVE_SENDFILE@ -INSTALL = @INSTALL@ -INSTALL_BUILDER = @INSTALL_BUILDER@ -INSTALL_DATA = @INSTALL_DATA@ -INSTALL_PROGRAM = @INSTALL_PROGRAM@ -INSTALL_SCRIPT = @INSTALL_SCRIPT@ -INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ -LD = @LD@ -LDFLAGS = @LDFLAGS@ -LIBOBJS = @LIBOBJS@ -LIBS = @LIBS@ -LIBTOOL = @LIBTOOL@ -LIPO = @LIPO@ -LN_S = @LN_S@ -LTLIBOBJS = @LTLIBOBJS@ -LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@ -MAKEINFO = @MAKEINFO@ -MAN = @MAN@ -MANIFEST_TOOL = @MANIFEST_TOOL@ -MKDIR_P = @MKDIR_P@ -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_URL = @PACKAGE_URL@ -PACKAGE_VERSION = @PACKAGE_VERSION@ -PATH_SEPARATOR = @PATH_SEPARATOR@ -PDFLATEX = @PDFLATEX@ -PS2PDF = @PS2PDF@ -RANLIB = @RANLIB@ -SED = @SED@ -SET_MAKE = @SET_MAKE@ -SHELL = @SHELL@ -STRIP = @STRIP@ -TODOS = @TODOS@ -UNIX2DOS = @UNIX2DOS@ -VERSION = @VERSION@ -WERL = @WERL@ -YAPP_VSN = @YAPP_VSN@ -YAWS_VSN = @YAWS_VSN@ -abs_builddir = @abs_builddir@ -abs_srcdir = @abs_srcdir@ -abs_top_builddir = @abs_top_builddir@ -abs_top_srcdir = @abs_top_srcdir@ -ac_ct_AR = @ac_ct_AR@ -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@ -appsdir = @appsdir@ -bindir = @bindir@ -build = @build@ -build_alias = @build_alias@ -build_cpu = @build_cpu@ -build_os = @build_os@ -build_vendor = @build_vendor@ -builddir = @builddir@ -confdir = @confdir@ -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@ -logdir = @logdir@ -mandir = @mandir@ -mkdir_p = @mkdir_p@ -oldincludedir = @oldincludedir@ -pdfdir = @pdfdir@ -prefix = @prefix@ -program_transform_name = @program_transform_name@ -psdir = @psdir@ -runstatedir = @runstatedir@ -sbindir = @sbindir@ -sharedstatedir = @sharedstatedir@ -srcdir = @srcdir@ -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@ -wwwdir = @wwwdir@ -yappdir = @yappdir@ -yawsdir = @yawsdir@ -@HAVE_TS_TOOLS_TRUE@SUITE_MODULES_BLA = $(sort $(wildcard @srcdir@/*_SUITE.erl)) -@HAVE_TS_TOOLS_TRUE@SUITE_MODULES = $(SUITE_MODULES_BLA:@srcdir@/%=%) -@HAVE_TS_TOOLS_TRUE@SUITE_MODULES_DATADIR = $(wildcard @srcdir@/*_SUITE_data) -@HAVE_TS_TOOLS_TRUE@SUITE_MODULES_DATADIR_MODS_BLA = $(wildcard @srcdir@/*_SUITE_data/*.erl) -@HAVE_TS_TOOLS_TRUE@SUITE_MODULES_DATADIR_MODS = $(SUITE_MODULES_DATADIR_MODS_BLA:@srcdir@/%=%) -@HAVE_TS_TOOLS_TRUE@MODULES = $(SUITE_MODULES) $(SUITE_MODULES_DATADIR_MODS) testsuite.erl -@HAVE_TS_TOOLS_TRUE@EBIN_DIR = @top_builddir@/testsuite -@HAVE_TS_TOOLS_TRUE@EBIN_FILES = $(MODULES:%.erl=$(EBIN_DIR)/%.beam) -@HAVE_TS_TOOLS_TRUE@LOG_DIR = @builddir@/logs -@HAVE_TS_TOOLS_TRUE@ERLC_FLAGS = $(ERLC_GENERIC_FLAGS) -DSHOW_LOG +nowarn_export_all -@HAVE_TS_TOOLS_TRUE@ALL_SUITES = $(SUITE_MODULES:%.erl=%) -@HAVE_TS_TOOLS_TRUE@SUITES = all -@HAVE_TS_TOOLS_TRUE@GRPS = all -@HAVE_TS_TOOLS_TRUE@CASES = all -@HAVE_TS_TOOLS_TRUE@USE_COVER = no -@HAVE_TS_TOOLS_TRUE@USE_DEBUGGER = no -@HAVE_TS_TOOLS_TRUE@TRACES = -@HAVE_TS_TOOLS_TRUE@EXTRA_DIST = $(MODULES) $(SUITE_MODULES_DATADIR) -all: all-am - -.SUFFIXES: -$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) - @for dep in $?; do \ - case '$(am__configure_deps)' in \ - *$$dep*) \ - ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ - && { if test -f $@; then exit 0; else break; fi; }; \ - exit 1;; \ - esac; \ - done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign testsuite/Makefile'; \ - $(am__cd) $(top_srcdir) && \ - $(AUTOMAKE) --foreign testsuite/Makefile -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - @case '$?' in \ - *config.status*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ - *) \ - echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ - esac; - -$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh - -$(top_srcdir)/configure: $(am__configure_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(ACLOCAL_M4): $(am__aclocal_m4_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(am__aclocal_m4_deps): -${PACKAGE_NAME}.coverspec: $(top_builddir)/config.status $(srcdir)/${PACKAGE_NAME}.coverspec.in - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ -testsuite.hrl: $(top_builddir)/config.status $(srcdir)/testsuite.hrl.in - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ -run_common_test: $(top_builddir)/config.status $(srcdir)/run_common_test.in - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ -cover_to_html.sh: $(top_builddir)/config.status $(srcdir)/cover_to_html.sh.in - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ -analyze_coverdata.escript: $(top_builddir)/config.status $(srcdir)/analyze_coverdata.escript.in - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ - -mostlyclean-libtool: - -rm -f *.lo - -clean-libtool: - -rm -rf .libs _libs -tags TAGS: - -ctags CTAGS: - -cscope cscopelist: - - -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 -@HAVE_TS_TOOLS_FALSE@all-local: -all-am: Makefile all-local -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: - if test -z '$(STRIP)'; then \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - install; \ - else \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ - fi -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." -@HAVE_TS_TOOLS_FALSE@clean-local: -@HAVE_TS_TOOLS_FALSE@distclean-local: -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 distclean-local - -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 all-local check check-am check-local clean \ - clean-generic clean-libtool clean-local cscopelist-am ctags-am \ - distclean distclean-generic distclean-libtool distclean-local \ - 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 \ - tags-am uninstall uninstall-am - -.PRECIOUS: Makefile - - -@HAVE_TS_TOOLS_TRUE@include @top_srcdir@/include.mk - -@HAVE_TS_TOOLS_TRUE@include @top_srcdir@/erlang_deps.mk - -@HAVE_TS_TOOLS_TRUE@all-local: $(EBIN_FILES) - -@HAVE_TS_TOOLS_TRUE@clean-local: -@HAVE_TS_TOOLS_TRUE@ $(AM_V_at)rm -fr $(EBIN_FILES) $(LOG_DIR) -@HAVE_TS_TOOLS_TRUE@ $(AM_V_at)rm -fr $(wildcard @builddir@/*_SUITE_data/temp) -@HAVE_TS_TOOLS_TRUE@ $(AM_V_at)find @builddir@/*_SUITE_data -type d -empty -delete 2>/dev/null || true - -@HAVE_TS_TOOLS_TRUE@$(EBIN_DIR)/%.beam: %.erl -@HAVE_TS_TOOLS_TRUE@ $(AM_V_at)$(MKDIR_P) $(shell dirname $@) -@HAVE_TS_TOOLS_TRUE@ $(AM_V_at)$(ERLC) $(ERLC_FLAGS) -M -MF $(@:$(EBIN_DIR)/%.beam=$(DEPDIR)/%.Pbeam) -MT $@ $< -@HAVE_TS_TOOLS_TRUE@ $(AM_V_ERLC)$(ERLC) $(ERLC_FLAGS) -o $(shell dirname $@) $< - -@HAVE_TS_TOOLS_TRUE@distclean-local: -@HAVE_TS_TOOLS_TRUE@ $(AM_V_at)rm -fr $(DEPDIR) - -@HAVE_TS_TOOLS_TRUE@$(LOG_DIR): -@HAVE_TS_TOOLS_TRUE@ $(AM_V_at)mkdir -p $@ - -@HAVE_TS_TOOLS_TRUE@common_test: all $(LOG_DIR) -@HAVE_TS_TOOLS_TRUE@ $(AM_V_at)echo " RUN $@ [suites=$(SUITES) - groups=$(GRPS) - cases=$(CASES)]" -@HAVE_TS_TOOLS_TRUE@ $(AM_V_at)echo " - use cover : $(USE_COVER)" -@HAVE_TS_TOOLS_TRUE@ $(AM_V_at)echo " - use debugger: $(USE_DEBUGGER)" -@HAVE_TS_TOOLS_TRUE@ $(AM_V_at)echo " - traces : $(TRACES)" -@HAVE_TS_TOOLS_TRUE@ $(AM_V_at)USE_COVER=$(USE_COVER) USE_DEBUGGER=$(USE_DEBUGGER) TRACES="$(TRACES)" \ -@HAVE_TS_TOOLS_TRUE@ @builddir@/run_common_test "$(ALL_SUITES)" "$(SUITES)" "$(GRPS)" "$(CASES)" - -@HAVE_TS_TOOLS_TRUE@check-local: common_test - -@HAVE_TS_TOOLS_TRUE@list-checks: -@HAVE_TS_TOOLS_TRUE@ $(AM_V_at)echo -@HAVE_TS_TOOLS_TRUE@ $(AM_V_at)echo " CHECKS:" -@HAVE_TS_TOOLS_TRUE@ $(AM_V_at)for c in $(ALL_SUITES); do echo " - $$c"; done -@HAVE_TS_TOOLS_TRUE@ $(AM_V_at)echo - -@HAVE_TS_TOOLS_TRUE@.PHONY: common_test list-checks - -@HAVE_TS_TOOLS_FALSE@check-local: -@HAVE_TS_TOOLS_FALSE@ $(AM_V_at)echo -@HAVE_TS_TOOLS_FALSE@ $(AM_V_at)echo " SKIPPED - Tests cannot be executed because on or more required applications are missing" -@HAVE_TS_TOOLS_FALSE@ $(AM_V_at)echo -@HAVE_TS_TOOLS_FALSE@ $(AM_V_at)((test "x$(CT_RUN)" = "x") && echo " - ct_run(1) is missing") || true -@HAVE_TS_TOOLS_FALSE@ $(AM_V_at)((test "$(ERLANG_LIB_DIR_common_test)" = "not found") && echo " - \"common_test\" application is missing") || true -@HAVE_TS_TOOLS_FALSE@ $(AM_V_at)((test "$(ERLANG_LIB_DIR_eunit)" = "not found") && echo " - \"eunit\" application is missing") || true -@HAVE_TS_TOOLS_FALSE@ $(AM_V_at)((test "$(ERLANG_LIB_DIR_inets)" = "not found") && echo " - \"inets\" application is missing") || true -@HAVE_TS_TOOLS_FALSE@ $(AM_V_at)((test "$(ERLANG_LIB_DIR_tools)" = "not found") && echo " - \"tools\" application is missing") || true -@HAVE_TS_TOOLS_FALSE@ $(AM_V_at)echo - -# Tell versions [3.59,3.63) of GNU make to not export all variables. -# Otherwise a system limit (for SysV at least) may be exceeded. -.NOEXPORT: diff -Nru yaws-2.0.6+dfsg/testsuite/maxconn_SUITE_data/max_connections.erl yaws-2.0.7+dfsg/testsuite/maxconn_SUITE_data/max_connections.erl --- yaws-2.0.6+dfsg/testsuite/maxconn_SUITE_data/max_connections.erl 1970-01-01 00:00:00.000000000 +0000 +++ yaws-2.0.7+dfsg/testsuite/maxconn_SUITE_data/max_connections.erl 2019-07-14 13:01:11.000000000 +0000 @@ -0,0 +1,5 @@ +-module(max_connections). +-export([out/1]). + +out(_Arg) -> + [{status, 204}]. diff -Nru yaws-2.0.6+dfsg/testsuite/maxconn_SUITE_data/templates/yaws.conf yaws-2.0.7+dfsg/testsuite/maxconn_SUITE_data/templates/yaws.conf --- yaws-2.0.6+dfsg/testsuite/maxconn_SUITE_data/templates/yaws.conf 1970-01-01 00:00:00.000000000 +0000 +++ yaws-2.0.7+dfsg/testsuite/maxconn_SUITE_data/templates/yaws.conf 2019-07-14 13:01:11.000000000 +0000 @@ -0,0 +1,19 @@ +logdir = $logdir$ + +ebin_dir = $data_builddir$ + +trace = false +copy_error_log = true +log_wrap_size = 1000000 +log_resolve_hostname = false +fail_on_bind_err = true +pick_first_virthost_on_nomatch = true +keepalive_timeout = 10000 + +max_connections = 2 + + + listen = 127.0.0.1 + port = $yaws_port1$ + appmods = + diff -Nru yaws-2.0.6+dfsg/testsuite/maxconn_SUITE.erl yaws-2.0.7+dfsg/testsuite/maxconn_SUITE.erl --- yaws-2.0.6+dfsg/testsuite/maxconn_SUITE.erl 1970-01-01 00:00:00.000000000 +0000 +++ yaws-2.0.7+dfsg/testsuite/maxconn_SUITE.erl 2019-07-14 13:01:11.000000000 +0000 @@ -0,0 +1,69 @@ +-module(maxconn_SUITE). + +-include("testsuite.hrl"). +-include_lib("kernel/include/file.hrl"). + +-compile(export_all). + +all() -> + [ + max_connections + ]. + +groups() -> + [ + ]. + +%%==================================================================== +init_per_suite(Config) -> + Id = "testsuite-server", + YConf = filename:join(?tempdir(?MODULE), "yaws.conf"), + application:load(yaws), + application:set_env(yaws, id, Id), + application:set_env(yaws, conf, YConf), + ok = yaws:start(), + [{yaws_id, Id}, {yaws_config, YConf} | Config]. + +end_per_suite(_Config) -> + ok = application:stop(yaws), + ok = application:unload(yaws), + ok. + +init_per_group(_Group, Config) -> + Config. + +end_per_group(_Group, _Config) -> + ok. + +init_per_testcase(_Test, Config) -> + Config. + +end_per_testcase(_Test, _Config) -> + ok. + +%%==================================================================== +max_connections(Config) -> + Port = testsuite:get_yaws_port(1, Config), + Url = testsuite:make_url(http, "127.0.0.1", Port, "/"), + ConnHdr = {"Connection", "close"}, + + ?assertMatch({ok, {{_,204,_}, _, _}}, testsuite:http_get(Url, [ConnHdr])), + + {ok, Sock1} = gen_tcp:connect("127.0.0.1", Port, []), + ?assertMatch({ok, {{_,204,_}, _, _}}, testsuite:http_get(Url, [ConnHdr])), + + {ok, Sock2} = gen_tcp:connect("127.0.0.1", Port, []), + {ok, Sock3} = gen_tcp:connect("127.0.0.1", Port, [{active, once}]), + Res = receive + {tcp_closed, Sock3} -> ok + after + 1000 -> {error, timeout} + end, + ?assertEqual(Res, ok), + + ?assertEqual(ok, gen_tcp:close(Sock1)), + ?assertMatch({ok, {{_,204,_}, _, _}}, testsuite:http_get(Url, [ConnHdr])), + + ?assertEqual(ok, gen_tcp:close(Sock2)), + ?assertMatch({ok, {{_,204,_}, _, _}}, testsuite:http_get(Url, [ConnHdr])), + ok. diff -Nru yaws-2.0.6+dfsg/testsuite/mime_types_SUITE_data/mime.types yaws-2.0.7+dfsg/testsuite/mime_types_SUITE_data/mime.types --- yaws-2.0.6+dfsg/testsuite/mime_types_SUITE_data/mime.types 1970-01-01 00:00:00.000000000 +0000 +++ yaws-2.0.7+dfsg/testsuite/mime_types_SUITE_data/mime.types 2019-07-14 13:01:11.000000000 +0000 @@ -0,0 +1,3 @@ +text/x-erlang erl +application/x-httpd-php php +application/x-httpd-php5 php5 diff -Nru yaws-2.0.6+dfsg/testsuite/mime_types_SUITE_data/templates/yaws.conf yaws-2.0.7+dfsg/testsuite/mime_types_SUITE_data/templates/yaws.conf --- yaws-2.0.6+dfsg/testsuite/mime_types_SUITE_data/templates/yaws.conf 1970-01-01 00:00:00.000000000 +0000 +++ yaws-2.0.7+dfsg/testsuite/mime_types_SUITE_data/templates/yaws.conf 2019-07-14 13:01:11.000000000 +0000 @@ -0,0 +1,35 @@ +logdir = $logdir$ + +ebin_dir = $data_builddir$ + +trace = false +copy_error_log = true +log_wrap_size = 1000000 +log_resolve_hostname = false +fail_on_bind_err = true +pick_first_virthost_on_nomatch = true +keepalive_timeout = 10000 + +default_type = text/html +add_types = +add_charsets = + + + listen = 127.0.0.1 + port = $yaws_port1$ + deflate = true + docroot = $wwwdir$ + + + + listen = 127.0.0.1 + port = $yaws_port2$ + deflate = true + docroot = $wwwdir$ + + default_type = text/plain + mime_types_file = $data_srcdir$/mime.types + add_types = + default_charset = UTF-8 + add_charsets = + diff -Nru yaws-2.0.6+dfsg/testsuite/mime_types_SUITE.erl yaws-2.0.7+dfsg/testsuite/mime_types_SUITE.erl --- yaws-2.0.6+dfsg/testsuite/mime_types_SUITE.erl 1970-01-01 00:00:00.000000000 +0000 +++ yaws-2.0.7+dfsg/testsuite/mime_types_SUITE.erl 2019-07-14 13:01:11.000000000 +0000 @@ -0,0 +1,199 @@ +-module(mime_types_SUITE). + +-include("testsuite.hrl"). + +-compile(export_all). + +all() -> + [ + generated_module, + default_type, + yaws_type, + erlang_type, + gzip_with_charset, + multiple_accept_headers + ]. + +groups() -> + [ + ]. + +%%==================================================================== +init_per_suite(Config) -> + Id = "testsuite-server", + YConf = filename:join(?tempdir(?MODULE), "yaws.conf"), + application:load(yaws), + application:set_env(yaws, id, Id), + application:set_env(yaws, conf, YConf), + ok = yaws:start(), + [{yaws_id, Id}, {yaws_config, YConf} | Config]. + +end_per_suite(_Config) -> + ok = application:stop(yaws), + ok = application:unload(yaws), + ok. + +init_per_group(_Group, Config) -> + Config. + +end_per_group(_Group, _Config) -> + ok. + +init_per_testcase(_Test, Config) -> + Config. + +end_per_testcase(_Test, _Config) -> + ok. + +%%==================================================================== +generated_module(Config) -> + Port1 = testsuite:get_yaws_port(1, Config), + Port2 = testsuite:get_yaws_port(2, Config), + Vhost1 = {"localhost:"++integer_to_list(Port1), Port1}, + Vhost2 = {"localhost:"++integer_to_list(Port2), Port2}, + + CInfo = mime_types:module_info(compile), + ?assertEqual(yaws:id_dir(?config(yaws_id, Config)), + filename:dirname(proplists:get_value(source, CInfo))), + + ?assertEqual("text/html", mime_types:default_type()), + ?assertEqual("text/html", mime_types:default_type(global)), + ?assertEqual("text/html", mime_types:default_type(Vhost1)), + ?assertEqual("text/plain; charset=UTF-8", mime_types:default_type(Vhost2)), + + ?assertEqual({yaws, "text/html"}, mime_types:t("yaws")), + ?assertEqual({yaws, "text/html"}, mime_types:t(global,"yaws")), + ?assertEqual({yaws, "text/html"}, mime_types:t(Vhost1,"yaws")), + ?assertEqual({yaws, "text/xhtml; charset=ISO-8859-1"} ,mime_types:t(Vhost2,"yaws")), + + + ?assertEqual({regular, "text/plain; charset=UTF-8"}, mime_types:t("tst")), + ?assertEqual({regular, "text/plain; charset=UTF-8"}, mime_types:t(global,"tst")), + ?assertEqual({regular, "text/plain; charset=UTF-8"}, mime_types:t(Vhost1,"tst")), + ?assertEqual({regular, "application/x-test; charset=US-ASCII"}, mime_types:t(Vhost2,"tst")), + + ?assertEqual({regular, "text/html"}, mime_types:t("test")), + ?assertEqual({regular, "text/html"}, mime_types:t(global,"test")), + ?assertEqual({regular, "text/html"}, mime_types:t(Vhost1,"test")), + ?assertEqual({regular, "application/x-test; charset=UTF-8"}, mime_types:t(Vhost2,"test")), + + ?assertEqual({php, "text/html"}, mime_types:t("php")), + ?assertEqual({php, "text/html"}, mime_types:t(global, "php")), + ?assertEqual({php, "text/html"}, mime_types:t(Vhost1, "php")), + ?assertEqual({php, "application/x-httpd-php"}, mime_types:t(Vhost2,"php")), + ?assertEqual({php, "application/x-httpd-php"}, mime_types:t(Vhost2,"PHP")), + ?assertEqual({regular, "php5", "application/x-httpd-php5"}, mime_types:revt(Vhost2,"5php")), + ?assertEqual({regular, "PHP5", "application/x-httpd-php5"}, mime_types:revt(Vhost2,"5PHP")), + + ?assertEqual({regular, "text/plain"}, mime_types:t("html")), + ?assertEqual({regular, "text/plain"}, mime_types:t(global,"html")), + ?assertEqual({regular, "text/plain"}, mime_types:t(Vhost1,"html")), + ?assertEqual({regular, "text/plain; charset=UTF-8"}, mime_types:t(Vhost2,"html")), + ok. + +default_type(Config) -> + Port1 = testsuite:get_yaws_port(1, Config), + Port2 = testsuite:get_yaws_port(2, Config), + Url1 = testsuite:make_url(http, "127.0.0.1", Port1, "/news"), + Url2 = testsuite:make_url(http, "127.0.0.1", Port2, "/news"), + + {ok, {{_,200,_}, Hdrs1, _}} = testsuite:http_get(Url1), + ?assertEqual("text/html", proplists:get_value("content-type", Hdrs1)), + + {ok, {{_,200,_}, Hdrs2, _}} = testsuite:http_get(Url2), + ?assertEqual("text/plain; charset=UTF-8", proplists:get_value("content-type", Hdrs2)), + ok. + +yaws_type(Config) -> + Port1 = testsuite:get_yaws_port(1, Config), + Port2 = testsuite:get_yaws_port(2, Config), + Url1 = testsuite:make_url(http, "127.0.0.1", Port1, "/index.yaws"), + Url2 = testsuite:make_url(http, "127.0.0.1", Port2, "/index.yaws"), + + {ok, {{_,200,_}, Hdrs1, _}} = testsuite:http_get(Url1), + ?assertEqual("text/html", proplists:get_value("content-type", Hdrs1)), + + {ok, {{_,200,_}, Hdrs2, _}} = testsuite:http_get(Url2), + ?assertEqual("text/xhtml; charset=ISO-8859-1", proplists:get_value("content-type", Hdrs2)), + ok. + +erlang_type(Config) -> + Port1 = testsuite:get_yaws_port(1, Config), + Port2 = testsuite:get_yaws_port(2, Config), + Url1 = testsuite:make_url(http, "127.0.0.1", Port1, "/code/myappmod.erl"), + Url2 = testsuite:make_url(http, "127.0.0.1", Port2, "/code/myappmod.erl"), + + {ok, {{_,200,_}, Hdrs1, _}} = testsuite:http_get(Url1), + ?assertEqual("text/html", proplists:get_value("content-type", Hdrs1)), + + {ok, {{_,200,_}, Hdrs2, _}} = testsuite:http_get(Url2), + ?assertEqual("text/x-erlang; charset=UTF-8", proplists:get_value("content-type", Hdrs2)), + ok. + +gzip_with_charset(Config) -> + Port = testsuite:get_yaws_port(2, Config), + Url = testsuite:make_url(http, "127.0.0.1", Port, "/index.yaws"), + + GzHdr = {"Accept-Encoding", "gzip, deflate"}, + {ok, {{_,200,_}, Hdrs, _}} = testsuite:http_get(Url, [GzHdr]), + ?assertEqual("text/xhtml; charset=ISO-8859-1", proplists:get_value("content-type", Hdrs)), + ?assertEqual("gzip", proplists:get_value("content-encoding", Hdrs)), + ok. + +multiple_accept_headers(Config) -> + Port1 = testsuite:get_yaws_port(1, Config), + Url1 = testsuite:make_url(http, "127.0.0.1", Port1, "/multiple_accept_headers.yaws"), + + AcceptHdrs1 = [{"Accept", "text/html"}, {"Accept", "text/plain"}], + {ok, {{_,200,_}, Hdrs1, _}} = testsuite:http_get(Url1, AcceptHdrs1), + ?assertEqual("text/html", proplists:get_value("content-type", Hdrs1)), + ?assertEqual("text/html, text/plain", + proplists:get_value("x-test-request-accept", Hdrs1)), + + AcceptHdrs2 = [{"Accept", "text/plain"}, {"Accept", "text/html"}], + {ok, {{_,200,_}, Hdrs2, _}} = testsuite:http_get(Url1, AcceptHdrs2), + ?assertEqual("text/plain", proplists:get_value("content-type", Hdrs2)), + ?assertEqual("text/plain, text/html", + proplists:get_value("x-test-request-accept", Hdrs2)), + + AcceptHdrs3 = [{"Accept", "text/html, text/plain"}], + {ok, {{_,200,_}, Hdrs3, _}} = testsuite:http_get(Url1, AcceptHdrs3), + ?assertEqual("text/html", proplists:get_value("content-type", Hdrs3)), + ?assertEqual("text/html, text/plain", + proplists:get_value("x-test-request-accept", Hdrs3)), + + AcceptHdrs4 = [{"Accept", "text/plain, text/html"}], + {ok, {{_,200,_}, Hdrs4, _}} = testsuite:http_get(Url1, AcceptHdrs4), + ?assertEqual("text/plain", proplists:get_value("content-type", Hdrs4)), + ?assertEqual("text/plain, text/html", + proplists:get_value("x-test-request-accept", Hdrs4)), + + AcceptHdrs5 = [{"Accept", "text/plain, application/json"}, + {"Accept", "text/html, text/*"}], + {ok, {{_,200,_}, Hdrs5, _}} = testsuite:http_get(Url1, AcceptHdrs5), + ?assertEqual("text/plain", proplists:get_value("content-type", Hdrs5)), + ?assertEqual("text/plain, application/json, text/html, text/*", + proplists:get_value("x-test-request-accept", Hdrs5)), + + AcceptHdrs6 = [{"Accept", ",text/plain"}], + {ok, {{_,200,_}, Hdrs6, _}} = testsuite:http_get(Url1, AcceptHdrs6), + ?assertEqual("text/plain", proplists:get_value("content-type", Hdrs6)), + ?assertEqual("text/plain", + proplists:get_value("x-test-request-accept", Hdrs6)), + + AcceptHdrs7 = [{"Accept", ",text/plain"}], + {ok, {{_,200,_}, Hdrs7, _}} = testsuite:http_get(Url1, AcceptHdrs7), + ?assertEqual("text/plain", proplists:get_value("content-type", Hdrs7)), + ?assertEqual("text/plain", + proplists:get_value("x-test-request-accept", Hdrs7)), + + AcceptHdrs8 = [{"Accept", "text/plain, ,text/html"}], + {ok, {{_,200,_}, Hdrs8, _}} = testsuite:http_get(Url1, AcceptHdrs8), + ?assertEqual("text/plain", proplists:get_value("content-type", Hdrs8)), + ?assertEqual("text/plain, text/html", + proplists:get_value("x-test-request-accept", Hdrs8)), + + AcceptHdrs9 = [{"Accept", ","}], + {ok, {{_,400,_}, _, _}} = testsuite:http_get(Url1, AcceptHdrs9), + + ok. diff -Nru yaws-2.0.6+dfsg/testsuite/multipart_post_parsing_SUITE.erl yaws-2.0.7+dfsg/testsuite/multipart_post_parsing_SUITE.erl --- yaws-2.0.6+dfsg/testsuite/multipart_post_parsing_SUITE.erl 1970-01-01 00:00:00.000000000 +0000 +++ yaws-2.0.7+dfsg/testsuite/multipart_post_parsing_SUITE.erl 2019-07-14 13:01:11.000000000 +0000 @@ -0,0 +1,329 @@ +-module(multipart_post_parsing_SUITE). + +-include("testsuite.hrl"). + +-compile(export_all). + +all() -> + [ + complete_parse_list, + complete_parse_binary, + incomplete_body_list, + incomplete_body_binary, + incomplete_head_list, + incomplete_head_binary, + boundary_markers, + incomplete_boundary_list, + incomplete_boundary_binary, + read_multipart_form_list, + read_multipart_form_binary, + malformed_multipart_form, + escaped_parse, + return_error_file_path + ]. + +groups() -> + [ + ]. + +%%==================================================================== +init_per_suite(Config) -> + Config. + +end_per_suite(_Config) -> + ok. + +init_per_group(_Group, Config) -> + Config. + +end_per_group(_Group, _Config) -> + ok. + +init_per_testcase(_Test, Config) -> + Config. + +end_per_testcase(_Test, _Config) -> + ok. + +%%==================================================================== +data_to_parse() -> + list_to_binary( + ["--!!!\r\n", + "Content-Disposition: form-data; name=\"abc123\"; " + ++ "filename=\"abc123\"\r\n" + ++ "Content-Type: text/plain\r\n" + ++ "Test-Header: sampledata\r\n\r\n", + "sometext\n\r\n--!!!--\r\n"]). + +complete_parse(Opt) -> + yaws_api:parse_multipart_post(mk_arg(data_to_parse()), [Opt]). + +test_complete_parse(Opt) -> + {result, Params} = complete_parse(Opt), + ?assertEqual(2, length(Params)), + {"abc123", HeadParams} = proplists:get_value(head, Params), + ?assertEqual(4, length(HeadParams)), + ?assertEqual("abc123", proplists:get_value("name", HeadParams)), + ?assertEqual("abc123", proplists:get_value("filename", HeadParams)), + ?assertEqual("text/plain", proplists:get_value(content_type, HeadParams)), + ?assertEqual("sampledata", proplists:get_value("test-header", HeadParams)), + proplists:get_value(body, Params). + +complete_parse_list(_Config) -> + ?assertEqual("sometext\n", test_complete_parse(list)), + ok. + +complete_parse_binary(_config) -> + ?assertEqual(<<"sometext\n">>, test_complete_parse(binary)), + ok. + +test_incomplete_body(Opt) -> + Data1 = list_to_binary( + ["--!!!\r\n", + "Content-Disposition: form-data; name=\"abc123\"; " + ++ "filename=\"abc123\"\r\n\r\n", + "someincomplete"]), + A1 = mk_arg(Data1), + {cont, Cont, Res1} = yaws_api:parse_multipart_post(A1, [Opt]), + Data2 = list_to_binary( + ["text\n\r\n--!!!\r\n", + "Content-Disposition: form-data; name=\"def456\"; " + ++ "filename=\"def456\"\r\n\r\n", + "sometext\n\r\n--!!!--\r\n"]), + A2 = A1#arg{cont = Cont, clidata = Data2}, + {result, Res2} = yaws_api:parse_multipart_post(A2, [Opt]), + ?assertEqual(2, length(Res1)), + {"abc123", HeadParams1} = proplists:get_value(head, Res1), + PB = proplists:get_value(part_body, Res1), + ?assertEqual(2, length(HeadParams1)), + ?assertEqual("abc123", proplists:get_value("filename", HeadParams1)), + ?assertEqual("abc123", proplists:get_value("name", HeadParams1)), + ?assertEqual(3, length(Res2)), + {"def456", HeadParams2} = proplists:get_value(head, Res2), + BL = lists:sort([B || {K, _}=B <- Res2, K =:= body]), + ?assertEqual(2, length(HeadParams2)), + ?assertEqual("def456", proplists:get_value("filename", HeadParams2)), + ?assertEqual("def456", proplists:get_value("name", HeadParams2)), + {PB, BL}. + +incomplete_body_list(_config) -> + ?assertEqual({"someinc", [{body, "ompletetext\n"}, {body, "sometext\n"}]}, + test_incomplete_body(list)), + ok. + +incomplete_body_binary(_Config) -> + ?assertEqual({<<"someinc">>, [{body, <<"ompletetext\n">>}, {body, <<"sometext\n">>}]}, + test_incomplete_body(binary)), + ok. + +test_incomplete_head_list(Opt) -> + Data1 = list_to_binary( + ["--!!!\r\n", + "Content-Disposition: form-data; name=\"abc123\"; " + ++ "filename=\"abc123\"\r\n\r\n", + "sometext1\n\r\n--!!!\r\n", + "Content-Disposition: form-data; name=\"ghi"]), + A1 = mk_arg(Data1), + {cont, Cont, Res1} = yaws_api:parse_multipart_post(A1, [Opt]), + Data2 = list_to_binary( + ["789\"; " + ++ "filename=\"ghi789\"\r\n\r\n", + "sometext2\n\r\n--!!!--\r\n"]), + A2 = A1#arg{cont = Cont, clidata = Data2}, + {result, Res2} = yaws_api:parse_multipart_post(A2), + ?assertEqual(2, length(Res1)), + {"abc123", HeadParams1} = proplists:get_value(head, Res1), + Body1 = proplists:get_value(body, Res1), + ?assertEqual(2, length(HeadParams1)), + ?assertEqual("abc123", proplists:get_value("filename", HeadParams1)), + ?assertEqual("abc123", proplists:get_value("name", HeadParams1)), + ?assertEqual(2, length(Res2)), + {"ghi789", HeadParams2} = proplists:get_value(head, Res2), + Body2 = proplists:get_value(body, Res2), + ?assertEqual(2, length(HeadParams1)), + ?assertEqual("ghi789", proplists:get_value("filename", HeadParams2)), + ?assertEqual("ghi789", proplists:get_value("name", HeadParams2)), + {Body1, Body2}. + +incomplete_head_list(_Config) -> + ?assertEqual({"sometext1\n", "sometext2\n"}, + test_incomplete_head_list(list)), + ok. + +incomplete_head_binary(_Config) -> + ?assertEqual({<<"sometext1\n">>, <<"sometext2\n">>}, + test_incomplete_head_list(binary)), + ok. + +boundary_markers(_Config) -> + Body = <<"------WebKitFormBoundaryUkx0KS47IKKfcF4z\r\n", + "Content-Disposition: form-data; name=upfile; filename=test.txt\r\n", + "Content-Type: text/plain\r\n", + "\r\n", + "Hello world\n", + "\r\n", + "------WebKitFormBoundaryUkx0KS47IKKfcF4z\r\n", + "Content-Disposition: form-data; name=note\r\n", + "\r\n", + "test\r\n", + "------WebKitFormBoundaryUkx0KS47IKKfcF4z--\r\n">>, + Results = lists:foldl(fun (N, {Ok, Errors, Done}) -> + <> = Body, + case boundary_marker_parse(BodyPart) of + {cont, _, _} -> + {Ok+1, Errors, Done}; + {result, _} -> + {Ok+1, Errors, Done+1}; + _ -> + {Ok, Errors+1, Done} + end + end, {0, 0, 0}, lists:seq(1, size(Body))), + ?assertMatch({_, 0, 1}, Results), + ok. + +boundary_marker_parse(Body) -> + Arg = #arg{headers=#headers{content_type="multipart/form-data; boundary=----WebKitFormBoundaryUkx0KS47IKKfcF4z"}, + req=#http_request{method='POST'}, + clidata=Body}, + yaws_api:parse_multipart_post(Arg). + +test_incomplete_boundary_list(Opt) -> + Data1 = list_to_binary( + ["--!!!\r\n", + "Content-Disposition: form-data; name=\"abc123\"; " + ++ "filename=\"abc123\"\r\n\r\n", + "sometext1\n\r\n--!!!"]), + A1 = mk_arg(Data1), + {cont, Cont1, Res1} = yaws_api:parse_multipart_post(A1, [Opt]), + Data2 = list_to_binary( + ["\r\nContent-Disposition: form-data; name=\"ghi789\"; " + ++ "filename=\"ghi789\"\r\n\r\n", + "sometext2\n\r\n--!!!"]), + A2 = A1#arg{cont = Cont1, clidata = Data2}, + {cont, Cont2, Res2} = yaws_api:parse_multipart_post(A2), + Data3 = <<"--\r\n">>, + A3 = A2#arg{cont = Cont2, clidata = Data3}, + ?assertMatch({result, []}, yaws_api:parse_multipart_post(A3)), + ?assertEqual(2, length(Res1)), + {"abc123", HeadParams1} = proplists:get_value(head, Res1), + Body1 = proplists:get_value(body, Res1), + ?assertEqual(2, length(HeadParams1)), + ?assertEqual("abc123", proplists:get_value("filename", HeadParams1)), + ?assertEqual("abc123", proplists:get_value("name", HeadParams1)), + ?assertEqual(2, length(Res2)), + {"ghi789", HeadParams2} = proplists:get_value(head, Res2), + Body2 = proplists:get_value(body, Res2), + ?assertEqual(2, length(HeadParams1)), + ?assertEqual("ghi789", proplists:get_value("filename", HeadParams2)), + ?assertEqual("ghi789", proplists:get_value("name", HeadParams2)), + {Body1, Body2}. + +incomplete_boundary_list(_Config) -> + ?assertEqual({"sometext1\n", "sometext2\n"}, + test_incomplete_boundary_list(list)), + ok. + +incomplete_boundary_binary(_Config) -> + ?assertEqual({<<"sometext1\n">>, <<"sometext2\n">>}, + test_incomplete_boundary_list(binary)), + ok. + +read_multipart_form_base(Opt) -> + {done, Dict} = yaws_multipart:read_multipart_form(mk_arg(data_to_parse()), + [no_temp_file, Opt]), + {ok, Params} = dict:find("abc123", Dict), + ?assertEqual("abc123", proplists:get_value("filename", Params)), + ?assertEqual("text/plain", proplists:get_value(content_type, Params)), + ?assertEqual("sampledata", proplists:get_value("test-header", Params)), + proplists:get_value(value, Params). + +read_multipart_form_list(_Config) -> + ?assertEqual("sometext\n", read_multipart_form_base(list)), + ok. + +read_multipart_form_binary(_Config) -> + ?assertEqual(<<"sometext\n">>, read_multipart_form_base(binary)), + ok. + +malformed_multipart_form(_Config) -> + Data1 = list_to_binary( + ["--!!!\r\n", + "Content-Disposition: form-data; name=\"abc123\"; " + ++ "filename=\"abc123\"\r\n\r\n", + "sometext\n\r\n--!!!Oops"]), + A1 = mk_arg(Data1), + ?assertEqual({error, malformed_multipart_post}, + yaws_api:parse_multipart_post(A1)), + Data2 = list_to_binary( + ["--!!!\r\n", + "Content-Disposition: form-data; name=\"abc123\"; " + ++ "filename=\"abc123\"\r\n", + "Invalid-Header\r\n\r\n" + "sometext\n\r\n--!!!"]), + A2 = mk_arg(Data2), + ?assertEqual({error, malformed_multipart_post}, + yaws_api:parse_multipart_post(A2)), + Req = #http_request{method = 'POST'}, + Hdrs1 = #headers{}, + Hdrs2 = #headers{content_type = "text/plain"}, + A3 = #arg{headers=Hdrs1, req=Req}, + ?assertEqual({error, no_content_type}, yaws_api:parse_multipart_post(A3)), + A4 = #arg{headers=Hdrs2, req=Req}, + ?assertEqual({error, no_multipart_form_data}, yaws_api:parse_multipart_post(A4)), + ok. + +escaped_data_to_parse(Name) -> + list_to_binary( + ["--!!!\r\n", + "Content-Disposition: form-data; name=\"" ++ Name ++ "\"\r\n\r\n" + "sometext\n\r\n--!!!--\r\n"]). + +get_unescaped_name(RawName) -> + Data = escaped_data_to_parse(RawName), + {result, Params} = yaws_api:parse_multipart_post(mk_arg(Data)), + ?assertEqual(2, length(Params)), + {Name, HeadParams} = proplists:get_value(head, Params), + ?assertEqual([{"name", Name}], HeadParams), + Name. + +return_error_file_path(_)-> + Data = <<"Hello world12313123132133423421341dda2341234123412341241241223412421adsfsdfasdfaaaaaaaaa\n">>, + Body = <<"------WebKitFormBoundaryUkx0KS47IKKfcF4z\r\n", + "Content-Disposition: form-data; name=upfile; filename=test.txt\r\n", + "\r\n", + Data/binary, + "\r\n", + "------WebKitFormBoundaryUkx0KS47IKKfcF4z\r\n", + "Content-Disposition: form-data; name=note\r\n", + "\r\n", + "testing\r\n", + "------WebKitFormBoundaryUkx0KS47IKKfcF4z--\r\n">>, + Arg = #arg{headers=#headers{content_type="multipart/form-data; boundary=----WebKitFormBoundaryUkx0KS47IKKfcF4z"}, + req=#http_request{method='POST'}, clidata=Body}, + MaxFileSize = byte_size(Data) div 2, + {error, Error} = yaws_multipart:read_multipart_form(Arg, [list, return_error_file_path, + {max_file_size, MaxFileSize}]), + {max_file_size_exceeded, _, FilePath} = Error, + FileSize = filelib:file_size(FilePath), + ?assert(FileSize < MaxFileSize). + +escaped_parse(_Config) -> + %% Support both escaped (Firefox, Opera) and unescaped (Konqueror) + %% quotation mark. + ?assertEqual("a\"b", get_unescaped_name("a\\\"b")), + ?assertEqual("a\"b", get_unescaped_name("a\"b")), + %% Do not decode "%22" (IE, Chrome), user must deal with ambiguity + %% himself. + ?assertEqual("a%22b", get_unescaped_name("a%22b")), + %% Support unescaped backslash (Firefox, Chrome, Konqueror, IE). + ?assertEqual("a\\b", get_unescaped_name("a\\b")), + ?assertEqual("a\\\\b", get_unescaped_name("a\\\\b")), + %% Support backslash at the end of name (for simple form values). + ?assertEqual("a\\", get_unescaped_name("a\\")), + ok. + +mk_arg(Data) -> + ContentType = "multipart/form-data; boundary=!!!", + Req = #http_request{method = 'POST'}, + Headers = #headers{content_type = ContentType}, + #arg{headers = Headers, req = Req, clidata = Data}. diff -Nru yaws-2.0.6+dfsg/testsuite/no_docroot_SUITE_data/templates/no_docroot_appmod.conf yaws-2.0.7+dfsg/testsuite/no_docroot_SUITE_data/templates/no_docroot_appmod.conf --- yaws-2.0.6+dfsg/testsuite/no_docroot_SUITE_data/templates/no_docroot_appmod.conf 1970-01-01 00:00:00.000000000 +0000 +++ yaws-2.0.7+dfsg/testsuite/no_docroot_SUITE_data/templates/no_docroot_appmod.conf 2019-07-14 13:01:11.000000000 +0000 @@ -0,0 +1,15 @@ +logdir = $logdir$ + +trace = false +copy_error_log = true +log_wrap_size = 1000000 +log_resolve_hostname = false +fail_on_bind_err = true +pick_first_virthost_on_nomatch = true +keepalive_timeout = 10000 + + + listen = 127.0.0.1 + port = $yaws_port1$ + appmods = <"/", app_module> + diff -Nru yaws-2.0.6+dfsg/testsuite/no_docroot_SUITE_data/templates/no_docroot_fwdproxy.conf yaws-2.0.7+dfsg/testsuite/no_docroot_SUITE_data/templates/no_docroot_fwdproxy.conf --- yaws-2.0.6+dfsg/testsuite/no_docroot_SUITE_data/templates/no_docroot_fwdproxy.conf 1970-01-01 00:00:00.000000000 +0000 +++ yaws-2.0.7+dfsg/testsuite/no_docroot_SUITE_data/templates/no_docroot_fwdproxy.conf 2019-07-14 13:01:11.000000000 +0000 @@ -0,0 +1,15 @@ +logdir = $logdir$ + +trace = false +copy_error_log = true +log_wrap_size = 1000000 +log_resolve_hostname = false +fail_on_bind_err = true +pick_first_virthost_on_nomatch = true +keepalive_timeout = 10000 + + + listen = 127.0.0.1 + port = $yaws_port1$ + fwdproxy = true + diff -Nru yaws-2.0.6+dfsg/testsuite/no_docroot_SUITE_data/templates/no_docroot_redirect.conf yaws-2.0.7+dfsg/testsuite/no_docroot_SUITE_data/templates/no_docroot_redirect.conf --- yaws-2.0.6+dfsg/testsuite/no_docroot_SUITE_data/templates/no_docroot_redirect.conf 1970-01-01 00:00:00.000000000 +0000 +++ yaws-2.0.7+dfsg/testsuite/no_docroot_SUITE_data/templates/no_docroot_redirect.conf 2019-07-14 13:01:11.000000000 +0000 @@ -0,0 +1,17 @@ +logdir = $logdir$ + +trace = false +copy_error_log = true +log_wrap_size = 1000000 +log_resolve_hostname = false +fail_on_bind_err = true +pick_first_virthost_on_nomatch = true +keepalive_timeout = 10000 + + + listen = 127.0.0.1 + port = $yaws_port1$ + + "/" == http://yaws.hyber.org/ + + diff -Nru yaws-2.0.6+dfsg/testsuite/no_docroot_SUITE_data/templates/no_docroot_revproxy.conf yaws-2.0.7+dfsg/testsuite/no_docroot_SUITE_data/templates/no_docroot_revproxy.conf --- yaws-2.0.6+dfsg/testsuite/no_docroot_SUITE_data/templates/no_docroot_revproxy.conf 1970-01-01 00:00:00.000000000 +0000 +++ yaws-2.0.7+dfsg/testsuite/no_docroot_SUITE_data/templates/no_docroot_revproxy.conf 2019-07-14 13:01:11.000000000 +0000 @@ -0,0 +1,15 @@ +logdir = $logdir$ + +trace = false +copy_error_log = true +log_wrap_size = 1000000 +log_resolve_hostname = false +fail_on_bind_err = true +pick_first_virthost_on_nomatch = true +keepalive_timeout = 10000 + + + listen = 127.0.0.1 + port = $yaws_port1$ + revproxy = "/" http://yaws.hyber.org + diff -Nru yaws-2.0.6+dfsg/testsuite/no_docroot_SUITE.erl yaws-2.0.7+dfsg/testsuite/no_docroot_SUITE.erl --- yaws-2.0.6+dfsg/testsuite/no_docroot_SUITE.erl 1970-01-01 00:00:00.000000000 +0000 +++ yaws-2.0.7+dfsg/testsuite/no_docroot_SUITE.erl 2019-07-14 13:01:11.000000000 +0000 @@ -0,0 +1,61 @@ +-module(no_docroot_SUITE). + +-include("testsuite.hrl"). + +-compile(export_all). + +all() -> + [ + no_docroot_revproxy, + no_docroot_fwdproxy, + no_docroot_redirect, + no_docroot_appmod + ]. + +groups() -> + [ + ]. + +%%==================================================================== +init_per_suite(Config) -> + Config. + +end_per_suite(_Config) -> + ok. + +init_per_group(_Group, Config) -> + Config. + +end_per_group(_Group, _Config) -> + ok. + +init_per_testcase(_Test, Config) -> + Config. + +end_per_testcase(_Test, _Config) -> + ok. + +%%==================================================================== +no_docroot_revproxy(_Config) -> + File = filename:join(?tempdir(?MODULE), "no_docroot_revproxy.conf"), + Env = #env{debug = false, conf = {file, File}}, + ?assertMatch({ok, _, _}, yaws_config:load(Env)), + ok. + +no_docroot_fwdproxy(_Config) -> + File = filename:join(?tempdir(?MODULE), "no_docroot_fwdproxy.conf"), + Env = #env{debug = false, conf = {file, File}}, + ?assertMatch({ok, _, _}, yaws_config:load(Env)), + ok. + +no_docroot_redirect(_Config) -> + File = filename:join(?tempdir(?MODULE), "no_docroot_redirect.conf"), + Env = #env{debug = false, conf = {file, File}}, + ?assertMatch({ok, _, _}, yaws_config:load(Env)), + ok. + +no_docroot_appmod(_Config) -> + File = filename:join(?tempdir(?MODULE), "no_docroot_appmod.conf"), + Env = #env{debug = false, conf = {file, File}}, + ?assertMatch({ok, _, _}, yaws_config:load(Env)), + ok. diff -Nru yaws-2.0.6+dfsg/testsuite/proc_cleanup_SUITE.erl yaws-2.0.7+dfsg/testsuite/proc_cleanup_SUITE.erl --- yaws-2.0.6+dfsg/testsuite/proc_cleanup_SUITE.erl 1970-01-01 00:00:00.000000000 +0000 +++ yaws-2.0.7+dfsg/testsuite/proc_cleanup_SUITE.erl 2019-07-14 13:01:11.000000000 +0000 @@ -0,0 +1,89 @@ +-module(proc_cleanup_SUITE). +-behaviour(supervisor). + +-include("testsuite.hrl"). + +-compile(export_all). + +%% Explicitly export supervisor's callback because of a "bug" in R15/16 +-export([init/1]). + + +all() -> + [ + proc_cleanup + ]. + + +groups() -> + [ + ]. + +%%==================================================================== +init_per_suite(Config) -> + Config. + +end_per_suite(_Config) -> + ok. + +init_per_group(_Group, Config) -> + Config. + +end_per_group(_Group, _Config) -> + ok. + +init_per_testcase(_Test, Config) -> + Config. + +end_per_testcase(_Test, _Config) -> + ok. + +%%==================================================================== +proc_cleanup(Config) -> + Old = get_processes(), + process_flag(trap_exit, true), + P = start_link(Config), + ?assert(is_process_alive(P)), + erlang:exit(P, kill), + timer:sleep(500), + ?assertEqual([], [Pid || Pid <- get_processes(), not lists:member(Pid, Old)]), + ok. + +start_link(Config) -> + Id = "yaws", + Docroot = ".", + Port = testsuite:get_yaws_port(1, Config), + GconfList = [{id, Id}], + SconfList = [{docroot, Docroot}, {port, Port}], + + %% load yaws application (required by yaws_api:embedded_start_conf) + case lists:keymember(yaws, 1, application:which_applications()) of + true -> ok = application:unload(yaws); + false -> ok + end, + ok = application:load(yaws), + {ok, SCList, GC, ChildSpecs} = yaws_api:embedded_start_conf(Docroot, + SconfList, + GconfList, Id), + + {ok, Pid} = supervisor:start_link(?MODULE, ChildSpecs), + + %% now configure Yaws + ok = yaws_api:setconf(GC, SCList), + Pid. + +init(ChildSpecs) -> + {ok, {{one_for_all, 10, 1}, ChildSpecs}}. + +get_processes() -> + [begin + InitCall = + case proc_lib:initial_call(X) of + false -> element(2, lists:keyfind(initial_call, 1, Data)); + {Module, Function, Args} -> {Module, Function, length(Args)} + end, + {X, InitCall} + end + || X <- processes(), + Data <- [process_info(X, [initial_call])], + Data =/= undefined]. diff -Nru yaws-2.0.6+dfsg/testsuite/README.md yaws-2.0.7+dfsg/testsuite/README.md --- yaws-2.0.6+dfsg/testsuite/README.md 1970-01-01 00:00:00.000000000 +0000 +++ yaws-2.0.7+dfsg/testsuite/README.md 2019-07-14 13:01:11.000000000 +0000 @@ -0,0 +1,751 @@ +# Overview + +Yaws testsuites use the +[Common Test](http://erlang.org/doc/apps/common_test/users_guide.html) framework +bundeled with the Erlang releases. + +All testsuites are placed in the directory `testsuite`. A test suite is +implemented as an Erlang module named `_SUITE.erl` which contains a +number of test cases. A test case is an Erlang function that tests one or more +things. + +To run it, you need to compile Yaws with the autotools. The command `make check` +should be used to run all tests. + +Log files generated by tests execution are placed in the directory +`testsuite/logs` directory. Global information about the last run are placed in +the file `testsuite/logs/yaws.log` and a summary is printed on the standard +output. + +# Running tests + +To run all tests, you should run: + +```bash +$> make check +``` + +This command will execute all tests, which can be quite long. When you write a +new testsuite/testcase or for debugging purpose, it could be handy to execute +some testsuites, skipping others. This can be done by defining `SUITES`, `GRPS` +or `CASES` variables. For example: + +```bash +$> make check SUITES="name1_SUITE name2_SUITE" +$> make check SUITES="name_SUITE" GRPS="group1 group2" +$> make check SUITES="name_SUITE" GRPS="group" CASES="testcase1 testcase2" +``` + +Defining `SUITES` variable, you can choose to execute one or more +testsuites. You must use Erlang module name of the testsuites, without the +`.erl` extension. Testcases inside a testsuite can be grouped. This is not +mandatory, but when appropriate, you can be interested to not execute all +groups. To do so, you must define `GRPS` variable. In the same way, you can also +choose to not execute all testcases of a testsuite. This can be done by defining +`CASES` variable. To choose groups or testcases, the testsuite must be +defined. If testcases of a testsuite are grouped, the corresponding group must +be specified to choose testcases inside a testsuite. if `SUITES` variable is +undefined or contains more than one name, `GRPS` and `CASES` are ignored. And if +`GRPS` variable contains more than on name, `CASES` are ignored. + +# Analyzing results + +When the execution of the test suites proceeds, information are logged in three +different way: + +* On the console, a summary about the execution is logged. You will find the + status of each testcase (`OK`, `KO` or `SKIPPED`), the execution result of + each testsuite and finally the result of the run. + +* in the file `testsuite/logs/yaws.log`. You will find global information in + this file. When a failure occurs, the first thing to do is to look inside. + +* In the HTML report. All runs executed are listed in the file + `testsuite/logs/all_runs.html` and direct links to all tests (the latest + results) are written to the top-level `testsuite/logs/index.html`. + +# Code coverage analysis + +It is possible to enable code coverage analysis by setting `USE_COVER` variable +to `yes`: + +```bash +$> make check USE_COVER=yes +``` + +The code coverage report is written in the file `testsuite/logs/cover.html`. + +# Debugging + +## Debugging testsuites + +When you write a testsuite or when an error occurs, it could by handy to execute +tests step-by-step with the Erlang +[Debugger](http://erlang.org/doc/apps/debugger/users_guide.html). To do so, you +must set `USE_DEBUGGER` variable to `yes`. This enables the Debugger auto-attach +feature of the Common Test framework, which means that for every new interpreted +test case function that starts to execute, a new trace window automatically pops +up. + +## Trace code execution + +Another way to find a bug is to trace function calls. To do so, you must define +`TRACES` variable using the following format: + +```erlang +TRACES ::= "[PATTERN,...]" +PATTERN ::= Module | {Module, Function} | {Module, Function, Artiy} +``` + +For example: + +```bash +$> make check SUITES="auth_SUITE" TRACES="[{yaws_server, is_auth, 2}, {yaws_server, handle_auth}, yaws_outmod]" +``` + +Traces are dumped in testsuites/testcases logs in the HTML reports. Tracing +function calls can be expensive. So it important to reduce its scope as much as +possible by selecting the rigth testsuite/testcase. + + +# Writting a testsuite + +Here, we assume that you know Erlang and you are familiar with the Common Test +framework. + +## Testsuites organization + +Testsuites must be written in the directory `testsuite` and must be named using +the format `_SUITE.erl`. Data associated to this testsuite, if any, +must be placed in the directory `testsuite/_SUITE_data`. If you +need to use custom Erlang modules (appmod, runmod or anything else), it must be +placed directly in the testsuite date directory. These modules will be compiled +automatically. Template files (like the yaws configuration used by your +testsuite) that requires variables substitution (see +[Template files and variables substitution](#template-files-and-variables-substitution)) +must be placed in the directory +`testsuite/_SUITE_data/templates`. And finally, temporary files must +be placed in the directory `testsuite/_SUITE_data/temp`. Note this +directory will be automatically created and it will be removed with a `make +clean`. + +So here is a typical organisation for a testsuite: + +```plain +testsuite +├── _SUITE.erl +└── _SUITE_data + ├── temp # automatically created + │ └── yaws.conf # generated during the variables substitution + │ └── tmp_file1 # created by the testsuite + │ └── tmp_file2 # created by the testsuite + ├── templates + │ └── yaws.conf + ├── my_appmod.erl + ├── other_module.erl + └── some_permanent_file1 + └── some_permanent_file2 +``` + +## Testsuite skeleton + +Here is a basic skeleton that can be used to write new testsuites. You can +refine it, depending on you needs : + +```erlang +-module(suite_name_SUITE). + +-include("testsuite.hrl"). +-include_lib("kernel/include/file.hrl"). + +-compile(export_all). + + +%%==================================================================== +%% Common test callback functions +%%==================================================================== + +%% For details about testcases and group declarations see Common Test +%% documentation. +%% (http://erlang.org/doc/apps/common_test/write_test_chapter.html) + +%%-------------------------------------------------------------------- +%% Function: all() -> GroupsAndTestCases | {skip,Reason} +%% +%% GroupsAndTestCases = [{group,GroupName} | TestCase] +%% GroupName = atom() +%% Name of a test case group. +%% TestCase = atom() +%% Name of a test case. +%% Reason = term() +%% The reason for skipping all groups and test cases. +%% +%% Description: Returns the list of groups and test cases that +%% are to be executed. +%%-------------------------------------------------------------------- +all() -> + [my_test_case]. + +%%-------------------------------------------------------------------- +%% Function: groups() -> [Group] +%% +%% Group = {GroupName,Properties,GroupsAndTestCases} +%% GroupName = atom() +%% The name of the group. +%% Properties = [Shuffle | {RepeatType,N}] +%% Group properties that may be combined. +%% GroupsAndTestCases = [Group | {group,GroupName} | TestCase] +%% TestCase = atom() +%% The name of a test case. +%% Shuffle = shuffle | {shuffle,Seed} +%% To get cases executed in random order. +%% Seed = {integer(),integer(),integer()} +%% RepeatType = repeat | repeat_until_all_ok | repeat_until_all_fail | +%% repeat_until_any_ok | repeat_until_any_fail +%% To get execution of cases repeated. +%% N = integer() | forever +%% +%% Description: Returns a list of test case group definitions. +%%-------------------------------------------------------------------- +groups() -> + []. + +%%-------------------------------------------------------------------- +%% Function: init_per_suite(Config0) -> +%% Config1 | {skip,Reason} | {skip_and_save,Reason,Config1} +%% +%% Config0 = Config1 = [tuple()] +%% A list of key/value pairs, holding the test case configuration. +%% Reason = term() +%% The reason for skipping the suite. +%% +%% Description: Initialization before the suite. +%% +%% Note: This function is free to add any key/value pairs to the Config +%% variable, but should NOT alter/remove any existing entries. +%%-------------------------------------------------------------------- +init_per_suite(Config) -> + Config. + +%%-------------------------------------------------------------------- +%% Function: end_per_suite(Config0) -> term() | {save_config,Config1} +%% +%% Config0 = Config1 = [tuple()] +%% A list of key/value pairs, holding the test case configuration. +%% +%% Description: Cleanup after the suite. +%%-------------------------------------------------------------------- +end_per_suite(_Config) -> + ok. + +%%-------------------------------------------------------------------- +%% Function: init_per_group(GroupName, Config0) -> +%% Config1 | {skip,Reason} | {skip_and_save,Reason,Config1} +%% +%% GroupName = atom() +%% Name of the test case group that is about to run. +%% Config0 = Config1 = [tuple()] +%% A list of key/value pairs, holding configuration data for the group. +%% Reason = term() +%% The reason for skipping all test cases and subgroups in the group. +%% +%% Description: Initialization before each test case group. +%%-------------------------------------------------------------------- +init_per_group(_Group, Config) -> + Config. + +%%-------------------------------------------------------------------- +%% Function: end_per_group(GroupName, Config0) -> +%% term() | {save_config,Config1} +%% +%% GroupName = atom() +%% Name of the test case group that is finished. +%% Config0 = Config1 = [tuple()] +%% A list of key/value pairs, holding configuration data for the group. +%% +%% Description: Cleanup after each test case group. +%%-------------------------------------------------------------------- +end_per_group(_Group, _Config) -> + ok. + +%%-------------------------------------------------------------------- +%% Function: init_per_testcase(TestCase, Config0) -> +%% Config1 | {skip,Reason} | {skip_and_save,Reason,Config1} +%% +%% TestCase = atom() +%% Name of the test case that is about to run. +%% Config0 = Config1 = [tuple()] +%% A list of key/value pairs, holding the test case configuration. +%% Reason = term() +%% The reason for skipping the test case. +%% +%% Description: Initialization before each test case. +%% +%% Note: This function is free to add any key/value pairs to the Config +%% variable, but should NOT alter/remove any existing entries. +%%-------------------------------------------------------------------- +init_per_testcase(_Test, Config) -> + Config. + +%%-------------------------------------------------------------------- +%% Function: end_per_testcase(TestCase, Config0) -> +%% term() | {save_config,Config1} | {fail,Reason} +%% +%% TestCase = atom() +%% Name of the test case that is finished. +%% Config0 = Config1 = [tuple()] +%% A list of key/value pairs, holding the test case configuration. +%% Reason = term() +%% The reason for failing the test case. +%% +%% Description: Cleanup after each test case. +%%-------------------------------------------------------------------- +end_per_testcase(_Test, _Config) -> + ok. + +%%==================================================================== +%% Write your testcases here +%%==================================================================== + +%%-------------------------------------------------------------------- +%% Function: TestCase() -> Info +%% +%% Info = [tuple()] +%% List of key/value pairs. +%% +%% Description: Test case info function - returns list of tuples to set +%% properties for the test case. +%% +%% Note: This function is only meant to be used to return a list of +%% values, not perform any other operations. +%%-------------------------------------------------------------------- +my_test_case() -> + []. + +%%-------------------------------------------------------------------- +%% Function: TestCase(Config0) -> +%% ok | exit() | {skip,Reason} | {comment,Comment} | +%% {save_config,Config1} | {skip_and_save,Reason,Config1} +%% +%% Config0 = Config1 = [tuple()] +%% A list of key/value pairs, holding the test case configuration. +%% Reason = term() +%% The reason for skipping the test case. +%% Comment = term() +%% A comment about the test case that will be printed in the html log. +%% +%% Description: Test case function. (The name of it must be specified in +%% the all/0 list or in a test case group for the test case +%% to be executed). +%%-------------------------------------------------------------------- +my_test_case(_Config) -> + ok. +``` +**NOTE: For now, testcases cannot be run in parallel** + +When a testsuite starts, its temporary directory is created and template files +are parsed. When it ends, we stop and unload `yaws` application, if needed to +avoid any conflict with other testsuites. + +## Template files and variables substitution + +Because many information depend on your configuration, like paths, it is +convenient to have templates where predefined variables will be substituted +during testsuite execution. This is especially true for yaws configurations. So +you can write template files in the directory +`testsuite/_SUITE_data/templates`. All files in this directory will +be parsed when the testsuite starts and all known variables will be +substituted. Generated files will be written in the directory +`testsuite/_SUITE_data/temp`, using the same filename. + +Here is the list of substituted variables: + +* `$top_srcdir$`: The absolute path of the top-level source code directory. +* `$top_builddir$`: The absolute path of the top level of the current build tree. +* `$srcdir$`: The path `$top_srcdir$/src`. +* `$ebindir$`: The path `$top_builddir$/ebin`. +* `$ts_srcdir$`: The path `$top_srcdir$/testsuite`. +* `$ts_builddir$`: The path `$top_builddir$/testsuite`. +* `$wwwdir$`: The path `$top_srcdir$/www`. +* `$ssldir$`: The path `$top_srcdir$/ssl`. +* `$sslkeyfile$`: The path `$top_srcdir$/ssl/yaws-key.pem`. +* `$sslcertfile$`: The path `$top_srcdir$/ssl/yaws-cert.pem`. +* `$data_srcdir$`: The path `$ts_srcdir$/_SUITE_data`. +* `$data_builddir$`: The path `$ts_builddir$/_SUITE_data`. +* `$templatedir$`: The path `$data_srcdir$/templates`. +* `$tempdir$`: The path `$data_builddir$/temp`. +* `$logdir$`: The private direcotry of the testsuite. It is equivalent to + `?config(priv_dir, Config)`. +* `$yaws_port[1-20]$`: Reserved ports that can be used to configure Yaws. + +All these variables are also available from your Erlang module using macros for +many of them. See `testsuite/testsuite.hrl.in` file for details. There are only +`$logdir$` and `$yaws_port[1-20]$` that require a function call: + +* To get the log directory in your testsuite, you should use `?config(priv_dir, + Config)`. +* To get a reserved port number you should use the call + `testsuite:get_yaws_config(N, Config)`. + +Here is an example of a templatized Yaws configuration: + +```apacheconf +logdir = $logdir$ + +ebin_dir = $data_builddir$ + +trace = false +copy_error_log = true +log_wrap_size = 1000000 +log_resolve_hostname = false +fail_on_bind_err = true +pick_first_virthost_on_nomatch = true +keepalive_timeout = 10000 + + + listen = 127.0.0.1 + port = $yaws_port1$ + deflate = true + auth_log = true + docroot = $data_srcdir$/www $tempdir$/www + + + + listen = 127.0.0.1 + port = $yaws_port2$ + docroot = $wwwdir$ + + keyfile = $sslkeyfile$ + certfile = $sslcertfile$ + depth = 0 + + +``` + +## Yaws testsuite API + +The module `testsuite/testsuite.erl` is used as a +[Common Test Hook](http://erlang.org/doc/apps/common_test/ct_hooks_chapter.html) +module to instrument testsuite executions. But it also provides an API to help +you writing testcases. + +### testsuite:create_dir/1 + +```erlang +create_dir(Dir) -> ok | {error, Reason} when + Dir :: file:name_all(), + Reason :: any(). +``` + +Ensures a directory exsit and creates it and all its parent, if necessary. If +the direcory exists or if it is successfully created, the function returns +`ok`. Otherwise it returns `{error, Reason}`. + +### testsuite:get_yaws_port/2 + +```erlang +get_yaws_port(N, Config) -> PortNum when + N :: pos_integer(), %% must be in the range [1, 20] + Config :: [tuple()], %% Provided by the Common Test framework + PortNum :: inet:port_number(). +``` + +Returns the reserved port corresponding to the number `N`. + +### testsuite:add_yaws_server/2 + +```erlang +add_yaws_server(Docroot, SL) -> {ok, SConf} when + Docroot :: string(), + SL :: [tuple()], + SConf :: #sconf{}. +``` + +Adds a new server into the running instance of Yaws. This function returns the +computed configuration. This is equivalent to do `yaws:add_server(Docroot, +SL)`. To succeed, Yaws should have been previously started. + + +### testsuite:delete_yaws_server/1 + +```erlang +delete_yaws_server(SConf) -> ok when + SConf :: #sconf{}. +``` + +Removes a server from the running instance of Yaws. The server configuration +must be used to find the right server. This is equivalent to do +`yaws_config:delete_sconf(Sconf)`. To succeed, Yaws should have been previously +started. + +### testsuite:reset_yaws_servers/0 + +```erlang +reset_yaws_servers() -> ok | {error, Reason} when + Reason :: any(). +``` + +Removes all servers from the running instance of Yaws. This is equivalent to do +`yaws_api:setconf(GConf, [])`, where the global configuration is retrieved +calling `yaws_api:getconf/0`. To succeed, Yaws should have been previously +started. + +### testsuite:yaws_servers/0 + +```erlang +yaws_servers() -> [{IP, Port, VHost, SConf}] when + IP :: inet:ip_address(), + Port :: inet:port_number(), + VHost :: string(), + SConf :: #sconf{}. +``` + +Retrieves all servers hosted by the running instance of Yaws. To succeed, Yaws +should have been previously started. + + +### testsuite:make_url/4 + +```erlang +make_url(Scheme, Host, Port, Path) -> Url when + Scheme :: http | https || string(), + Host :: string(), + Port :: inet:port_number(), + Path :: string(), + Url :: string(). +``` + +Builds an absolute URL from its parts. + +### testsuite:receive_http_headers/1 + +```erlang +receive_http_headers(Sock) -> {ok, Result} | {error, Reason} when + Sock :: inet:socket() | ssl:socket(), + Result :: {StatusLine, Headers}, + StatusLine :: {Vsn, Code, ReasonPhrase}, + Headers :: [{Name, Value}], + Vsn :: string(), %% "HTTP/X.Y", + Code :: integer(), + ReasonPhrase :: string(), + Name :: string(), + Value :: string(), + Reason :: any(). +``` + +Reads the status lust and all the headers of a HTTP response. To succeed, a +request should have been previously sent. + +### testsuite:receive_http_body/2 + +```erlang +receive_http_body(Sock, Length) -> {ok, Body} | {error, Reaosn} when + Sock :: inet:socket() | ssl:socket(), + Length :: undefined | pos_integer(), + Body :: binary(), + Reason :: any(). +``` + +Reads the all the body of the HTTP response. To succeed, a request should have +been previously sent. If `Length` is set to `undefined`, then the body is read +until the socket is closed. Else the `Length` value is supposed to be extracted +from the `Content-Lengh` header of the response. For chunked transfer encoding +body, use `receive_http_chunked_body/1`. + +### testsuite:receive_http_chunked_body/1 + +```erlang +receive_chunked_http_body(Sock) -> {ok, Body} | {error, Reaosn} when + Sock :: inet:socket() | ssl:socket(), + Body :: Data | {Data, Trailers}, + Data :: binary(), + Trailers :: [{Name, Value}], + Name :: string(), + Value :: string(), + Reason :: any(). +``` + +Reads the all chunks of the HTTP response body. The response is supposed to be +chunked encoded. To succeed, a request should have been previously sent. + +### testsuite:receive_http_response/{1,2,3} + +```erlang +receive_http_response(Sock) -> receive_http_response(unknown, Sock, infinity). +receive_http_response(Meth, Sock) -> receive_http_response(Meth, Sock, infinity). + +receive_http_response(Meth, Sock, Tout) -> {ok, Result} | {error, Reason} when + Sock :: inet:socket() | ssl:socket(), + Meth :: head | get | put | post | trace | options | delete | atom(), + Tout :: infinity | pos_integer(), + Result :: {StatusLine, Headers, Body}, + StatusLine :: {Vsn, Code, ReasonPhrase}, + Headers :: [{Name, Value}], + Body :: Data | {Data, Trailers}, + Vsn :: string(), %% "HTTP/X.Y", + Code :: integer(), + ReasonPhrase :: string(), + Name :: string(), + Value :: string(), + Data :: binary(), + Trailers :: [{Name, Value}], + Reason :: any(). +``` + +Reads a full HTTP response. To succeed, a request should have been previously +sent. + +### testsuite:send_http_headers/3 + +```erlang +send_http_headers(Sock, Req, Headers) -> ok | {error, Reason} when + Sock :: inet:socket() | ssl:socket(), + Req :: {Meth, Path, Vsn} | string(), + Headers :: [{Name, Value}], + Meth :: head | get | put | post | trace | options | delete | atom(), + Path :: string(), + Vsn :: string(), %% "HTTP/X.Y" + Name :: string(), + Value :: string(), + Reason :: any(). +``` + +Sends the request line and all headers of a HTTP request. + +### testsuite:send_http_body/2 + +```erlang +send_http_body(Sock, Body) -> ok | {error, Reason} when + Sock :: inet:socket() | ssl:socket(), + Body :: iolist() | {chunks, iolist()} | {Process, Acc} | {chunkify, Process, Acc}, + Process :: fun(Acc) -> eof | {ok, iolist(), Acc} | {error, Reason}, + Acc :: any(), + Reason :: any(). +``` + +Sends the body of a HTTP request. + +### testsuite:send_http_request/{3,4} + +```erlang +send_http_request(Sock, Req, Headers) -> send_http_request(Sock, Req, Headers, <<>>). + +send_http_request(Sock, Req, Headers, Body) -> ok | {error, Reason} when + Sock :: inet:socket() | ssl:socket(), + Req :: {Meth, Path, Vsn} | string(), + Headers :: [{Name, Value}], + Body :: iolist() | {chunks, iolist()} | {Process, Acc} | {chunkify, Process, Acc}, + Meth :: head | get | put | post | trace | options | delete | atom(), + Path :: string(), + Vsn :: string(), %% "HTTP/X.Y" + Name :: string(), + Value :: string(), + Process :: fun(Acc) -> eof | {ok, iolist(), Acc} | {error, Reason}, + Acc :: any(), + Reason :: any(). +``` + +Sends a full HTTP request. + +### testsuite:http_get/{1,2,3,4} + +```erlang +http_get(Url) -> http_get(Url, [], [], []). +http_get(Url, Headers) -> http_get(Url, Headers, [], []). +http_get(Url, Headers, HttpOpts) -> http_get(Url, Headers, HttpOpts, []). + +http_get(Url, Headers, HttpOpts, SockOpts) -> {ok, Result} | {error, Reason} when + Url :: string(), %% "scheme://host:port/path?QS", + Headers :: [{Name, Value}], + HttpOpts :: [HttpOpt], + SockOpts :: gen_tcp:connect_option() | ssl:socket_option(), + Name :: string(), + Value :: string(), + HttpOpt :: {connect_timeout, pos_integer() | infinity} + | {timeout, pos_integer() | infinity} + | {proxy, {PHost, PPort}} + | {version, string()}, %% "HTTP/X.Y" + PHost :: string(), + PPort :: inet:port_number(), + Reason :: any(). +``` + +Sends a HTTP request using the `GET` Method, and returns the corrsponding HTTP +response. + +### testsuite:http_post/{2,3,4,5} + +```erlang +http_post(Url, {CT, Body}) -> http_post(Url, [], {CT, Body}, [], []). +http_post(Url, Headers, {CT, Body}) -> http_post(Url, Headers, {CT, Body}, [], []). +http_post(Url, Headers, {CT, Body}, HttpOpts) -> http_post(Url, Headers, {CT, Body}, HttpOpts, []). + +http_post(Url, Headers, {CT, Body}, HttpOpts, SockOpts) -> {ok, Result} | {error, Reason} when + Url :: string(), %% "scheme://host:port/path?QS", + Headers :: [{Name, Value}], + CT :: string(), + Body :: iolist() | {chunks, iolist()} | {Process, Acc} | {chunkify, Process, Acc}, + HttpOpts :: [HttpOpt], + SockOpts :: gen_tcp:connect_option() | ssl:socket_option(), + Name :: string(), + Value :: string(), + Process :: fun(Acc) -> eof | {ok, iolist(), Acc} | {error, Reason}, + Acc :: any(), + HttpOpt :: {connect_timeout, pos_integer() | infinity} + | {timeout, pos_integer() | infinity} + | {proxy, {PHost, PPort}} + | {version, string()}, %% "HTTP/X.Y" + PHost :: string(), + PPort :: inet:port_number(), + Reason :: any(). +``` + +Sends a HTTP request using the `POST` Method, and returns the corrsponding HTTP +response. + +### testsuite:http_req/{2,3,4,5,6} + +```erlang +http_req(Meth, Url) -> http_req(Meth, Url, [], <<>>, [], []). +http_req(Meth, Url, Headers) -> http_req(Meth, Url, Headers, <<>>, [], []). +http_req(Meth, Url, Headers, Body) -> http_req(Meth, Url, Headers, Body, [], []). +http_req(Meth, Url, Headers, Body, HttpOpts) -> http_req(Meth, Url, Headers, Body, HttpOpts, []). + +http_req(Meth, Url, Headers, Body, HttpOpts, SockOpts) -> {ok, Result} | {error, Reason} when + Meth :: head | get | put | post | trace | options | delete | atom(), + Url :: string(), %% "scheme://host:port/path?QS", + Headers :: [{Name, Value}], + Body :: iolist() | {CT, Data}, + HttpOpts :: [HttpOpt], + SockOpts :: gen_tcp:connect_option() | ssl:socket_option(), + Name :: string(), + Value :: string(), + CT :: string(), + Data :: iolist() | {chunks, iolist()} | {Process, Acc} | {chunkify, Process, Acc}, + Process :: fun(Acc) -> eof | {ok, iolist(), Acc} | {error, Reason}, + Acc :: any(), + HttpOpt :: {connect_timeout, pos_integer() | infinity} + | {timeout, pos_integer() | infinity} + | {proxy, {PHost, PPort}} + | {version, string()}, %% "HTTP/X.Y" + PHost :: string(), + PPort :: inet:port_number(), + Reason :: any(). + +``` + +Sends a HTTP request and returns the corresponding HTTP response. + +### testsuite:post_file/1 + +```erlang +post_file(Acc) -> Result when + Acc :: {File, MaxSz}, + Result :: eof | {ok, iolist(), Acc} | {error, Reason}, + File :: file:name_all(), + MaxSz :: non_neg_integer(), + Reason :: any(). +``` + +A body processor function that could be used in previous functions to send a +file as the request body. diff -Nru yaws-2.0.6+dfsg/testsuite/redirect_SUITE_data/bad_redirect1.conf yaws-2.0.7+dfsg/testsuite/redirect_SUITE_data/bad_redirect1.conf --- yaws-2.0.6+dfsg/testsuite/redirect_SUITE_data/bad_redirect1.conf 1970-01-01 00:00:00.000000000 +0000 +++ yaws-2.0.7+dfsg/testsuite/redirect_SUITE_data/bad_redirect1.conf 2019-07-14 13:01:11.000000000 +0000 @@ -0,0 +1,5 @@ + + + /bad_redirect = + + diff -Nru yaws-2.0.6+dfsg/testsuite/redirect_SUITE_data/bad_redirect2.conf yaws-2.0.7+dfsg/testsuite/redirect_SUITE_data/bad_redirect2.conf --- yaws-2.0.6+dfsg/testsuite/redirect_SUITE_data/bad_redirect2.conf 1970-01-01 00:00:00.000000000 +0000 +++ yaws-2.0.7+dfsg/testsuite/redirect_SUITE_data/bad_redirect2.conf 2019-07-14 13:01:11.000000000 +0000 @@ -0,0 +1,5 @@ + + + /bad_redirect = 301 + + diff -Nru yaws-2.0.6+dfsg/testsuite/redirect_SUITE_data/bad_redirect3.conf yaws-2.0.7+dfsg/testsuite/redirect_SUITE_data/bad_redirect3.conf --- yaws-2.0.6+dfsg/testsuite/redirect_SUITE_data/bad_redirect3.conf 1970-01-01 00:00:00.000000000 +0000 +++ yaws-2.0.7+dfsg/testsuite/redirect_SUITE_data/bad_redirect3.conf 2019-07-14 13:01:11.000000000 +0000 @@ -0,0 +1,5 @@ + + + /bad_redirect = 404 http://yaws.hyber.org + + diff -Nru yaws-2.0.6+dfsg/testsuite/redirect_SUITE_data/bad_redirect4.conf yaws-2.0.7+dfsg/testsuite/redirect_SUITE_data/bad_redirect4.conf --- yaws-2.0.6+dfsg/testsuite/redirect_SUITE_data/bad_redirect4.conf 1970-01-01 00:00:00.000000000 +0000 +++ yaws-2.0.7+dfsg/testsuite/redirect_SUITE_data/bad_redirect4.conf 2019-07-14 13:01:11.000000000 +0000 @@ -0,0 +1,5 @@ + + + /bad_redirect = 601 + + diff -Nru yaws-2.0.6+dfsg/testsuite/redirect_SUITE_data/templates/yaws.conf yaws-2.0.7+dfsg/testsuite/redirect_SUITE_data/templates/yaws.conf --- yaws-2.0.6+dfsg/testsuite/redirect_SUITE_data/templates/yaws.conf 1970-01-01 00:00:00.000000000 +0000 +++ yaws-2.0.7+dfsg/testsuite/redirect_SUITE_data/templates/yaws.conf 2019-07-14 13:01:11.000000000 +0000 @@ -0,0 +1,41 @@ +logdir = $logdir$ + +trace = false +copy_error_log = true +log_wrap_size = 1000000 +log_resolve_hostname = false +fail_on_bind_err = true +pick_first_virthost_on_nomatch = true +keepalive_timeout = 10000 + + + listen = 127.0.0.1 + port = $yaws_port1$ + listen_backlog = 512 + deflate = false + docroot = $data_srcdir$/www + partial_post_size = 5 + + + /default_redirect1 = /redir + /default_redirect2 == /redir + /default_redirect3 = http://yaws.hyber.org + /default_redirect4 == http://yaws.hyber.org + + /301_redirect1 = 301 /redir + /301_redirect2 == 301 /redir + /301_redirect3 = 301 http://yaws.hyber.org + /301_redirect4 == 301 http://yaws.hyber.org + + /404_redirect1 = 404 + /404_redirect2 == 404 + /404_redirect3 = 404 /error404.yaws + /404_redirect4 == 404 /error404.yaws + + "/redirect%3Furl%3Fencode1" = "/redir%3F" + "/redirect%3Furl%3Fencode2" == "/redir%3F" + + /post_redirect1 == 302 /test/index.yaws + /post_redirect2 == 200 /test/index.yaws + + diff -Nru yaws-2.0.6+dfsg/testsuite/redirect_SUITE_data/www/error404.yaws yaws-2.0.7+dfsg/testsuite/redirect_SUITE_data/www/error404.yaws --- yaws-2.0.6+dfsg/testsuite/redirect_SUITE_data/www/error404.yaws 1970-01-01 00:00:00.000000000 +0000 +++ yaws-2.0.7+dfsg/testsuite/redirect_SUITE_data/www/error404.yaws 2019-07-14 13:01:11.000000000 +0000 @@ -0,0 +1,5 @@ + +out(Arg) -> + {abs_path, Path} = (Arg#arg.req)#http_request.path, + {content, "text/plain", Path}. + diff -Nru yaws-2.0.6+dfsg/testsuite/redirect_SUITE_data/www/test/index.yaws yaws-2.0.7+dfsg/testsuite/redirect_SUITE_data/www/test/index.yaws --- yaws-2.0.6+dfsg/testsuite/redirect_SUITE_data/www/test/index.yaws 1970-01-01 00:00:00.000000000 +0000 +++ yaws-2.0.7+dfsg/testsuite/redirect_SUITE_data/www/test/index.yaws 2019-07-14 13:01:11.000000000 +0000 @@ -0,0 +1,17 @@ + +out(Arg) -> + case Arg#arg.clidata of + undefined -> + {html, "no data"}; + {partial, Bin} -> + case Arg#arg.cont of + undefined -> {get_more, [Bin], Arg#arg.state}; + Cont -> {get_more, [Bin|Cont], Arg#arg.state} + end; + Bin -> + case Arg#arg.cont of + undefined -> {content, "text/plain", Bin}; + Cont -> {content, "text/plain", lists:reverse([Bin|Cont])} + end + end. + diff -Nru yaws-2.0.6+dfsg/testsuite/redirect_SUITE.erl yaws-2.0.7+dfsg/testsuite/redirect_SUITE.erl --- yaws-2.0.6+dfsg/testsuite/redirect_SUITE.erl 1970-01-01 00:00:00.000000000 +0000 +++ yaws-2.0.7+dfsg/testsuite/redirect_SUITE.erl 2019-07-14 13:01:11.000000000 +0000 @@ -0,0 +1,263 @@ +-module(redirect_SUITE). + +-include("testsuite.hrl"). + +-compile(export_all). + +all() -> + [ + redirect_default, + redirect_301, + redirect_404, + redirect_url_encode, + redirect_querystring, + redirect_post, + bad_redirect + ]. + +groups() -> + [ + ]. + +%%==================================================================== +init_per_suite(Config) -> + Id = "testsuite-server", + YConf = filename:join(?tempdir(?MODULE), "yaws.conf"), + application:load(yaws), + application:set_env(yaws, id, Id), + application:set_env(yaws, conf, YConf), + ok = yaws:start(), + [{yaws_id, Id}, {yaws_config, YConf} | Config]. + +end_per_suite(_Config) -> + ok = application:stop(yaws), + ok = application:unload(yaws), + ok. + +init_per_group(_Group, Config) -> + Config. + +end_per_group(_Group, _Config) -> + ok. + +init_per_testcase(_Test, Config) -> + Config. + +end_per_testcase(_Test, _Config) -> + ok. + +%%==================================================================== +redirect_default(Config) -> + Port = testsuite:get_yaws_port(1, Config), + Url1 = testsuite:make_url(http, "127.0.0.1", Port, "/default_redirect1/index.html"), + Url2 = testsuite:make_url(http, "127.0.0.1", Port, "/default_redirect2/index.html"), + Url3 = testsuite:make_url(http, "127.0.0.1", Port, "/default_redirect3/index.html"), + Url4 = testsuite:make_url(http, "127.0.0.1", Port, "/default_redirect4/index.html"), + + %% /default_redirect1 -> /redir (relative-url + append) + {ok, {{_,302,_}, Hdrs1, _}} = testsuite:http_get(Url1), + ?assertEqual(testsuite:make_url(http, "127.0.0.1", Port, "/redir/default_redirect1/index.html"), + proplists:get_value("location", Hdrs1)), + + %% /default_redirect2 -> /redir (relative-url + noappend) + {ok, {{_,302,_}, Hdrs2, _}} = testsuite:http_get(Url2), + ?assertEqual(testsuite:make_url(http, "127.0.0.1", Port, "/redir"), + proplists:get_value("location", Hdrs2)), + + %% /default_redirect3 -> http://yaws.hyber.org (absolute-url + append) + {ok, {{_,302,_}, Hdrs3, _}} = testsuite:http_get(Url3), + ?assertEqual("http://yaws.hyber.org/default_redirect3/index.html", + proplists:get_value("location", Hdrs3)), + + %% /default_redirect4 -> http://yaws.hyber.org (absolute-url + noappend) + {ok, {{_,302,_}, Hdrs4, _}} = testsuite:http_get(Url4), + ?assertEqual("http://yaws.hyber.org/", + proplists:get_value("location", Hdrs4)), + ok. + +redirect_301(Config) -> + Port = testsuite:get_yaws_port(1, Config), + Url1 = testsuite:make_url(http, "127.0.0.1", Port, "/301_redirect1/index.html"), + Url2 = testsuite:make_url(http, "127.0.0.1", Port, "/301_redirect2/index.html"), + Url3 = testsuite:make_url(http, "127.0.0.1", Port, "/301_redirect3/index.html"), + Url4 = testsuite:make_url(http, "127.0.0.1", Port, "/301_redirect4/index.html"), + + %% /301_redirect1 -> /redir (relative-url + append) + {ok, {{_,301,_}, Hdrs1, _}} = testsuite:http_get(Url1), + ?assertEqual(testsuite:make_url(http, "127.0.0.1", Port, "/redir/301_redirect1/index.html"), + proplists:get_value("location", Hdrs1)), + + %% /301_redirect2 -> /redir (relative-url + noappend) + {ok, {{_,301,_}, Hdrs2, _}} = testsuite:http_get(Url2), + ?assertEqual(testsuite:make_url(http, "127.0.0.1", Port, "/redir"), + proplists:get_value("location", Hdrs2)), + + %% /301_redirect3 -> http://yaws.hyber.org (absolute-url + append) + {ok, {{_,301,_}, Hdrs3, _}} = testsuite:http_get(Url3), + ?assertEqual("http://yaws.hyber.org/301_redirect3/index.html", + proplists:get_value("location", Hdrs3)), + + %% /301_redirect4 -> http://yaws.hyber.org (absolute-url + noappend) + {ok, {{_,301,_}, Hdrs4, _}} = testsuite:http_get(Url4), + ?assertEqual("http://yaws.hyber.org/", + proplists:get_value("location", Hdrs4)), + ok. + +redirect_404(Config) -> + Port = testsuite:get_yaws_port(1, Config), + Url1 = testsuite:make_url(http, "127.0.0.1", Port, "/404_redirect1/index.html"), + Url2 = testsuite:make_url(http, "127.0.0.1", Port, "/404_redirect2/index.html"), + Url3 = testsuite:make_url(http, "127.0.0.1", Port, "/404_redirect3/index.html"), + Url4 = testsuite:make_url(http, "127.0.0.1", Port, "/404_redirect4/index.html"), + + Err404 = iolist_to_binary( + ["

        404 ", yaws_api:code_to_phrase(404), "

        "] + ), + Err404_3 = <<"/error404.yaws/404_redirect3/index.html\n">>, + Err404_4 = <<"/error404.yaws\n">>, + + %% /404_redirect1 -> default content (append) + ?assertMatch({ok, {{_,404,_}, _, Err404}}, testsuite:http_get(Url1)), + + %% /404_redirect2 -> default content (noappend) + ?assertMatch({ok, {{_,404,_}, _, Err404}}, testsuite:http_get(Url2)), + + %% /404_redirect3 -> /error404.yaws (append) + ?assertMatch({ok, {{_,404,_}, _, Err404_3}}, testsuite:http_get(Url3)), + + %% /404_redirect4 -> /error404.yaws (noappend) + ?assertMatch({ok, {{_,404,_}, _, Err404_4}}, testsuite:http_get(Url4)), + ok. + +redirect_url_encode(Config) -> + Port = testsuite:get_yaws_port(1, Config), + Url1 = testsuite:make_url(http, "127.0.0.1", Port, "/redirect%3Furl%3Fencode1/index.html"), + Url2 = testsuite:make_url(http, "127.0.0.1", Port, "/redirect%3Furl%3Fencode2/index.html"), + + %% /redirect%3Furl%3Fencode1 -> /redir%3F (append) + {ok, {{_,302,_}, Hdrs1, _}} = testsuite:http_get(Url1), + ?assertEqual(testsuite:make_url(http, "127.0.0.1", Port, "/redir%3F/redirect%3Furl%3Fencode1/index.html"), + proplists:get_value("location", Hdrs1)), + + %% /redirect%3Furl%3Fencode2 -> /redir%3F (noappend) + {ok, {{_,302,_}, Hdrs2, _}} = testsuite:http_get(Url2), + ?assertEqual(testsuite:make_url(http, "127.0.0.1", Port, "/redir%3F"), + proplists:get_value("location", Hdrs2)), + ok. + +redirect_querystring(Config) -> + Port = testsuite:get_yaws_port(1, Config), + Url1 = testsuite:make_url(http, "127.0.0.1", Port, "/default_redirect1/index.html?a=b&c=d"), + Url2 = testsuite:make_url(http, "127.0.0.1", Port, "/default_redirect2/index.html?a=b&c=d"), + Url3 = testsuite:make_url(http, "127.0.0.1", Port, "/default_redirect3/index.html?a=b&c=d"), + Url4 = testsuite:make_url(http, "127.0.0.1", Port, "/default_redirect4/index.html?a=b&c=d"), + Url5 = testsuite:make_url(http, "127.0.0.1", Port, "/404_redirect3/index.html?a=b&c=d"), + Url6 = testsuite:make_url(http, "127.0.0.1", Port, "/404_redirect4/index.html?a=b&c=d"), + + Err404_5 = <<"/error404.yaws/404_redirect3/index.html?a=b&c=d\n">>, + Err404_6 = <<"/error404.yaws?a=b&c=d\n">>, + + + %% /default_redirect1 -> /redir (relative-url + append) + {ok, {{_,302,_}, Hdrs1, _}} = testsuite:http_get(Url1), + ?assertEqual(testsuite:make_url(http, "127.0.0.1", Port, "/redir/default_redirect1/index.html?a=b&c=d"), + proplists:get_value("location", Hdrs1)), + + %% /default_redirect2 -> /redir (relative-url + noappend) + {ok, {{_,302,_}, Hdrs2, _}} = testsuite:http_get(Url2), + ?assertEqual(testsuite:make_url(http, "127.0.0.1", Port, "/redir?a=b&c=d"), + proplists:get_value("location", Hdrs2)), + + %% /default_redirect3 -> http://yaws.hyber.org (absolute-url + append) + {ok, {{_,302,_}, Hdrs3, _}} = testsuite:http_get(Url3), + ?assertEqual("http://yaws.hyber.org/default_redirect3/index.html?a=b&c=d", + proplists:get_value("location", Hdrs3)), + + %% /default_redirect4 -> http://yaws.hyber.org (absolute-url + noappend) + {ok, {{_,302,_}, Hdrs4, _}} = testsuite:http_get(Url4), + ?assertEqual("http://yaws.hyber.org/?a=b&c=d", + proplists:get_value("location", Hdrs4)), + + %% /404_redirect3 -> /error404.yaws (append) + ?assertMatch({ok, {{_,404,_}, _, Err404_5}}, testsuite:http_get(Url5)), + + %% /404_redirect4 -> /error404.yaws (noappend) + ?assertMatch({ok, {{_,404,_}, _, Err404_6}}, testsuite:http_get(Url6)), + ok. + +redirect_post(Config) -> + Port = testsuite:get_yaws_port(1, Config), + Path1 = "/test", + Path2 = "/test/", + Path3 = "/post_redirect1", + Path4 = "/test/index.yaws", + Path5 = "/post_redirect2", + + %% (partial_post_size = 5 / content-length = 11) + CT = "application/x-www-form-urlencoded", + Body = <<"foo=1&bar=2">>, + Res = <>, + + {ok, Sock} = gen_tcp:connect("127.0.0.1", Port, [binary, {active, false}]), + + %% Data must be flushed on redirect (here, trailing slash is added) + ?assertEqual(ok, + testsuite:send_http_request( + Sock, {post, Path1, "HTTP/1.1"}, + [{"Host", "127.0.0.1:"++integer_to_list(Port)}], + {CT, Body} + )), + {ok, {{_,302,_}, Hdrs1, _}} = testsuite:receive_http_response(Sock), + ?assert(lists:suffix(Path2, proplists:get_value("location", Hdrs1))), + + ?assertEqual(ok, + testsuite:send_http_request( + Sock, {get, Path2, "HTTP/1.1"}, + [{"Host", "127.0.0.1:"++integer_to_list(Port)}] + )), + ?assertMatch({ok, {{_,200,_}, _, _}}, testsuite:receive_http_response(Sock)), + + %% Data must be flushed on redirect (here, on configured redirect) + ?assertEqual(ok, + testsuite:send_http_request( + Sock, {post, Path3, "HTTP/1.1"}, + [{"Host", "127.0.0.1:"++integer_to_list(Port)}], + {CT, Body} + )), + {ok, {{_,302,_}, Hdrs3, _}} = testsuite:receive_http_response(Sock), + ?assert(lists:suffix(Path4, proplists:get_value("location", Hdrs3))), + + ?assertEqual(ok, + testsuite:send_http_request( + Sock, {get, Path4, "HTTP/1.1"}, + [{"Host", "127.0.0.1:"++integer_to_list(Port)}] + )), + ?assertMatch({ok, {{_,200,_}, _, _}}, testsuite:receive_http_response(Sock)), + + %% Data must be readable by /test/index.yaws + ?assertEqual(ok, + testsuite:send_http_request( + Sock, {post, Path5, "HTTP/1.1"}, + [{"Host", "127.0.0.1:"++integer_to_list(Port)}], + {CT, Body} + )), + ?assertMatch({ok, {{_,200,_}, _, Res}}, testsuite:receive_http_response(Sock)), + + ?assertEqual(ok, gen_tcp:close(Sock)), + ok. + +bad_redirect(_Config) -> + File1 = filename:join(?data_srcdir(?MODULE), "bad_redirect1.conf"), + File2 = filename:join(?data_srcdir(?MODULE), "bad_redirect2.conf"), + File3 = filename:join(?data_srcdir(?MODULE), "bad_redirect3.conf"), + File4 = filename:join(?data_srcdir(?MODULE), "bad_redirect4.conf"), + Env1 = #env{debug=false, conf={file, File1}}, + Env2 = #env{debug=false, conf={file, File2}}, + Env3 = #env{debug=false, conf={file, File3}}, + Env4 = #env{debug=false, conf={file, File4}}, + + ?assertMatch({error, _}, yaws_config:load(Env1)), + ?assertMatch({error, _}, yaws_config:load(Env2)), + ?assertMatch({error, _}, yaws_config:load(Env3)), + ?assertMatch({error, _}, yaws_config:load(Env4)), + ok. diff -Nru yaws-2.0.6+dfsg/testsuite/revproxy_SUITE_data/intercept1.erl yaws-2.0.7+dfsg/testsuite/revproxy_SUITE_data/intercept1.erl --- yaws-2.0.6+dfsg/testsuite/revproxy_SUITE_data/intercept1.erl 1970-01-01 00:00:00.000000000 +0000 +++ yaws-2.0.7+dfsg/testsuite/revproxy_SUITE_data/intercept1.erl 2019-07-14 13:01:11.000000000 +0000 @@ -0,0 +1,10 @@ +-module(intercept1). +-export([rewrite_request/2, rewrite_response/2]). + +%% Test that returning an incorrect return value from rewrite_request +%% is handled correctly by the reverse proxy. +rewrite_request(_, _) -> + error. + +rewrite_response(Resp, Hdrs) -> + {ok, Resp, Hdrs}. diff -Nru yaws-2.0.6+dfsg/testsuite/revproxy_SUITE_data/intercept2.erl yaws-2.0.7+dfsg/testsuite/revproxy_SUITE_data/intercept2.erl --- yaws-2.0.6+dfsg/testsuite/revproxy_SUITE_data/intercept2.erl 1970-01-01 00:00:00.000000000 +0000 +++ yaws-2.0.7+dfsg/testsuite/revproxy_SUITE_data/intercept2.erl 2019-07-14 13:01:11.000000000 +0000 @@ -0,0 +1,10 @@ +-module(intercept2). +-export([rewrite_request/2, rewrite_response/2]). + +rewrite_request(Req, Hdrs) -> + {ok, Req, Hdrs}. + +%% Test that returning an incorrect return value from rewrite_request +%% is handled correctly by the reverse proxy. +rewrite_response(_, _) -> + error. diff -Nru yaws-2.0.6+dfsg/testsuite/revproxy_SUITE_data/intercept3.erl yaws-2.0.7+dfsg/testsuite/revproxy_SUITE_data/intercept3.erl --- yaws-2.0.6+dfsg/testsuite/revproxy_SUITE_data/intercept3.erl 1970-01-01 00:00:00.000000000 +0000 +++ yaws-2.0.7+dfsg/testsuite/revproxy_SUITE_data/intercept3.erl 2019-07-14 13:01:11.000000000 +0000 @@ -0,0 +1,10 @@ +-module(intercept3). +-export([rewrite_request/2, rewrite_response/2]). + +-include("../../include/yaws_api.hrl"). + +rewrite_request(Req, Hdrs) -> + {ok, Req, yaws_api:set_header(Hdrs, accept, "text/plain")}. + +rewrite_response(Resp, Hdrs) -> + {ok, Resp, yaws_api:set_header(Hdrs, "X-Test-Interception", "true")}. diff -Nru yaws-2.0.6+dfsg/testsuite/revproxy_SUITE_data/nolengthtest.erl yaws-2.0.7+dfsg/testsuite/revproxy_SUITE_data/nolengthtest.erl --- yaws-2.0.6+dfsg/testsuite/revproxy_SUITE_data/nolengthtest.erl 1970-01-01 00:00:00.000000000 +0000 +++ yaws-2.0.7+dfsg/testsuite/revproxy_SUITE_data/nolengthtest.erl 2019-07-14 13:01:11.000000000 +0000 @@ -0,0 +1,15 @@ +-module(nolengthtest). +-export([out/1]). + +-include("../../include/yaws.hrl"). +-include("../../include/yaws_api.hrl"). + +out(_Arg) -> + yaws_api:stream_chunk_deliver(self(), lists:duplicate(256, $A)), + yaws_api:stream_chunk_end(self()), + [ + {header, {transfer_encoding, erase}}, + {header, {content_length, erase}}, + {header, {connection, "close"}}, + {streamcontent, "text/plain", lists:duplicate(256, $A)} + ]. diff -Nru yaws-2.0.6+dfsg/testsuite/revproxy_SUITE_data/posttest.erl yaws-2.0.7+dfsg/testsuite/revproxy_SUITE_data/posttest.erl --- yaws-2.0.6+dfsg/testsuite/revproxy_SUITE_data/posttest.erl 1970-01-01 00:00:00.000000000 +0000 +++ yaws-2.0.7+dfsg/testsuite/revproxy_SUITE_data/posttest.erl 2019-07-14 13:01:11.000000000 +0000 @@ -0,0 +1,88 @@ +-module(posttest). +-export([out/1]). + +-include("../../include/yaws.hrl"). +-include("../../include/yaws_api.hrl"). + +out(Arg) -> + Url = yaws_api:request_url(Arg), + case Url#url.path of + "/posttest/chunked/" ++ ExpectedSize -> + TE = yaws:to_lower((Arg#arg.headers)#headers.transfer_encoding), + if + TE =:= "chunked" -> + handle_post(list_to_integer(ExpectedSize), Arg); + true -> + Reason = io_lib:format("Expected a chunked transfer-encoding request\n~p", + [Arg#arg.headers]), + handle_post(0, Arg#arg{state={flush,500,Reason}}) + end; + "/posttest/" ++ ExpectedSize -> + handle_post(list_to_integer(ExpectedSize), Arg); + _ -> + Reason = "unknown path: " ++ Url#url.path, + handle_post(0, Arg#arg{state={flush,500,Reason}}) + end. + + +handle_post(_, #arg{clidata=Data, state={flush, HttpCode, Reason}}) -> + %% Catch an error here but flush all remaining data. + case Data of + {partial, _} -> {get_more, undefined, {flush, HttpCode, Reason}}; + _ -> [{status, HttpCode}, {html, Reason}] + end; + +handle_post(ExpectedSize, #arg{clidata=Data, cont=undefined}=Arg) + when is_binary(Data) -> + %% This is not a partial request + %% Expected: content_length =:= ExpectedSize AND + %% content_length < partial_post_size. + + SC = get(sc), + if + size(Data) =:= ExpectedSize andalso + size(Data) < SC#sconf.partial_post_size -> + {status, 200}; + true -> + Reason = io_lib:format("Post data too big. " + "Received: ~p bytes - Max: ~p bytes", + [size(Data), SC#sconf.partial_post_size]), + handle_post(ExpectedSize, Arg#arg{state={flush,500,Reason}}) + end; +handle_post(ExpectedSize, #arg{clidata={partial, Data}, cont=Cont}=Arg) + when is_binary(Data) -> + %% next Chunk of a partial request. + if + Cont =:= undefined -> + %% First chunk + {get_more, {cont, size(Data)}, undefined}; + true -> + {cont, Sz0} = Cont, + Sz1 = Sz0 + size(Data), + if + Sz1 =< ExpectedSize -> + {get_more, {cont, Sz1}, undefined}; + true -> + SC = get(sc), + Reason = io_lib:format("Chunk too big. " + "Received: ~p bytes - Max: ~p bytes", + [size(Data), + SC#sconf.partial_post_size]), + handle_post(ExpectedSize, Arg#arg{state={flush,500,Reason}}) + end + end; +handle_post(ExpectedSize, #arg{clidata=Data, cont=Cont}=Arg) + when is_binary(Data) -> + %% Last chunk of a partial request. + {cont, Sz0} = Cont, + Sz1 = Sz0 + size(Data), + if + Sz1 =:= ExpectedSize -> + {status, 200}; + true -> + Reason = io_lib:format("Received data does not match " + "the expected size. " + "Received: ~p bytes - Expected: ~p bytes", + [Sz1, ExpectedSize]), + handle_post(ExpectedSize, Arg#arg{state={flush,500,Reason}}) + end. diff -Nru yaws-2.0.6+dfsg/testsuite/revproxy_SUITE_data/rewritetest.erl yaws-2.0.7+dfsg/testsuite/revproxy_SUITE_data/rewritetest.erl --- yaws-2.0.6+dfsg/testsuite/revproxy_SUITE_data/rewritetest.erl 1970-01-01 00:00:00.000000000 +0000 +++ yaws-2.0.7+dfsg/testsuite/revproxy_SUITE_data/rewritetest.erl 2019-07-14 13:01:11.000000000 +0000 @@ -0,0 +1,17 @@ +-module(rewritetest). +-export([arg_rewrite/1]). + +-include("../../include/yaws.hrl"). +-include("../../include/yaws_api.hrl"). + + +arg_rewrite(Arg) -> + Url = yaws_api:request_url(Arg), + case Url#url.path of + "/rewrite" ++ Rest -> + Req0 = Arg#arg.req, + Req1 = Req0#http_request{path={abs_path,Rest}}, + Arg#arg{req=Req1}; + _ -> + Arg + end. diff -Nru yaws-2.0.6+dfsg/testsuite/revproxy_SUITE_data/streamtest.erl yaws-2.0.7+dfsg/testsuite/revproxy_SUITE_data/streamtest.erl --- yaws-2.0.6+dfsg/testsuite/revproxy_SUITE_data/streamtest.erl 1970-01-01 00:00:00.000000000 +0000 +++ yaws-2.0.7+dfsg/testsuite/revproxy_SUITE_data/streamtest.erl 2019-07-14 13:01:11.000000000 +0000 @@ -0,0 +1,12 @@ +-module(streamtest). +-export([out/1]). + +-include("../../include/yaws.hrl"). +-include("../../include/yaws_api.hrl"). + +out(_Arg) -> + yaws_api:stream_chunk_deliver(self(), "and this is the second one\n"), + yaws_api:stream_chunk_deliver(self(), "con"), + yaws_api:stream_chunk_deliver(self(), "sequence"), + yaws_api:stream_chunk_end(self()), + {streamcontent, "text/plain", "This is the data in the first chunk\n"}. diff -Nru yaws-2.0.6+dfsg/testsuite/revproxy_SUITE_data/templates/yaws.conf yaws-2.0.7+dfsg/testsuite/revproxy_SUITE_data/templates/yaws.conf --- yaws-2.0.6+dfsg/testsuite/revproxy_SUITE_data/templates/yaws.conf 1970-01-01 00:00:00.000000000 +0000 +++ yaws-2.0.7+dfsg/testsuite/revproxy_SUITE_data/templates/yaws.conf 2019-07-14 13:01:11.000000000 +0000 @@ -0,0 +1,70 @@ +logdir = $logdir$ + +ebin_dir = $data_builddir$ + +trace = false +copy_error_log = true +log_wrap_size = 1000000 +log_resolve_hostname = false +fail_on_bind_err = true +pick_first_virthost_on_nomatch = true +keepalive_timeout = 10000 + + + port = $yaws_port1$ + listen = 127.0.0.1 + deflate = true + docroot = $tempdir$/www1 + arg_rewrite_mod = rewritetest + revproxy = /revproxy1 http://localhost:$yaws_port2$ + revproxy = /revproxy2 http://localhost:$yaws_port3$ + revproxy = /revproxy3 http://[::1]:$yaws_port7$ + + + + port = $yaws_port2$ + listen = 127.0.0.1 + deflate = true + partial_post_size = 2048000 + docroot = $tempdir$/www2 + appmods = posttest streamtest nolengthtest + + + + port = $yaws_port3$ + listen = 127.0.0.1 + deflate = false + docroot = $tempdir$/www3 + + + + port = $yaws_port4$ + listen = 127.0.0.1 + deflate = false + fwdproxy = true + arg_rewrite_mod = rewritetest + docroot = $tempdir$/www1 + + + + port = $yaws_port5$ + listen = 127.0.0.1 + docroot = $tempdir$/www1 + revproxy = /revproxy http://localhost:$yaws_port1$ + + + + port = $yaws_port6$ + listen = 127.0.0.1 + docroot = $tempdir$/www1 + revproxy = /revproxy1 http://localhost:$yaws_port3$ intercept_mod intercept1 + revproxy = /revproxy2 http://localhost:$yaws_port3$ intercept_mod intercept2 + revproxy = /revproxy3 http://localhost:$yaws_port3$ intercept_mod intercept3 + + + + port = $yaws_port7$ + listen = ::1 + deflate = false + docroot = $tempdir$/www2 + diff -Nru yaws-2.0.6+dfsg/testsuite/revproxy_SUITE.erl yaws-2.0.7+dfsg/testsuite/revproxy_SUITE.erl --- yaws-2.0.6+dfsg/testsuite/revproxy_SUITE.erl 1970-01-01 00:00:00.000000000 +0000 +++ yaws-2.0.7+dfsg/testsuite/revproxy_SUITE.erl 2019-07-14 13:01:11.000000000 +0000 @@ -0,0 +1,311 @@ +-module(revproxy_SUITE). + +-include("testsuite.hrl"). +-include_lib("kernel/include/file.hrl"). + +-compile(export_all). + +all() -> + [ + deflate_test1, + deflate_test2, + small_post, + large_post, + small_chunked_post, + large_chunked_post, + chunked_response, + keepalive, + rewrite_request, + large_response, + no_content_length, + failed_req_interception, + failed_resp_interception, + good_interception, + fwdproxy, + ipv6_address + ]. + +groups() -> + [ + ]. + +%%==================================================================== +init_per_suite(Config) -> + ok = prepare_docroots(), + + Id = "testsuite-server", + YConf = filename:join(?tempdir(?MODULE), "yaws.conf"), + application:load(yaws), + application:set_env(yaws, id, Id), + application:set_env(yaws, conf, YConf), + ok = yaws:start(), + [{yaws_id, Id}, {yaws_config, YConf} | Config]. + +end_per_suite(_Config) -> + ok = application:stop(yaws), + ok = application:unload(yaws), + ok. + +init_per_group(_Group, Config) -> + Config. + +end_per_group(_Group, _Config) -> + ok. + +init_per_testcase(_Test, Config) -> + Config. + +end_per_testcase(_Test, _Config) -> + ok. + +%%==================================================================== +deflate_test1(Config) -> + Port = testsuite:get_yaws_port(1, Config), + Url = testsuite:make_url(http, "127.0.0.1", Port, "/revproxy1/hello.txt"), + Res = <<"Hello World www2!">>, + + %% client: nodeflate - proxy: deflate - backend: deflate + %% ==> result: uncompressed + ?assertMatch({ok, {{_,200,_}, _, Res}}, testsuite:http_get(Url)), + + %% client: deflate - proxy: deflate - backend: deflate + %% ==> result: compressed + GzHdr = {"Accept-Encoding", "gzip, deflate"}, + {ok, {StatusLine, Hdrs, Body}} = testsuite:http_get(Url, [GzHdr]), + ?assertMatch({_, 200, _}, StatusLine), + ?assertEqual("gzip", proplists:get_value("content-encoding", Hdrs)), + ?assertEqual(Res, zlib:gunzip(Body)), + ok. + +deflate_test2(Config) -> + Port = testsuite:get_yaws_port(1, Config), + Url = testsuite:make_url(http, "127.0.0.1", Port, "/revproxy2/hello.txt"), + Res = <<"Hello World www3!">>, + + %% client: nodeflate - proxy: deflate - backend: npdeflate + %% ==> result: uncompressed + ?assertMatch({ok, {{_,200,_}, _, Res}}, testsuite:http_get(Url)), + + %% client: deflate - proxy: deflate - backend: nodeflate + %% ==> result: compressed + GzHdr = {"Accept-Encoding", "gzip, deflate"}, + {ok, {StatusLine, Hdrs, Body}} = testsuite:http_get(Url, [GzHdr]), + ?assertMatch({_, 200, _}, StatusLine), + ?assertEqual("gzip", proplists:get_value("content-encoding", Hdrs)), + ?assertEqual(Res, zlib:gunzip(Body)), + ok. + +small_post(Config) -> + File = filename:join(?tempdir(?MODULE), "www1/1000.txt"), + {ok, FI} = file:read_file_info(File), + Sz = integer_to_list(FI#file_info.size), + + Port = testsuite:get_yaws_port(1, Config), + Url = testsuite:make_url(http, "127.0.0.1", Port, "/revproxy1/posttest/"++Sz), + ClHdr = {"Content-Length", Sz}, + CT = "binary/octet-stream", + Body = {fun testsuite:post_file/1, {File,1024000}}, + ?assertMatch({ok, {{_,200,_}, _, _}}, testsuite:http_post(Url, [ClHdr], {CT, Body})), + ok. + +large_post(Config) -> + File = filename:join(?tempdir(?MODULE), "www1/10000.txt"), + {ok, FI} = file:read_file_info(File), + Sz = integer_to_list(FI#file_info.size), + + Port = testsuite:get_yaws_port(1, Config), + Url = testsuite:make_url(http, "127.0.0.1", Port, "/revproxy1/posttest/"++Sz), + ClHdr = {"Content-Length", Sz}, + CT = "binary/octet-stream", + Body = {fun testsuite:post_file/1, {File,1024000}}, + ?assertMatch({ok, {{_,200,_}, _, _}}, testsuite:http_post(Url, [ClHdr], {CT, Body})), + ok. + +small_chunked_post(Config) -> + File = filename:join(?tempdir(?MODULE), "www1/3000.txt"), + {ok, FI} = file:read_file_info(File), + Sz = integer_to_list(FI#file_info.size), + + Port = testsuite:get_yaws_port(1, Config), + Url = testsuite:make_url(http, "127.0.0.1", Port, "/revproxy1/posttest/chunked/"++Sz), + CT = "binary/octet-stream", + Body = {chunkify, fun testsuite:post_file/1, {File,1000*1000}}, + ?assertMatch({ok, {{_,200,_}, _, _}}, testsuite:http_post(Url, {CT, Body})), + ok. + +large_chunked_post(Config) -> + File = filename:join(?tempdir(?MODULE), "www1/10000.txt"), + {ok, FI} = file:read_file_info(File), + Sz = integer_to_list(FI#file_info.size), + + Port = testsuite:get_yaws_port(1, Config), + Url = testsuite:make_url(http, "127.0.0.1", Port, "/revproxy1/posttest/chunked/"++Sz), + CT = "binary/octet-stream", + Body = {chunkify, fun testsuite:post_file/1, {File,4000*1000}}, + ?assertMatch({ok, {{_,200,_}, _, _}}, testsuite:http_post(Url, {CT, Body})), + ok. + +chunked_response(Config) -> + Port = testsuite:get_yaws_port(1, Config), + Url = testsuite:make_url(http, "127.0.0.1", Port, "/revproxy1/streamtest"), + Res = <<"This is the data in the first chunk\n" + "and this is the second one\n" + "consequence">>, + + {ok, {StatusLine1, Hdrs1, Body1}} = testsuite:http_get(Url), + ?assertMatch({_, 200, _}, StatusLine1), + ?assertEqual("chunked", proplists:get_value("transfer-encoding", Hdrs1)), + ?assertEqual(Res, Body1), + + GzHdr = {"Accept-Encoding", "gzip, deflate"}, + {ok, {StatusLine2, Hdrs2, Body2}} = testsuite:http_get(Url, [GzHdr]), + ?assertMatch({_, 200, _}, StatusLine2), + ?assertEqual("chunked", proplists:get_value("transfer-encoding", Hdrs2)), + ?assertEqual("gzip", proplists:get_value("content-encoding", Hdrs2)), + ?assertEqual(Res, zlib:gunzip(Body2)), + ok. + +keepalive(Config) -> + Port = testsuite:get_yaws_port(1, Config), + Path1 = "/revproxy1/hello.txt", + Path2 = "/", + Path3 = "/revproxy2/hello.txt", + Res1 = <<"Hello World www2!">>, + Res2 = <<"Hello World www1!">>, + Res3 = <<"Hello World www3!">>, + + {ok, Sock} = gen_tcp:connect("localhost", Port, [binary, {active, false}]), + + ?assertEqual(ok, + testsuite:send_http_request( + Sock, {get, Path1, "HTTP/1.1"}, + [{"Host", "127.0.0.1:"++integer_to_list(Port)}, + {"Connection", "Keep-Alive"}] + )), + ?assertMatch({ok, {{_,200,_}, _, Res1}}, testsuite:receive_http_response(Sock)), + + ?assertEqual(ok, + testsuite:send_http_request( + Sock, {get, Path2, "HTTP/1.1"}, + [{"Host", "127.0.0.1:"++integer_to_list(Port)}, + {"Connection", "Keep-Alive"}] + )), + ?assertMatch({ok, {{_,200,_}, _, Res2}}, testsuite:receive_http_response(Sock)), + + ?assertEqual(ok, + testsuite:send_http_request( + Sock, {get, Path3, "HTTP/1.1"}, + [{"Host", "127.0.0.1:"++integer_to_list(Port)}, + {"Connection", "Keep-Alive"}] + )), + ?assertMatch({ok, {{_,200,_}, _, Res3}}, testsuite:receive_http_response(Sock)), + + ?assertEqual(ok, gen_tcp:close(Sock)), + ok. + +rewrite_request(Config) -> + Port = testsuite:get_yaws_port(1, Config), + Url1 = testsuite:make_url(http, "127.0.0.1", Port, "/rewrite/revproxy1/hello.txt"), + Url2 = testsuite:make_url(http, "127.0.0.1", Port, "/rewrite/revproxy2/hello.txt"), + Res1 = <<"Hello World www2!">>, + Res2 = <<"Hello World www3!">>, + + ?assertMatch({ok, {{_,200,_}, _, Res1}}, testsuite:http_get(Url1)), + ?assertMatch({ok, {{_,200,_}, _, Res2}}, testsuite:http_get(Url2)), + ok. + +large_response(Config) -> + Port = testsuite:get_yaws_port(5, Config), + Url = testsuite:make_url(http, "127.0.0.1", Port, "/revproxy/10000.txt"), + + {ok, Res} = file:read_file(filename:join(?tempdir(?MODULE), "www1/10000.txt")), + {ok, {{_,200,_}, Hdrs, Body}} = testsuite:http_get(Url), + ?assertEqual("10240000", proplists:get_value("content-length", Hdrs)), + ?assertEqual(Res, Body), + ok. + +no_content_length(Config) -> + Port = testsuite:get_yaws_port(1, Config), + Url = testsuite:make_url(http, "127.0.0.1", Port, "/revproxy1/nolengthtest"), + Res = list_to_binary(lists:duplicate(512, $A)), + + {ok, {{_,200,_}, Hdrs, Body}} = testsuite:http_get(Url), + ?assertEqual(undefined, proplists:get_value("content-length", Hdrs)), + ?assertEqual(undefined, proplists:get_value("transfer-encoding", Hdrs)), + ?assertEqual("close", proplists:get_value("connection", Hdrs)), + ?assertEqual(Res, Body), + ok. + +failed_req_interception(Config) -> + Port = testsuite:get_yaws_port(6, Config), + Url = testsuite:make_url(http, "127.0.0.1", Port, "/revproxy1/failedreqinterception"), + + ?assertMatch({ok, {{_,500,_}, _, _}}, testsuite:http_get(Url)), + ok. + +failed_resp_interception(Config) -> + Port = testsuite:get_yaws_port(6, Config), + Url = testsuite:make_url(http, "127.0.0.1", Port, "/revproxy2/failedrespinterception"), + + ?assertMatch({ok, {{_,500,_}, _, _}}, testsuite:http_get(Url)), + ok. + +good_interception(Config) -> + Port = testsuite:get_yaws_port(6, Config), + Url = testsuite:make_url(http, "127.0.0.1", Port, "/revproxy3/hello.txt"), + Res = <<"Hello World www3!">>, + + {ok, {{_,200,_}, Hdrs, Body}} = testsuite:http_get(Url), + ?assertEqual("true", proplists:get_value("x-test-interception", Hdrs)), + ?assertEqual(Res, Body), + ok. + + +fwdproxy(Config) -> + PPort = testsuite:get_yaws_port(4, Config), + Port1 = testsuite:get_yaws_port(2, Config), + Port2 = testsuite:get_yaws_port(3, Config), + Url1 = testsuite:make_url(http, "127.0.0.1", Port1, "/rewrite/hello.txt"), + Url2 = testsuite:make_url(http, "127.0.0.1", Port2, "/rewrite/hello.txt"), + Res1 = <<"Hello World www2!">>, + Res2 = <<"Hello World www3!">>, + + HttpOpts = [{proxy, {"localhost", PPort}}], + + {ok, {{_,200,_}, _, Body1}} = testsuite:http_get(Url1, [], HttpOpts), + ?assertEqual(Res1, Body1), + + {ok, {{_,200,_}, _, Body2}} = testsuite:http_get(Url2, [], HttpOpts), + ?assertEqual(Res2, Body2), + + ok. + +ipv6_address(Config) -> + Port = testsuite:get_yaws_port(1, Config), + Url = testsuite:make_url(http, "127.0.0.1", Port, "/revproxy3/hello.txt"), + Res = <<"Hello World www2!">>, + + {ok, {{_,200,_}, _, Body}} = testsuite:http_get(Url), + ?assertEqual(Res, Body), + ok. + +%%==================================================================== +prepare_docroots() -> + WWW1 = filename:join(?tempdir(?MODULE), "www1"), + WWW2 = filename:join(?tempdir(?MODULE), "www2"), + WWW3 = filename:join(?tempdir(?MODULE), "www3"), + ok = testsuite:create_dir(WWW1), + ok = testsuite:create_dir(WWW2), + ok = testsuite:create_dir(WWW3), + + ok = file:write_file(filename:join(WWW1, "index.html"), <<"Hello World www1!">>, [write]), + ok = file:write_file(filename:join(WWW2, "hello.txt"), <<"Hello World www2!">>, [write]), + ok = file:write_file(filename:join(WWW3, "hello.txt"), <<"Hello World www3!">>, [write]), + + Data = lists:duplicate(1024, $0), + ok = file:write_file(filename:join(WWW1, "1000.txt"), lists:duplicate(1000, Data), [write]), + ok = file:write_file(filename:join(WWW1, "2000.txt"), lists:duplicate(2000, Data), [write]), + ok = file:write_file(filename:join(WWW1, "3000.txt"), lists:duplicate(3000, Data), [write]), + ok = file:write_file(filename:join(WWW1, "10000.txt"), lists:duplicate(10000, Data), [write]), + + ok. diff -Nru yaws-2.0.6+dfsg/testsuite/sconf_SUITE.erl yaws-2.0.7+dfsg/testsuite/sconf_SUITE.erl --- yaws-2.0.6+dfsg/testsuite/sconf_SUITE.erl 1970-01-01 00:00:00.000000000 +0000 +++ yaws-2.0.7+dfsg/testsuite/sconf_SUITE.erl 2019-07-14 13:01:11.000000000 +0000 @@ -0,0 +1,248 @@ +-module(sconf_SUITE). + +-include("testsuite.hrl"). + +-compile(export_all). + +all() -> + [ + setup_default_sconf, + set_sc_flags, + setup_ssl, + setup_authdirs, + setup_deflate, + setup_mime_types_info, + comp_sname, + wildcomp_salias + ]. + +groups() -> + [ + ]. + +%%==================================================================== +init_per_suite(Config) -> + Config. + +end_per_suite(_Config) -> + ok. + +init_per_group(_Group, Config) -> + Config. + +end_per_group(_Group, _Config) -> + ok. + +init_per_testcase(_Test, Config) -> + Config. + +end_per_testcase(_Test, _Config) -> + ok. + +%%==================================================================== +setup_default_sconf(_Config) -> + Dir = filename:absname("."), + + SC1 = yaws_config:make_default_sconf(".", undefined, undefined), + SC2 = yaws:create_sconf(".", []), + ?assertEqual(SC1, SC2), + ?assertEqual({docroot, Dir}, get_sconf_attr(docroot, SC1)), + ?assertEqual({listen, {127,0,0,1}}, get_sconf_attr(listen, SC1)), + ?assertEqual({port, 8000}, get_sconf_attr(port, SC1)), + + + SC3 = yaws_config:make_default_sconf(".", undefined, 8080), + SC4 = yaws:create_sconf(".", [{port, 8080}]), + ?assertEqual(SC3, SC4), + ?assertEqual({port, 8080}, get_sconf_attr(port, SC3)), + + ok. + + +set_sc_flags(_Config) -> + SC = yaws:create_sconf(".", []), + ?assertEqual({access_log, true}, + check_sc_flags(access_log, ?SC_ACCESS_LOG, SC)), + ?assertEqual({auth_log, true}, + check_sc_flags(auth_log, ?SC_AUTH_LOG, SC)), + ?assertEqual({add_port, true}, + check_sc_flags(add_port, ?SC_ADD_PORT, SC)), + ?assertEqual({statistics, true}, + check_sc_flags(statistics, ?SC_STATISTICS, SC)), + ?assertEqual({tilde_expand, true}, + check_sc_flags(tilde_expand, ?SC_TILDE_EXPAND, SC)), + ?assertEqual({dir_listings, true}, + check_sc_flags(dir_listings, ?SC_DIR_LISTINGS, SC)), + ?assertEqual({deflate, true}, + check_sc_flags(deflate, ?SC_DEFLATE, SC)), + ?assertEqual({dir_all_zip, true}, + check_sc_flags(dir_all_zip, ?SC_DIR_ALL_ZIP, SC)), + ?assertEqual({dav, true}, + check_sc_flags(dav, ?SC_DAV, SC)), + ?assertEqual({fcgi_trace_protocol, true}, + check_sc_flags(fcgi_trace_protocol, ?SC_FCGI_TRACE_PROTOCOL, SC)), + ?assertEqual({fcgi_log_app_error, true}, + check_sc_flags(fcgi_log_app_error, ?SC_FCGI_LOG_APP_ERROR, SC)), + ?assertEqual({forward_proxy, true}, + check_sc_flags(forward_proxy, ?SC_FORWARD_PROXY, SC)), + ?assertEqual({auth_skip_docroot, true}, + check_sc_flags(auth_skip_docroot, ?SC_AUTH_SKIP_DOCROOT, SC)), + ok. + + +setup_ssl(_Config) -> + SC0 = yaws:create_sconf(".", []), + ?assertEqual(undefined, yaws:sconf_ssl(SC0)), + + SC1 = yaws:create_sconf(".", [{ssl, []}]), + SSL1 = yaws:new_ssl(), + SSL2 = yaws:sconf_ssl(SC1), + ?assertEqual(SSL1, SSL2), + + SSL3 = yaws:ssl_keyfile(SSL1, "/tmp/yaws-key.pem"), + SC2 = yaws:create_sconf(".", [{ssl, SSL3}]), + Key = yaws:ssl_keyfile(yaws:sconf_ssl(SC2)), + ?assertEqual("/tmp/yaws-key.pem", Key), + + PVs = ['tlsv1.2', 'tlsv1.1', tlsv1], + SC3 = yaws:create_sconf(".", [{ssl, [{protocol_version, PVs}]}]), + ?assertMatch(#ssl{protocol_version=PVs}, yaws:sconf_ssl(SC3)), + ok. + + +setup_authdirs(_Config) -> + SC0 = yaws:create_sconf(".", []), + ?assertEqual([], yaws:sconf_authdirs(SC0)), + + SC1 = yaws:create_sconf(".", [{auth, []}]), + Auth1 = yaws:new_auth(), + Auths = yaws:sconf_authdirs(SC1), + ?assertEqual([Auth1], Auths), + + Auth2 = yaws:auth_dir(Auth1, "/"), + SC2 = yaws:create_sconf(".", [{auth, Auth2}]), + AuthDir = yaws:auth_dir(hd(yaws:sconf_authdirs(SC2))), + ?assertEqual("/", AuthDir), + ok. + + +setup_deflate(_Config) -> + SC0 = yaws:create_sconf(".", []), + ?assertEqual(undefined, yaws:sconf_deflate_options(SC0)), + + SC1 = yaws:create_sconf(".", [{deflate_options, []}]), + DOpts1 = yaws:new_deflate(), + DOpts2 = yaws:sconf_deflate_options(SC1), + ?assertEqual(DOpts1, DOpts2), + + DOpts3 = yaws:deflate_compression_level(DOpts1, best_speed), + SC2 = yaws:create_sconf(".", [{deflate_options, DOpts3}]), + CmpLvl = yaws:deflate_compression_level(yaws:sconf_deflate_options(SC2)), + ?assertEqual(best_speed, CmpLvl), + ok. + + +setup_mime_types_info(_Config) -> + SC0 = yaws:create_sconf(".", []), + ?assertEqual(undefined, yaws:sconf_mime_types_info(SC0)), + + SC1 = yaws:create_sconf(".", [{mime_types_info, []}]), + MI1 = yaws:new_mime_types_info(), + MI2 = yaws:sconf_mime_types_info(SC1), + ?assertEqual(MI1, MI2), + + MI3 = yaws:mime_types_info_mime_types_file(MI1, "/etc/mime.types"), + SC2 = yaws:create_sconf(".", [{mime_types_info, MI3}]), + MTFile = yaws:mime_types_info_mime_types_file( + yaws:sconf_mime_types_info(SC2) + ), + ?assertEqual("/etc/mime.types", MTFile), + ok. + + +comp_sname(_Config) -> + ?assert(yaws_server:comp_sname("yaws.hyber.org", "yaws.hyber.org")), + ?assert(yaws_server:comp_sname("yaws.hyber.org", "YAWS.HYBER.ORG")), + ?assert(yaws_server:comp_sname("yaws.hyber.org:80", "yaws.hyber.org")), + ?assert(yaws_server:comp_sname("yaws.hyber.org", "yaws.hyber.org:80")), + ?assert(yaws_server:comp_sname("yaws.hyber.org:443", "yaws.hyber.org:80")), + + ?assertNot(yaws_server:comp_sname("yaws.hyber.org", "yaws.hyber.com")), + ?assertNot(yaws_server:comp_sname("yaws.hyber.org:80", "yaws.hyber.org.bad")), + ?assertNot(yaws_server:comp_sname("yaws.hyber.org.bad", "yaws.hyber.org:80")), + ?assertNot(yaws_server:comp_sname("yaws.hyber.org", "yaws.hyber.org.bad")), + ?assertNot(yaws_server:comp_sname("yaws.hyber.org.bad", "yaws.hyber.org")), + ok. + +wildcomp_salias(_Config) -> + ?assert(yaws_server:wildcomp_salias("yaws.hyber.org", "yaws.hyber.org")), + ?assert(yaws_server:wildcomp_salias("yaws.hyber.org", "YAWS.HYBER.ORG")), + ?assert(yaws_server:wildcomp_salias("yaws.hyber.org:80", "yaws.hyber.org")), + ?assert(yaws_server:wildcomp_salias("yaws.hyber.org", "yaws.hyber.org:80")), + ?assert(yaws_server:wildcomp_salias("yaws.hyber.org:443", "yaws.hyber.org:80")), + + ?assertNot(yaws_server:wildcomp_salias("yaws.hyber.org", "yaws.hyber.com")), + ?assertNot(yaws_server:wildcomp_salias("yaws.hyber.org:80", "yaws.hyber.org.bad")), + ?assertNot(yaws_server:wildcomp_salias("yaws.hyber.org.bad", "yaws.hyber.org:80")), + ?assertNot(yaws_server:wildcomp_salias("yaws.hyber.org", "yaws.hyber.org.bad")), + ?assertNot(yaws_server:wildcomp_salias("yaws.hyber.org.bad", "yaws.hyber.org")), + + ?assert(yaws_server:wildcomp_salias("yaws.hyber.org", "*.hyber.org")), + ?assert(yaws_server:wildcomp_salias("yaws.hyber.hyber.org", "*.hyber.org")), + ?assert(yaws_server:wildcomp_salias("yaws.hyber.org", "yaws.*.org")), + ?assert(yaws_server:wildcomp_salias("yaws.hyber.hyber.org", "yaws.*.org")), + ?assert(yaws_server:wildcomp_salias("yaws.hyber.org.org", "yaws.*.org")), + ?assert(yaws_server:wildcomp_salias("yaws.hyber.org", "yaws.hyber.*")), + ?assert(yaws_server:wildcomp_salias("yaws.hyber.hyber.org", "yaws.hyber.*")), + ?assert(yaws_server:wildcomp_salias("yaws.hyber.org.org", "yaws.hyber.*")), + ?assert(yaws_server:wildcomp_salias("yaws.hyber.org", "*.hyber.*")), + ?assert(yaws_server:wildcomp_salias("yaws.hyber.hyber.org", "*.hyber.*")), + ?assert(yaws_server:wildcomp_salias("erlang.hyber.org", "*.hyber.*")), + ?assert(yaws_server:wildcomp_salias("yaws.hyber.org", "*.*.org")), + ?assert(yaws_server:wildcomp_salias("yaws.hyber.hyber.org", "*.*.org")), + ?assert(yaws_server:wildcomp_salias("..org", "*.*.org")), + ?assert(yaws_server:wildcomp_salias("hyber.org", "*hyber.org")), + ?assert(yaws_server:wildcomp_salias("yaws-hyber.org", "*hyber.org")), + + ?assertNot(yaws_server:wildcomp_salias("yaws.hyber.com", "*.hyber.org")), + ?assertNot(yaws_server:wildcomp_salias("yaws.hyber.hyber.com", "*.hyber.org")), + ?assertNot(yaws_server:wildcomp_salias("yaws.hyber.org.org", "*.hyber.org")), + ?assertNot(yaws_server:wildcomp_salias("yaws.hyber.org.com", "*.hyber.org")), + ?assertNot(yaws_server:wildcomp_salias("erlang.hyber.org", "yaws.*.org")), + ?assertNot(yaws_server:wildcomp_salias("yaws.hyber.com", "yaws.*.org")), + ?assertNot(yaws_server:wildcomp_salias("yaws.hyber.hyber.com", "yaws.*.org")), + ?assertNot(yaws_server:wildcomp_salias("yaws.hyber.org.com", "yaws.*.org")), + ?assertNot(yaws_server:wildcomp_salias("erlang.hyber.com", "yaws.hyber.*")), + ?assertNot(yaws_server:wildcomp_salias("yaws.yaws.hyber.org", "yaws.hyber.*")), + + ?assert(yaws_server:wildcomp_salias("yaws.hyber.org", "?aws.hyber.org")), + ?assert(yaws_server:wildcomp_salias("yaws.hyber.org", "????.hyber.org")), + ?assert(yaws_server:wildcomp_salias("yaws-hyber.org", "yaws?hyber.org")), + + ?assertNot(yaws_server:wildcomp_salias("yaws.hyber.com", "?aws.hyber.org")), + ?assertNot(yaws_server:wildcomp_salias("yaw.hyber.org", "????.hyber.org")), + ?assertNot(yaws_server:wildcomp_salias("yaws.hyber.org", "???.hyber.org")), + ?assertNot(yaws_server:wildcomp_salias("yaws.hyber.org", "yaws?hyber.org")), + + ?assert(yaws_server:wildcomp_salias("yaws.hyber.hyber.org", "yaws.*.hyber.???")), + ?assert(yaws_server:wildcomp_salias("yaws.hyber.hyber.com", "yaws.*.hyber.???")), + + ?assertNot(yaws_server:wildcomp_salias("yaws.hyber.hyber.fr", "yaws.*.hyber.???")), + ok. + +%% ======================================================================= +get_sconf_attr(Name, SConf) -> + Fun = list_to_atom("sconf_" ++ atom_to_list(Name)), + {Name, yaws:Fun(SConf)}. + + +check_sc_flags(Flag, Id, SConf0) -> + Flags0 = yaws:sconf_flags(SConf0), + Val0 = (Flags0 band Id) /= 0, + + SConf1 = yaws:create_sconf(".", [{flags, [{Flag, not Val0}]}]), + Flags1 = yaws:sconf_flags(SConf1), + Flags2 = yaws:flag(Flags1, Id, Val0), + + {Flag, + (not Val0 == ((Flags1 band Id) /= 0) andalso Flags2 == Flags0)}. diff -Nru yaws-2.0.6+dfsg/testsuite/srcdir_SUITE_data/src/srcdir_test.erl yaws-2.0.7+dfsg/testsuite/srcdir_SUITE_data/src/srcdir_test.erl --- yaws-2.0.6+dfsg/testsuite/srcdir_SUITE_data/src/srcdir_test.erl 1970-01-01 00:00:00.000000000 +0000 +++ yaws-2.0.7+dfsg/testsuite/srcdir_SUITE_data/src/srcdir_test.erl 2019-07-14 13:01:11.000000000 +0000 @@ -0,0 +1,8 @@ +-module(srcdir_test). +-export([out/1]). + +-include("srcdir_test.hrl"). + +out(_Arg) -> + Content = ?SRCDIR_VERSION, + [{status, 200}, {content, "text/plain", Content}]. diff -Nru yaws-2.0.6+dfsg/testsuite/srcdir_SUITE_data/templates/yaws.conf yaws-2.0.7+dfsg/testsuite/srcdir_SUITE_data/templates/yaws.conf --- yaws-2.0.6+dfsg/testsuite/srcdir_SUITE_data/templates/yaws.conf 1970-01-01 00:00:00.000000000 +0000 +++ yaws-2.0.7+dfsg/testsuite/srcdir_SUITE_data/templates/yaws.conf 2019-07-14 13:01:11.000000000 +0000 @@ -0,0 +1,18 @@ +logdir = $logdir$ + +src_dir = $data_srcdir$/src +include_dir = $tempdir$/include + +trace = false +copy_error_log = true +log_wrap_size = 1000000 +log_resolve_hostname = false +fail_on_bind_err = true +pick_first_virthost_on_nomatch = true +keepalive_timeout = 10000 + + + listen = 127.0.0.1 + port = $yaws_port1$ + appmods = <"/", srcdir_test> + diff -Nru yaws-2.0.6+dfsg/testsuite/srcdir_SUITE.erl yaws-2.0.7+dfsg/testsuite/srcdir_SUITE.erl --- yaws-2.0.6+dfsg/testsuite/srcdir_SUITE.erl 1970-01-01 00:00:00.000000000 +0000 +++ yaws-2.0.7+dfsg/testsuite/srcdir_SUITE.erl 2019-07-14 13:01:11.000000000 +0000 @@ -0,0 +1,93 @@ +-module(srcdir_SUITE). + +-include("testsuite.hrl"). +-include_lib("kernel/include/file.hrl"). + +-compile(export_all). + +all() -> + [ + srcdir_v1, + srcdir_v2, + srcdir_invalid + ]. + +groups() -> + [ + ]. + +%%==================================================================== +init_per_suite(Config) -> + ok = prepare_docroots(), + + Id = "testsuite-server", + YConf = filename:join(?tempdir(?MODULE), "yaws.conf"), + application:load(yaws), + application:set_env(yaws, id, Id), + application:set_env(yaws, conf, YConf), + ok = yaws:start(), + [{yaws_id, Id}, {yaws_config, YConf} | Config]. + +end_per_suite(_Config) -> + ok = application:stop(yaws), + ok = application:unload(yaws), + ok. + +init_per_group(_Group, Config) -> + Config. + +end_per_group(_Group, _Config) -> + ok. + +init_per_testcase(_Test, Config) -> + Config. + +end_per_testcase(_Test, _Config) -> + ok. + +%%==================================================================== +srcdir_v1(Config) -> + Port = testsuite:get_yaws_port(1, Config), + Url = testsuite:make_url(http, "127.0.0.1", Port, "/"), + Res = <<"1.0">>, + + ?assertMatch({ok, {{_,200,_}, _, Res}}, testsuite:http_get(Url)), + ok. + +srcdir_v2(Config) -> + Port = testsuite:get_yaws_port(1, Config), + Url = testsuite:make_url(http, "127.0.0.1", Port, "/"), + Res = <<"2.0">>, + + ?assertEqual(ok, set_srcdir_version(<<"2.0">>)), + ?assertEqual({yaws_hupped, ok}, yaws:hup()), + + ?assertMatch({ok, {{_,200,_}, _, Res}}, testsuite:http_get(Url)), + ok. + +srcdir_invalid(Config) -> + Port = testsuite:get_yaws_port(1, Config), + Url = testsuite:make_url(http, "127.0.0.1", Port, "/"), + Res = <<"2.0">>, + + ?assertEqual(ok, set_srcdir_version(undefined)), + ?assertEqual({yaws_hupped, ok}, yaws:hup()), + + ?assertMatch({ok, {{_,200,_}, _, Res}}, testsuite:http_get(Url)), + ok. + +%%==================================================================== +prepare_docroots() -> + INC = filename:join(?tempdir(?MODULE), "include"), + ok = testsuite:create_dir(INC), + ok = set_srcdir_version(<<"1.0">>), + ok. + +set_srcdir_version(undefined) -> + INC = filename:join(?tempdir(?MODULE), "include"), + Bin = <<"invalid_version">>, + file:write_file(filename:join(INC, "srcdir_test.hrl"), Bin, [write]); +set_srcdir_version(Vsn) -> + INC = filename:join(?tempdir(?MODULE), "include"), + Bin = <<"-define(SRCDIR_VERSION, \"", Vsn/binary, "\").">>, + file:write_file(filename:join(INC, "srcdir_test.hrl"), Bin, [write]). diff -Nru yaws-2.0.6+dfsg/testsuite/ssl_sni_SUITE_data/templates/yaws.conf yaws-2.0.7+dfsg/testsuite/ssl_sni_SUITE_data/templates/yaws.conf --- yaws-2.0.6+dfsg/testsuite/ssl_sni_SUITE_data/templates/yaws.conf 1970-01-01 00:00:00.000000000 +0000 +++ yaws-2.0.7+dfsg/testsuite/ssl_sni_SUITE_data/templates/yaws.conf 2019-07-14 13:01:11.000000000 +0000 @@ -0,0 +1,9 @@ +logdir = $logdir$ + +trace = false +copy_error_log = true +log_wrap_size = 1000000 +log_resolve_hostname = false +fail_on_bind_err = true +pick_first_virthost_on_nomatch = true +keepalive_timeout = 10000 diff -Nru yaws-2.0.6+dfsg/testsuite/ssl_sni_SUITE_data/templates/yaws_sni_disabled.conf yaws-2.0.7+dfsg/testsuite/ssl_sni_SUITE_data/templates/yaws_sni_disabled.conf --- yaws-2.0.6+dfsg/testsuite/ssl_sni_SUITE_data/templates/yaws_sni_disabled.conf 1970-01-01 00:00:00.000000000 +0000 +++ yaws-2.0.7+dfsg/testsuite/ssl_sni_SUITE_data/templates/yaws_sni_disabled.conf 2019-07-14 13:01:11.000000000 +0000 @@ -0,0 +1,45 @@ +logdir = $logdir$ + +trace = false +copy_error_log = true +log_wrap_size = 1000000 +log_resolve_hostname = false +fail_on_bind_err = true +pick_first_virthost_on_nomatch = true +keepalive_timeout = 10000 + +sni = disable + + + listen = 127.0.0.1 + port = $yaws_port1$ + docroot = $data_srcdir$/www + + keyfile = $top_srcdir$/ssl/yaws-key.pem + certfile = $top_srcdir$/ssl/yaws-cert.pem + depth = 0 + + + + + listen = 127.0.0.1 + port = $yaws_port1$ + docroot = $data_srcdir$/www + serveralias = bob.example.com + + keyfile = $top_srcdir$/ssl/yaws-key.pem + certfile = $top_srcdir$/ssl/yaws-cert.pem + depth = 0 + + + + + listen = 127.0.0.1 + port = $yaws_port1$ + docroot = $data_srcdir$/www + + keyfile = $top_srcdir$/ssl/yaws-key.pem + certfile = $top_srcdir$/ssl/yaws-cert.pem + depth = 0 + + diff -Nru yaws-2.0.6+dfsg/testsuite/ssl_sni_SUITE_data/templates/yaws_sni_enabled.conf yaws-2.0.7+dfsg/testsuite/ssl_sni_SUITE_data/templates/yaws_sni_enabled.conf --- yaws-2.0.6+dfsg/testsuite/ssl_sni_SUITE_data/templates/yaws_sni_enabled.conf 1970-01-01 00:00:00.000000000 +0000 +++ yaws-2.0.7+dfsg/testsuite/ssl_sni_SUITE_data/templates/yaws_sni_enabled.conf 2019-07-14 13:01:11.000000000 +0000 @@ -0,0 +1,46 @@ +logdir = $logdir$ + +trace = false +copy_error_log = true +log_wrap_size = 1000000 +log_resolve_hostname = false +fail_on_bind_err = true +pick_first_virthost_on_nomatch = true +keepalive_timeout = 10000 + +sni = enable + + + listen = 127.0.0.1 + port = $yaws_port1$ + docroot = $data_srcdir$/www + + keyfile = $top_srcdir$/ssl/yaws-key.pem + certfile = $top_srcdir$/ssl/yaws-cert.pem + depth = 0 + + + + + listen = 127.0.0.1 + port = $yaws_port1$ + docroot = $data_srcdir$/www + serveralias = bob.sni.example.com + + keyfile = $top_srcdir$/ssl/mkcert_altname/alice.sni.example.com-key.pem + certfile = $top_srcdir$/ssl/mkcert_altname/alice.sni.example.com-cert.pem + depth = 0 + + + + + listen = 127.0.0.1 + port = $yaws_port1$ + docroot = $data_srcdir$/www + serveralias = sni.example.com *.sni.example.com + + keyfile = $top_srcdir$/ssl/mkcert_altname/yaws.sni.example.com-key.pem + certfile = $top_srcdir$/ssl/mkcert_altname/yaws.sni.example.com-cert.pem + depth = 0 + + diff -Nru yaws-2.0.6+dfsg/testsuite/ssl_sni_SUITE_data/templates/yaws_sni_not_available.conf yaws-2.0.7+dfsg/testsuite/ssl_sni_SUITE_data/templates/yaws_sni_not_available.conf --- yaws-2.0.6+dfsg/testsuite/ssl_sni_SUITE_data/templates/yaws_sni_not_available.conf 1970-01-01 00:00:00.000000000 +0000 +++ yaws-2.0.7+dfsg/testsuite/ssl_sni_SUITE_data/templates/yaws_sni_not_available.conf 2019-07-14 13:01:11.000000000 +0000 @@ -0,0 +1,46 @@ +logdir = $logdir$ + +trace = false +copy_error_log = true +log_wrap_size = 1000000 +log_resolve_hostname = false +fail_on_bind_err = true +pick_first_virthost_on_nomatch = true +keepalive_timeout = 10000 + +sni = enable + + + listen = 127.0.0.1 + port = $yaws_port1$ + docroot = $data_srcdir$/www + + keyfile = $top_srcdir$/ssl/yaws-key.pem + certfile = $top_srcdir$/ssl/yaws-cert.pem + depth = 0 + + + + + listen = 127.0.0.1 + port = $yaws_port1$ + docroot = $data_srcdir$/www + serveralias = bob.sni.example.com + + keyfile = $top_srcdir$/ssl/mkcert_altname/alice.sni.example.com-key.pem + certfile = $top_srcdir$/ssl/mkcert_altname/alice.sni.example.com-cert.pem + depth = 0 + + + + + listen = 127.0.0.1 + port = $yaws_port1$ + docroot = $data_srcdir$/www + serveralias = sni.example.com *.sni.example.com + + keyfile = $top_srcdir$/ssl/mkcert_altname/yaws.sni.example.com-key.pem + certfile = $top_srcdir$/ssl/mkcert_altname/yaws.sni.example.com-cert.pem + depth = 0 + + diff -Nru yaws-2.0.6+dfsg/testsuite/ssl_sni_SUITE_data/templates/yaws_sni_not_enabled.conf yaws-2.0.7+dfsg/testsuite/ssl_sni_SUITE_data/templates/yaws_sni_not_enabled.conf --- yaws-2.0.6+dfsg/testsuite/ssl_sni_SUITE_data/templates/yaws_sni_not_enabled.conf 1970-01-01 00:00:00.000000000 +0000 +++ yaws-2.0.7+dfsg/testsuite/ssl_sni_SUITE_data/templates/yaws_sni_not_enabled.conf 2019-07-14 13:01:11.000000000 +0000 @@ -0,0 +1,46 @@ +logdir = $logdir$ + +trace = false +copy_error_log = true +log_wrap_size = 1000000 +log_resolve_hostname = false +fail_on_bind_err = true +pick_first_virthost_on_nomatch = true +keepalive_timeout = 10000 + +sni = disable + + + listen = 127.0.0.1 + port = $yaws_port1$ + docroot = $data_srcdir$/www + + keyfile = $top_srcdir$/ssl/yaws-key.pem + certfile = $top_srcdir$/ssl/yaws-cert.pem + depth = 0 + + + + + listen = 127.0.0.1 + port = $yaws_port1$ + docroot = $data_srcdir$/www + serveralias = bob.sni.example.com + + keyfile = $top_srcdir$/ssl/mkcert_altname/alice.sni.example.com-key.pem + certfile = $top_srcdir$/ssl/mkcert_altname/alice.sni.example.com-cert.pem + depth = 0 + + + + + listen = 127.0.0.1 + port = $yaws_port1$ + docroot = $data_srcdir$/www + serveralias = sni.example.com *.sni.example.com + + keyfile = $top_srcdir$/ssl/mkcert_altname/yaws.sni.example.com-key.pem + certfile = $top_srcdir$/ssl/mkcert_altname/yaws.sni.example.com-cert.pem + depth = 0 + + diff -Nru yaws-2.0.6+dfsg/testsuite/ssl_sni_SUITE_data/templates/yaws_sni_required_on_vhost.conf yaws-2.0.7+dfsg/testsuite/ssl_sni_SUITE_data/templates/yaws_sni_required_on_vhost.conf --- yaws-2.0.6+dfsg/testsuite/ssl_sni_SUITE_data/templates/yaws_sni_required_on_vhost.conf 1970-01-01 00:00:00.000000000 +0000 +++ yaws-2.0.7+dfsg/testsuite/ssl_sni_SUITE_data/templates/yaws_sni_required_on_vhost.conf 2019-07-14 13:01:11.000000000 +0000 @@ -0,0 +1,48 @@ +logdir = $logdir$ + +trace = false +copy_error_log = true +log_wrap_size = 1000000 +log_resolve_hostname = false +fail_on_bind_err = true +pick_first_virthost_on_nomatch = true +keepalive_timeout = 10000 + +sni = enable + + + listen = 127.0.0.1 + port = $yaws_port1$ + docroot = $data_srcdir$/www + + keyfile = $top_srcdir$/ssl/yaws-key.pem + certfile = $top_srcdir$/ssl/yaws-cert.pem + depth = 0 + require_sni = true + + + + + listen = 127.0.0.1 + port = $yaws_port1$ + docroot = $data_srcdir$/www + serveralias = bob.sni.example.com + + keyfile = $top_srcdir$/ssl/mkcert_altname/alice.sni.example.com-key.pem + certfile = $top_srcdir$/ssl/mkcert_altname/alice.sni.example.com-cert.pem + depth = 0 + require_sni = true + + + + + listen = 127.0.0.1 + port = $yaws_port1$ + docroot = $data_srcdir$/www + serveralias = sni.example.com *.sni.example.com + + keyfile = $top_srcdir$/ssl/mkcert_altname/yaws.sni.example.com-key.pem + certfile = $top_srcdir$/ssl/mkcert_altname/yaws.sni.example.com-cert.pem + depth = 0 + + diff -Nru yaws-2.0.6+dfsg/testsuite/ssl_sni_SUITE_data/templates/yaws_sni_strict.conf yaws-2.0.7+dfsg/testsuite/ssl_sni_SUITE_data/templates/yaws_sni_strict.conf --- yaws-2.0.6+dfsg/testsuite/ssl_sni_SUITE_data/templates/yaws_sni_strict.conf 1970-01-01 00:00:00.000000000 +0000 +++ yaws-2.0.7+dfsg/testsuite/ssl_sni_SUITE_data/templates/yaws_sni_strict.conf 2019-07-14 13:01:11.000000000 +0000 @@ -0,0 +1,46 @@ +logdir = $logdir$ + +trace = false +copy_error_log = true +log_wrap_size = 1000000 +log_resolve_hostname = false +fail_on_bind_err = true +pick_first_virthost_on_nomatch = true +keepalive_timeout = 10000 + +sni = strict + + + listen = 127.0.0.1 + port = $yaws_port1$ + docroot = $data_srcdir$/www + + keyfile = $top_srcdir$/ssl/yaws-key.pem + certfile = $top_srcdir$/ssl/yaws-cert.pem + depth = 0 + + + + + listen = 127.0.0.1 + port = $yaws_port1$ + docroot = $data_srcdir$/www + serveralias = bob.sni.example.com + + keyfile = $top_srcdir$/ssl/mkcert_altname/alice.sni.example.com-key.pem + certfile = $top_srcdir$/ssl/mkcert_altname/alice.sni.example.com-cert.pem + depth = 0 + + + + + listen = 127.0.0.1 + port = $yaws_port1$ + docroot = $data_srcdir$/www + serveralias = sni.example.com *.sn?.example.com + + keyfile = $top_srcdir$/ssl/mkcert_altname/yaws.sni.example.com-key.pem + certfile = $top_srcdir$/ssl/mkcert_altname/yaws.sni.example.com-cert.pem + depth = 0 + + diff -Nru yaws-2.0.6+dfsg/testsuite/ssl_sni_SUITE_data/templates/yaws_sni_without_tls.conf yaws-2.0.7+dfsg/testsuite/ssl_sni_SUITE_data/templates/yaws_sni_without_tls.conf --- yaws-2.0.6+dfsg/testsuite/ssl_sni_SUITE_data/templates/yaws_sni_without_tls.conf 1970-01-01 00:00:00.000000000 +0000 +++ yaws-2.0.7+dfsg/testsuite/ssl_sni_SUITE_data/templates/yaws_sni_without_tls.conf 2019-07-14 13:01:11.000000000 +0000 @@ -0,0 +1,47 @@ +logdir = $logdir$ + +trace = false +copy_error_log = true +log_wrap_size = 1000000 +log_resolve_hostname = false +fail_on_bind_err = true +pick_first_virthost_on_nomatch = true +keepalive_timeout = 10000 + +sni = enable + + + listen = 127.0.0.1 + port = $yaws_port1$ + docroot = $data_srcdir$/www + + keyfile = $top_srcdir$/ssl/yaws-key.pem + certfile = $top_srcdir$/ssl/yaws-cert.pem + depth = 0 + protocol_version = sslv3 + + + + + listen = 127.0.0.1 + port = $yaws_port1$ + docroot = $data_srcdir$/www + serveralias = bob.sni.example.com + + keyfile = $top_srcdir$/ssl/mkcert_altname/alice.sni.example.com-key.pem + certfile = $top_srcdir$/ssl/mkcert_altname/alice.sni.example.com-cert.pem + depth = 0 + + + + + listen = 127.0.0.1 + port = $yaws_port1$ + docroot = $data_srcdir$/www + serveralias = sni.example.com *.sni.example.com + + keyfile = $top_srcdir$/ssl/mkcert_altname/yaws.sni.example.com-key.pem + certfile = $top_srcdir$/ssl/mkcert_altname/yaws.sni.example.com-cert.pem + depth = 0 + + diff -Nru yaws-2.0.6+dfsg/testsuite/ssl_sni_SUITE_data/www/index.yaws yaws-2.0.7+dfsg/testsuite/ssl_sni_SUITE_data/www/index.yaws --- yaws-2.0.6+dfsg/testsuite/ssl_sni_SUITE_data/www/index.yaws 1970-01-01 00:00:00.000000000 +0000 +++ yaws-2.0.7+dfsg/testsuite/ssl_sni_SUITE_data/www/index.yaws 2019-07-14 13:01:11.000000000 +0000 @@ -0,0 +1,5 @@ + +out(Arg) -> + SC = get(sc), + {html, ["servername: ", yaws:sconf_servername(SC)]}. + diff -Nru yaws-2.0.6+dfsg/testsuite/ssl_sni_SUITE.erl yaws-2.0.7+dfsg/testsuite/ssl_sni_SUITE.erl --- yaws-2.0.6+dfsg/testsuite/ssl_sni_SUITE.erl 1970-01-01 00:00:00.000000000 +0000 +++ yaws-2.0.7+dfsg/testsuite/ssl_sni_SUITE.erl 2019-07-14 13:01:11.000000000 +0000 @@ -0,0 +1,306 @@ +-module(ssl_sni_SUITE). + +-include("testsuite.hrl"). +-include_lib("kernel/include/file.hrl"). + +-compile(export_all). + +all() -> + [ + sni_disabled, + sni_enabled, + sni_strict, + sni_required_on_vhost, + sni_not_enabled, + sni_without_tls, + sni_not_available + ]. + +groups() -> + [ + ]. + +-include_lib("public_key/include/public_key.hrl"). + +-define(YAWS_CERT_ISSUER, + "C=SE, ST=Gondwanaland, L=Yawstown, O=Hyber Inc., OU=Janitorial section, CN=localhost/nobody@nowhere.gondwanaland"). + +-define(ALICE_SNI_CERT_ISSUER, + "C=SE, ST=Gondwanaland, L=Yawstown, O=Hyber Inc., OU=Janitorial section, CN=alice.sni.example.com/nobody@nowhere.gondwanaland"). + +-define(YAWS_SNI_CERT_ISSUER, + "C=SE, ST=Gondwanaland, L=Yawstown, O=Hyber Inc., OU=Janitorial section, CN=yaws.sni.example.com/nobody@nowhere.gondwanaland"). + +%%==================================================================== +init_per_suite(Config) -> + Id = "testsuite-server", + YConf = filename:join(?tempdir(?MODULE), "yaws.conf"), + application:load(yaws), + application:set_env(yaws, id, Id), + application:set_env(yaws, conf, YConf), + ok = yaws:start(), + [{yaws_id, Id}, {yaws_config, YConf} | Config]. + +end_per_suite(_Config) -> + ok = application:stop(yaws), + ok = application:unload(yaws), + ok. + +init_per_group(_Group, Config) -> + Config. + +end_per_group(_Group, _Config) -> + ok. + +init_per_testcase(sni_disabled, Config) -> + restart_yaws("yaws_sni_disabled.conf", Config); +init_per_testcase(sni_enabled, Config) -> + case yaws_dynopts:have_ssl_sni() of + true -> restart_yaws("yaws_sni_enabled.conf", Config); + false -> {skip, "sni not supported on this Erlang/OTP release"} + end; +init_per_testcase(sni_strict, Config) -> + case yaws_dynopts:have_ssl_sni() of + true -> restart_yaws("yaws_sni_strict.conf", Config); + false -> {skip, "sni not supported on this Erlang/OTP release"} + end; +init_per_testcase(sni_required_on_vhost, Config) -> + case yaws_dynopts:have_ssl_sni() of + true -> restart_yaws("yaws_sni_required_on_vhost.conf", Config); + false -> {skip, "sni not supported on this Erlang/OTP release"} + end; +init_per_testcase(sni_without_tls, Config) -> + case yaws_dynopts:have_ssl_sni() of + true -> Config; + false -> {skip, "sni not supported on this Erlang/OTP release"} + end; +init_per_testcase(sni_not_available, Config) -> + case yaws_dynopts:have_ssl_sni() of + true -> {skip, "sni supported on this Erlang/OTP release"}; + false -> Config + end; +init_per_testcase(_Test, Config) -> + Config. + +end_per_testcase(_Test, _Config) -> + ok. + +%%==================================================================== +sni_disabled(Config) -> + Port = testsuite:get_yaws_port(1, Config), + Url = testsuite:make_url(https, "127.0.0.1", Port, "/index.yaws"), + SPort = integer_to_list(Port), + case yaws_dynopts:have_ssl_sni() of + true -> + ?assertEqual(ok, check_good_request(Url, "localhost:"++SPort, undefined, "localhost:"++SPort)), + ?assertEqual(ok, check_good_request(Url, "yaws.example.com:"++SPort, undefined, "yaws.example.com:"++SPort)), + ?assertEqual(ok, check_good_request(Url, "localhost:"++SPort, "alice.example.com", "localhost:"++SPort)), + ?assertEqual(ok, check_good_request(Url, "nomatch_servername:"++SPort, undefined, "localhost:"++SPort)), + ok; + false -> + ?assertEqual(ok, check_good_request(Url, "localhost:"++SPort, "localhost:"++SPort)), + ?assertEqual(ok, check_good_request(Url, "yaws.example.com:"++SPort, "yaws.example.com:"++SPort)), + ?assertEqual(ok, check_good_request(Url, "localhost:"++SPort, "localhost:"++SPort)), + ?assertEqual(ok, check_good_request(Url, "nomatch_servername:"++SPort, "localhost:"++SPort)), + ok + end. + + +sni_enabled(Config) -> + Port = testsuite:get_yaws_port(1, Config), + Url = testsuite:make_url(https, "127.0.0.1", Port, "/index.yaws"), + SPort = integer_to_list(Port), + ?assertEqual(ok, check_good_request(Url, "localhost:"++SPort, undefined, "localhost:"++SPort)), + ?assertEqual(ok, check_good_request(Url, "localhost:"++SPort, "localhost", "localhost:"++SPort)), + ?assertEqual(ok, check_good_request(Url, "nomatch_servername:"++SPort, undefined, "localhost:"++SPort)), + ?assertEqual(ok, check_good_request(Url, "nomatch_servername:"++SPort, "nomatch_servername", "localhost:"++SPort)), + + ?assertEqual(ok, check_good_request(Url, "alice.sni.example.com:"++SPort, undefined, "alice.sni.example.com:"++SPort)), + ?assertEqual(ok, check_good_request(Url, "alice.sni.example.com:"++SPort, "alice.sni.example.com", "alice.sni.example.com:"++SPort)), + ?assertEqual(ok, check_good_request(Url, "bob.sni.example.com:"++SPort, undefined, "alice.sni.example.com:"++SPort)), + ?assertEqual(ok, check_good_request(Url, "bob.sni.example.com:"++SPort, "bob.sni.example.com", "alice.sni.example.com:"++SPort)), + + ?assertEqual(ok, check_good_request(Url, "yaws.sni.example.com:"++SPort, undefined, "yaws.sni.example.com:"++SPort)), + ?assertEqual(ok, check_good_request(Url, "yaws.sni.example.com:"++SPort, "yaws.sni.example.com", "yaws.sni.example.com:"++SPort)), + ?assertEqual(ok, check_good_request(Url, "sni.example.com:"++SPort, undefined, "yaws.sni.example.com:"++SPort)), + ?assertEqual(ok, check_good_request(Url, "sni.example.com:"++SPort, "sni.example.com", "yaws.sni.example.com:"++SPort)), + ?assertEqual(ok, check_good_request(Url, "test.sni.example.com:"++SPort, undefined, "yaws.sni.example.com:"++SPort)), + ?assertEqual(ok, check_good_request(Url, "test.sni.example.com:"++SPort, "test.sni.example.com", "yaws.sni.example.com:"++SPort)), + + ?assertEqual(ok, check_bad_request(Url, "alice.sni.example.com:"++SPort, "localhost")), + + ?assertEqual(ok, check_ssl_cert(Port, "localhost", ?YAWS_CERT_ISSUER)), + ?assertEqual(ok, check_ssl_cert(Port, "nomatch_servername", ?YAWS_CERT_ISSUER)), + ?assertEqual(ok, check_ssl_cert(Port, undefined, ?YAWS_CERT_ISSUER)), + ?assertEqual(ok, check_ssl_cert(Port, "alice.sni.example.com", ?ALICE_SNI_CERT_ISSUER)), + ?assertEqual(ok, check_ssl_cert(Port, "bob.sni.example.com", ?ALICE_SNI_CERT_ISSUER)), + ?assertEqual(ok, check_ssl_cert(Port, "yaws.sni.example.com", ?YAWS_SNI_CERT_ISSUER)), + ?assertEqual(ok, check_ssl_cert(Port, "sni.example.com", ?YAWS_SNI_CERT_ISSUER)), + ?assertEqual(ok, check_ssl_cert(Port, "test.sni.example.com", ?YAWS_SNI_CERT_ISSUER)), + ok. + +sni_strict(Config) -> + Port = testsuite:get_yaws_port(1, Config), + Url = testsuite:make_url(https, "127.0.0.1", Port, "/index.yaws"), + SPort = integer_to_list(Port), + ?assertEqual(ok, check_good_request(Url, "localhost:"++SPort, "localhost", "localhost:"++SPort)), + ?assertEqual(ok, check_good_request(Url, "nomatch_servername:"++SPort, "nomatch_servername", "localhost:"++SPort)), + + ?assertEqual(ok, check_good_request(Url, "alice.sni.example.com:"++SPort, "alice.sni.example.com", "alice.sni.example.com:"++SPort)), + ?assertEqual(ok, check_good_request(Url, "bob.sni.example.com:"++SPort, "bob.sni.example.com", "alice.sni.example.com:"++SPort)), + + ?assertEqual(ok, check_good_request(Url, "yaws.sni.example.com:"++SPort, "yaws.sni.example.com", "yaws.sni.example.com:"++SPort)), + ?assertEqual(ok, check_good_request(Url, "sni.example.com:"++SPort, "sni.example.com", "yaws.sni.example.com:"++SPort)), + ?assertEqual(ok, check_good_request(Url, "test.sni.example.com:"++SPort, "test.sni.example.com", "yaws.sni.example.com:"++SPort)), + + ?assertEqual(ok, check_bad_request(Url, "alice.sni.example.com:"++SPort, "localhost")), + ?assertEqual(ok, check_bad_request(Url, "localhost:"++SPort, undefined)), + ?assertEqual(ok, check_bad_request(Url, "nomatch_servername:"++SPort, undefined)), + ?assertEqual(ok, check_bad_request(Url, "alice.sni.example.com:"++SPort, undefined)), + ?assertEqual(ok, check_bad_request(Url, "bob.sni.example.com:"++SPort, undefined)), + ?assertEqual(ok, check_bad_request(Url, "yaws.sni.example.com:"++SPort, undefined)), + ?assertEqual(ok, check_bad_request(Url, "sni.example.com:"++SPort, undefined)), + ?assertEqual(ok, check_bad_request(Url, "test.sni.example.com:"++SPort, undefined)), + + ?assertEqual(ok, check_ssl_cert(Port, "localhost", ?YAWS_CERT_ISSUER)), + ?assertEqual(ok, check_ssl_cert(Port, "nomatch_servername", ?YAWS_CERT_ISSUER)), + ?assertEqual(ok, check_ssl_cert(Port, undefined, ?YAWS_CERT_ISSUER)), + ?assertEqual(ok, check_ssl_cert(Port, "alice.sni.example.com", ?ALICE_SNI_CERT_ISSUER)), + ?assertEqual(ok, check_ssl_cert(Port, "bob.sni.example.com", ?ALICE_SNI_CERT_ISSUER)), + ?assertEqual(ok, check_ssl_cert(Port, "yaws.sni.example.com", ?YAWS_SNI_CERT_ISSUER)), + ?assertEqual(ok, check_ssl_cert(Port, "sni.example.com", ?YAWS_SNI_CERT_ISSUER)), + ?assertEqual(ok, check_ssl_cert(Port, "test.sni.example.com", ?YAWS_SNI_CERT_ISSUER)), + ok. + +sni_required_on_vhost(Config) -> + Port = testsuite:get_yaws_port(1, Config), + Url = testsuite:make_url(https, "127.0.0.1", Port, "/index.yaws"), + SPort = integer_to_list(Port), + ?assertEqual(ok, check_good_request(Url, "localhost:"++SPort, "localhost", "localhost:"++SPort)), + + ?assertEqual(ok, check_good_request(Url, "alice.sni.example.com:"++SPort, "alice.sni.example.com", "alice.sni.example.com:"++SPort)), + ?assertEqual(ok, check_good_request(Url, "bob.sni.example.com:"++SPort, "bob.sni.example.com", "alice.sni.example.com:"++SPort)), + + ?assertEqual(ok, check_good_request(Url, "yaws.sni.example.com:"++SPort, undefined, "yaws.sni.example.com:"++SPort)), + ?assertEqual(ok, check_good_request(Url, "yaws.sni.example.com:"++SPort, "yaws.sni.example.com", "yaws.sni.example.com:"++SPort)), + ?assertEqual(ok, check_good_request(Url, "sni.example.com:"++SPort, undefined, "yaws.sni.example.com:"++SPort)), + ?assertEqual(ok, check_good_request(Url, "sni.example.com:"++SPort, "sni.example.com", "yaws.sni.example.com:"++SPort)), + ?assertEqual(ok, check_good_request(Url, "test.sni.example.com:"++SPort, undefined, "yaws.sni.example.com:"++SPort)), + ?assertEqual(ok, check_good_request(Url, "test.sni.example.com:"++SPort, "test.sni.example.com", "yaws.sni.example.com:"++SPort)), + + ?assertEqual(ok, check_bad_request(Url, "alice.sni.example.com:"++SPort, "localhost")), + ?assertEqual(ok, check_bad_request(Url, "localhost:"++SPort, undefined)), + ?assertEqual(ok, check_bad_request(Url, "nomatch_servername:"++SPort, undefined)), + ?assertEqual(ok, check_bad_request(Url, "alice.sni.example.com:"++SPort, undefined)), + ?assertEqual(ok, check_bad_request(Url, "bob.sni.example.com:"++SPort, undefined)), + + ?assertEqual(ok, check_ssl_cert(Port, "localhost", ?YAWS_CERT_ISSUER)), + ?assertEqual(ok, check_ssl_cert(Port, "nomatch_servername", ?YAWS_CERT_ISSUER)), + ?assertEqual(ok, check_ssl_cert(Port, undefined, ?YAWS_CERT_ISSUER)), + ?assertEqual(ok, check_ssl_cert(Port, "alice.sni.example.com", ?ALICE_SNI_CERT_ISSUER)), + ?assertEqual(ok, check_ssl_cert(Port, "bob.sni.example.com", ?ALICE_SNI_CERT_ISSUER)), + ?assertEqual(ok, check_ssl_cert(Port, "yaws.sni.example.com", ?YAWS_SNI_CERT_ISSUER)), + ?assertEqual(ok, check_ssl_cert(Port, "sni.example.com", ?YAWS_SNI_CERT_ISSUER)), + ?assertEqual(ok, check_ssl_cert(Port, "test.sni.example.com", ?YAWS_SNI_CERT_ISSUER)), + ok. + + +sni_not_enabled(_Config) -> + Env = #env{debug=false, conf={file, ?tempdir(?MODULE) ++ "/yaws_sni_not_enabled.conf"}}, + ?assertMatch({error, _}, yaws_config:load(Env)), + ok. + +sni_without_tls(_Config) -> + Env = #env{debug=false, conf={file, ?tempdir(?MODULE) ++ "/yaws_sni_without_tls.conf"}}, + ?assertMatch({error, _}, yaws_config:load(Env)), + ok. + +sni_not_available(_Config) -> + Env = #env{debug=false, conf={file, ?tempdir(?MODULE) ++ "/yaws_sni_not_available.conf"}}, + ?assertMatch({error, _}, yaws_config:load(Env)), + ok. + +%%==================================================================== +restart_yaws(File, Config)-> + YConf = filename:join(?tempdir(?MODULE), File), + application:set_env(yaws, conf, YConf), + ok = yaws:stop(), + ok = yaws:start(), + [{yaws_ssl_config, YConf} | Config]. + +%%==================================================================== +%% non SNI version +check_good_request(Url, HttpHost, SN) -> + Res = iolist_to_binary([<<"servername: ">>, SN, $\n]), + + ConnHdr = {"Connection", "close"}, + HostHdr = {"Host", HttpHost}, + + ?assertMatch({ok, {{_,200,_}, _, Res}}, testsuite:http_get(Url, [HostHdr, ConnHdr])), + ok. + +%% SNI version +check_good_request(Url, HttpHost, SniHost, SN) -> + Res = iolist_to_binary([<<"servername: ">>, SN, $\n]), + + ConnHdr = {"Connection", "close"}, + HostHdr = {"Host", HttpHost}, + SSLOpts = case SniHost of + undefined -> [{server_name_indication, disable}]; + H -> [{server_name_indication, H}] + end, + + ?assertMatch({ok, {{_,200,_}, _, Res}}, testsuite:http_get(Url, [HostHdr, ConnHdr], [], SSLOpts)), + ok. + +check_bad_request(Url, HttpHost, SniHost) -> + ConnHdr = {"Connection", "close"}, + HostHdr = {"Host", HttpHost}, + SSLOpts = case SniHost of + undefined -> [{server_name_indication, disable}]; + H -> [{server_name_indication, H}] + end, + ?assertMatch({ok, {{_,400,_}, _, _}}, testsuite:http_get(Url, [HostHdr, ConnHdr], [], SSLOpts)), + ok. + +check_ssl_cert(Port, SniHost, Issuer) -> + SSLOpts = case SniHost of + undefined -> [{verify, verify_none}, {server_name_indication, disable}]; + H -> [{verify, verify_none}, {server_name_indication, H}] + end, + {ok, Sock} = ssl:connect("127.0.0.1", Port, SSLOpts), + ?assertEqual(Issuer, get_issuer(Sock)), + ?assertEqual(ok, ssl:close(Sock)), + ok. + +get_issuer(Sock) -> + {ok, Cert} = ssl:peercert(Sock), + OTPCert = public_key:pkix_decode_cert(Cert, otp), + C = get_attr_value(OTPCert, ?'id-at-countryName'), + ST = get_attr_value(OTPCert, ?'id-at-stateOrProvinceName'), + L = get_attr_value(OTPCert, ?'id-at-localityName'), + O = get_attr_value(OTPCert, ?'id-at-organizationName'), + OU = get_attr_value(OTPCert, ?'id-at-organizationalUnitName'), + CN = get_attr_value(OTPCert, ?'id-at-commonName'), + E = get_attr_value(OTPCert, ?'id-emailAddress'), + lists:flatten( + io_lib:format("C=~s, ST=~s, L=~s, O=~s, OU=~s, CN=~s/~s", + [C, ST, L, O, OU, CN, E]) + ). + +get_attr_value(OTPCert, Id) -> + {rdnSequence, Subject} = OTPCert#'OTPCertificate'.tbsCertificate#'OTPTBSCertificate'.subject, + case [ATV#'AttributeTypeAndValue'.value + || [ATV] <- Subject, ATV#'AttributeTypeAndValue'.type == Id] of + [Att] -> + case Att of + {teletexString, Str} -> Str; + {printableString, Str} -> Str; + {utf8String, Bin} -> binary_to_list(Bin); + Str when is_list(Str) -> Str; + Bin when is_binary(Bin) -> binary_to_list(Bin); + _ -> "unexpected" + end; + _ -> + "unknown" + end. diff -Nru yaws-2.0.6+dfsg/testsuite/subconfig_SUITE_data/templates/global_absolute_subconfig.conf yaws-2.0.7+dfsg/testsuite/subconfig_SUITE_data/templates/global_absolute_subconfig.conf --- yaws-2.0.6+dfsg/testsuite/subconfig_SUITE_data/templates/global_absolute_subconfig.conf 1970-01-01 00:00:00.000000000 +0000 +++ yaws-2.0.7+dfsg/testsuite/subconfig_SUITE_data/templates/global_absolute_subconfig.conf 2019-07-14 13:01:11.000000000 +0000 @@ -0,0 +1,9 @@ + + port = 8000 + listen = 0.0.0.0 + docroot = /tmp + + subconfigdir = $tempdir$/server_subconfigdir.d + subconfig = $tempdir$/server_subconfig.conf + subconfig = $tempdir$/server_subconfig.d/*.conf + diff -Nru yaws-2.0.6+dfsg/testsuite/subconfig_SUITE_data/templates/global_relative_subconfig.conf yaws-2.0.7+dfsg/testsuite/subconfig_SUITE_data/templates/global_relative_subconfig.conf --- yaws-2.0.6+dfsg/testsuite/subconfig_SUITE_data/templates/global_relative_subconfig.conf 1970-01-01 00:00:00.000000000 +0000 +++ yaws-2.0.7+dfsg/testsuite/subconfig_SUITE_data/templates/global_relative_subconfig.conf 2019-07-14 13:01:11.000000000 +0000 @@ -0,0 +1,9 @@ + + port = 8000 + listen = 0.0.0.0 + docroot = /tmp + + subconfigdir = server_subconfigdir.d + subconfig = server_subconfig.conf + subconfig = server_subconfig.d/*.conf + diff -Nru yaws-2.0.6+dfsg/testsuite/subconfig_SUITE_data/templates/global_subconfig.d/.hidden.conf yaws-2.0.7+dfsg/testsuite/subconfig_SUITE_data/templates/global_subconfig.d/.hidden.conf --- yaws-2.0.6+dfsg/testsuite/subconfig_SUITE_data/templates/global_subconfig.d/.hidden.conf 1970-01-01 00:00:00.000000000 +0000 +++ yaws-2.0.7+dfsg/testsuite/subconfig_SUITE_data/templates/global_subconfig.d/.hidden.conf 2019-07-14 13:01:11.000000000 +0000 @@ -0,0 +1 @@ +invalid_param = error diff -Nru yaws-2.0.6+dfsg/testsuite/subconfig_SUITE_data/templates/global_subconfig.d/ignored yaws-2.0.7+dfsg/testsuite/subconfig_SUITE_data/templates/global_subconfig.d/ignored --- yaws-2.0.6+dfsg/testsuite/subconfig_SUITE_data/templates/global_subconfig.d/ignored 1970-01-01 00:00:00.000000000 +0000 +++ yaws-2.0.7+dfsg/testsuite/subconfig_SUITE_data/templates/global_subconfig.d/ignored 2019-07-14 13:01:11.000000000 +0000 @@ -0,0 +1 @@ +invalid_param = error diff -Nru yaws-2.0.6+dfsg/testsuite/subconfig_SUITE_data/templates/global_subconfig.d/subconfig1.conf yaws-2.0.7+dfsg/testsuite/subconfig_SUITE_data/templates/global_subconfig.d/subconfig1.conf --- yaws-2.0.6+dfsg/testsuite/subconfig_SUITE_data/templates/global_subconfig.d/subconfig1.conf 1970-01-01 00:00:00.000000000 +0000 +++ yaws-2.0.7+dfsg/testsuite/subconfig_SUITE_data/templates/global_subconfig.d/subconfig1.conf 2019-07-14 13:01:11.000000000 +0000 @@ -0,0 +1,5 @@ + + port = 8001 + listen = 0.0.0.0 + docroot = /tmp + diff -Nru yaws-2.0.6+dfsg/testsuite/subconfig_SUITE_data/templates/global_subconfig.d/subconfig2.conf yaws-2.0.7+dfsg/testsuite/subconfig_SUITE_data/templates/global_subconfig.d/subconfig2.conf --- yaws-2.0.6+dfsg/testsuite/subconfig_SUITE_data/templates/global_subconfig.d/subconfig2.conf 1970-01-01 00:00:00.000000000 +0000 +++ yaws-2.0.7+dfsg/testsuite/subconfig_SUITE_data/templates/global_subconfig.d/subconfig2.conf 2019-07-14 13:01:11.000000000 +0000 @@ -0,0 +1,5 @@ + + port = 8002 + listen = 0.0.0.0 + docroot = /tmp + diff -Nru yaws-2.0.6+dfsg/testsuite/subconfig_SUITE_data/templates/global_subconfigdir.d/.hidden.conf yaws-2.0.7+dfsg/testsuite/subconfig_SUITE_data/templates/global_subconfigdir.d/.hidden.conf --- yaws-2.0.6+dfsg/testsuite/subconfig_SUITE_data/templates/global_subconfigdir.d/.hidden.conf 1970-01-01 00:00:00.000000000 +0000 +++ yaws-2.0.7+dfsg/testsuite/subconfig_SUITE_data/templates/global_subconfigdir.d/.hidden.conf 2019-07-14 13:01:11.000000000 +0000 @@ -0,0 +1 @@ +invalid_param = error diff -Nru yaws-2.0.6+dfsg/testsuite/subconfig_SUITE_data/templates/global_subconfigdir.d/subconfigdir1.conf yaws-2.0.7+dfsg/testsuite/subconfig_SUITE_data/templates/global_subconfigdir.d/subconfigdir1.conf --- yaws-2.0.6+dfsg/testsuite/subconfig_SUITE_data/templates/global_subconfigdir.d/subconfigdir1.conf 1970-01-01 00:00:00.000000000 +0000 +++ yaws-2.0.7+dfsg/testsuite/subconfig_SUITE_data/templates/global_subconfigdir.d/subconfigdir1.conf 2019-07-14 13:01:11.000000000 +0000 @@ -0,0 +1,5 @@ + + port = 8003 + listen = 0.0.0.0 + docroot = /tmp + diff -Nru yaws-2.0.6+dfsg/testsuite/subconfig_SUITE_data/templates/global_subconfigdir.d/subconfigdir2.conf yaws-2.0.7+dfsg/testsuite/subconfig_SUITE_data/templates/global_subconfigdir.d/subconfigdir2.conf --- yaws-2.0.6+dfsg/testsuite/subconfig_SUITE_data/templates/global_subconfigdir.d/subconfigdir2.conf 1970-01-01 00:00:00.000000000 +0000 +++ yaws-2.0.7+dfsg/testsuite/subconfig_SUITE_data/templates/global_subconfigdir.d/subconfigdir2.conf 2019-07-14 13:01:11.000000000 +0000 @@ -0,0 +1,5 @@ + + port = 8004 + listen = 0.0.0.0 + docroot = /tmp + diff -Nru yaws-2.0.6+dfsg/testsuite/subconfig_SUITE_data/templates/server_subconfig_closing_tag.conf yaws-2.0.7+dfsg/testsuite/subconfig_SUITE_data/templates/server_subconfig_closing_tag.conf --- yaws-2.0.6+dfsg/testsuite/subconfig_SUITE_data/templates/server_subconfig_closing_tag.conf 1970-01-01 00:00:00.000000000 +0000 +++ yaws-2.0.7+dfsg/testsuite/subconfig_SUITE_data/templates/server_subconfig_closing_tag.conf 2019-07-14 13:01:11.000000000 +0000 @@ -0,0 +1 @@ +
        diff -Nru yaws-2.0.6+dfsg/testsuite/subconfig_SUITE_data/templates/server_subconfig.conf yaws-2.0.7+dfsg/testsuite/subconfig_SUITE_data/templates/server_subconfig.conf --- yaws-2.0.6+dfsg/testsuite/subconfig_SUITE_data/templates/server_subconfig.conf 1970-01-01 00:00:00.000000000 +0000 +++ yaws-2.0.7+dfsg/testsuite/subconfig_SUITE_data/templates/server_subconfig.conf 2019-07-14 13:01:11.000000000 +0000 @@ -0,0 +1 @@ +serveralias = server_subconfig diff -Nru yaws-2.0.6+dfsg/testsuite/subconfig_SUITE_data/templates/server_subconfig.d/.hidden.conf yaws-2.0.7+dfsg/testsuite/subconfig_SUITE_data/templates/server_subconfig.d/.hidden.conf --- yaws-2.0.6+dfsg/testsuite/subconfig_SUITE_data/templates/server_subconfig.d/.hidden.conf 1970-01-01 00:00:00.000000000 +0000 +++ yaws-2.0.7+dfsg/testsuite/subconfig_SUITE_data/templates/server_subconfig.d/.hidden.conf 2019-07-14 13:01:11.000000000 +0000 @@ -0,0 +1 @@ +invalid_param = error diff -Nru yaws-2.0.6+dfsg/testsuite/subconfig_SUITE_data/templates/server_subconfig.d/ignored yaws-2.0.7+dfsg/testsuite/subconfig_SUITE_data/templates/server_subconfig.d/ignored --- yaws-2.0.6+dfsg/testsuite/subconfig_SUITE_data/templates/server_subconfig.d/ignored 1970-01-01 00:00:00.000000000 +0000 +++ yaws-2.0.7+dfsg/testsuite/subconfig_SUITE_data/templates/server_subconfig.d/ignored 2019-07-14 13:01:11.000000000 +0000 @@ -0,0 +1 @@ +invalid_param = error diff -Nru yaws-2.0.6+dfsg/testsuite/subconfig_SUITE_data/templates/server_subconfig.d/subconfig1.conf yaws-2.0.7+dfsg/testsuite/subconfig_SUITE_data/templates/server_subconfig.d/subconfig1.conf --- yaws-2.0.6+dfsg/testsuite/subconfig_SUITE_data/templates/server_subconfig.d/subconfig1.conf 1970-01-01 00:00:00.000000000 +0000 +++ yaws-2.0.7+dfsg/testsuite/subconfig_SUITE_data/templates/server_subconfig.d/subconfig1.conf 2019-07-14 13:01:11.000000000 +0000 @@ -0,0 +1 @@ +serveralias = server_subconfig1 diff -Nru yaws-2.0.6+dfsg/testsuite/subconfig_SUITE_data/templates/server_subconfig.d/subconfig2.conf yaws-2.0.7+dfsg/testsuite/subconfig_SUITE_data/templates/server_subconfig.d/subconfig2.conf --- yaws-2.0.6+dfsg/testsuite/subconfig_SUITE_data/templates/server_subconfig.d/subconfig2.conf 1970-01-01 00:00:00.000000000 +0000 +++ yaws-2.0.7+dfsg/testsuite/subconfig_SUITE_data/templates/server_subconfig.d/subconfig2.conf 2019-07-14 13:01:11.000000000 +0000 @@ -0,0 +1 @@ +serveralias = server_subconfig2 diff -Nru yaws-2.0.6+dfsg/testsuite/subconfig_SUITE_data/templates/server_subconfigdir.d/.hidden.conf yaws-2.0.7+dfsg/testsuite/subconfig_SUITE_data/templates/server_subconfigdir.d/.hidden.conf --- yaws-2.0.6+dfsg/testsuite/subconfig_SUITE_data/templates/server_subconfigdir.d/.hidden.conf 1970-01-01 00:00:00.000000000 +0000 +++ yaws-2.0.7+dfsg/testsuite/subconfig_SUITE_data/templates/server_subconfigdir.d/.hidden.conf 2019-07-14 13:01:11.000000000 +0000 @@ -0,0 +1 @@ +invalid_param = error diff -Nru yaws-2.0.6+dfsg/testsuite/subconfig_SUITE_data/templates/server_subconfigdir.d/subconfigdir1.conf yaws-2.0.7+dfsg/testsuite/subconfig_SUITE_data/templates/server_subconfigdir.d/subconfigdir1.conf --- yaws-2.0.6+dfsg/testsuite/subconfig_SUITE_data/templates/server_subconfigdir.d/subconfigdir1.conf 1970-01-01 00:00:00.000000000 +0000 +++ yaws-2.0.7+dfsg/testsuite/subconfig_SUITE_data/templates/server_subconfigdir.d/subconfigdir1.conf 2019-07-14 13:01:11.000000000 +0000 @@ -0,0 +1 @@ +serveralias = server_subconfigdir1 diff -Nru yaws-2.0.6+dfsg/testsuite/subconfig_SUITE_data/templates/server_subconfigdir.d/subconfigdir2.conf yaws-2.0.7+dfsg/testsuite/subconfig_SUITE_data/templates/server_subconfigdir.d/subconfigdir2.conf --- yaws-2.0.6+dfsg/testsuite/subconfig_SUITE_data/templates/server_subconfigdir.d/subconfigdir2.conf 1970-01-01 00:00:00.000000000 +0000 +++ yaws-2.0.7+dfsg/testsuite/subconfig_SUITE_data/templates/server_subconfigdir.d/subconfigdir2.conf 2019-07-14 13:01:11.000000000 +0000 @@ -0,0 +1 @@ +serveralias = server_subconfigdir2 diff -Nru yaws-2.0.6+dfsg/testsuite/subconfig_SUITE_data/templates/yaws_absolute.conf yaws-2.0.7+dfsg/testsuite/subconfig_SUITE_data/templates/yaws_absolute.conf --- yaws-2.0.6+dfsg/testsuite/subconfig_SUITE_data/templates/yaws_absolute.conf 1970-01-01 00:00:00.000000000 +0000 +++ yaws-2.0.7+dfsg/testsuite/subconfig_SUITE_data/templates/yaws_absolute.conf 2019-07-14 13:01:11.000000000 +0000 @@ -0,0 +1,3 @@ +subconfigdir = $tempdir$/global_subconfigdir.d +subconfig = $tempdir$/global_absolute_subconfig.conf +subconfig = $tempdir$/global_subconfig.d/*.conf diff -Nru yaws-2.0.6+dfsg/testsuite/subconfig_SUITE_data/templates/yaws_global_subconfig_notfound1.conf yaws-2.0.7+dfsg/testsuite/subconfig_SUITE_data/templates/yaws_global_subconfig_notfound1.conf --- yaws-2.0.6+dfsg/testsuite/subconfig_SUITE_data/templates/yaws_global_subconfig_notfound1.conf 1970-01-01 00:00:00.000000000 +0000 +++ yaws-2.0.7+dfsg/testsuite/subconfig_SUITE_data/templates/yaws_global_subconfig_notfound1.conf 2019-07-14 13:01:11.000000000 +0000 @@ -0,0 +1 @@ +subconfig = /tmp/global_subconfig_notfound.conf diff -Nru yaws-2.0.6+dfsg/testsuite/subconfig_SUITE_data/templates/yaws_global_subconfig_notfound2.conf yaws-2.0.7+dfsg/testsuite/subconfig_SUITE_data/templates/yaws_global_subconfig_notfound2.conf --- yaws-2.0.6+dfsg/testsuite/subconfig_SUITE_data/templates/yaws_global_subconfig_notfound2.conf 1970-01-01 00:00:00.000000000 +0000 +++ yaws-2.0.7+dfsg/testsuite/subconfig_SUITE_data/templates/yaws_global_subconfig_notfound2.conf 2019-07-14 13:01:11.000000000 +0000 @@ -0,0 +1 @@ +subconfig = global_subconfig_notfound.conf diff -Nru yaws-2.0.6+dfsg/testsuite/subconfig_SUITE_data/templates/yaws_global_subconfig_notfound3.conf yaws-2.0.7+dfsg/testsuite/subconfig_SUITE_data/templates/yaws_global_subconfig_notfound3.conf --- yaws-2.0.6+dfsg/testsuite/subconfig_SUITE_data/templates/yaws_global_subconfig_notfound3.conf 1970-01-01 00:00:00.000000000 +0000 +++ yaws-2.0.7+dfsg/testsuite/subconfig_SUITE_data/templates/yaws_global_subconfig_notfound3.conf 2019-07-14 13:01:11.000000000 +0000 @@ -0,0 +1 @@ +subconfigdir = /notfound/global_subconfig.conf diff -Nru yaws-2.0.6+dfsg/testsuite/subconfig_SUITE_data/templates/yaws_relative.conf yaws-2.0.7+dfsg/testsuite/subconfig_SUITE_data/templates/yaws_relative.conf --- yaws-2.0.6+dfsg/testsuite/subconfig_SUITE_data/templates/yaws_relative.conf 1970-01-01 00:00:00.000000000 +0000 +++ yaws-2.0.7+dfsg/testsuite/subconfig_SUITE_data/templates/yaws_relative.conf 2019-07-14 13:01:11.000000000 +0000 @@ -0,0 +1,3 @@ +subconfigdir = global_subconfigdir.d +subconfig = global_relative_subconfig.conf +subconfig = global_subconfig.d/*.conf diff -Nru yaws-2.0.6+dfsg/testsuite/subconfig_SUITE_data/templates/yaws_server_subconfig_closing_tag.conf yaws-2.0.7+dfsg/testsuite/subconfig_SUITE_data/templates/yaws_server_subconfig_closing_tag.conf --- yaws-2.0.6+dfsg/testsuite/subconfig_SUITE_data/templates/yaws_server_subconfig_closing_tag.conf 1970-01-01 00:00:00.000000000 +0000 +++ yaws-2.0.7+dfsg/testsuite/subconfig_SUITE_data/templates/yaws_server_subconfig_closing_tag.conf 2019-07-14 13:01:11.000000000 +0000 @@ -0,0 +1,7 @@ + + port = 8000 + listen = 0.0.0.0 + docroot = /tmp + + subconfig = server_subconfig_closing_tag.conf + diff -Nru yaws-2.0.6+dfsg/testsuite/subconfig_SUITE_data/templates/yaws_server_subconfig_notfound1.conf yaws-2.0.7+dfsg/testsuite/subconfig_SUITE_data/templates/yaws_server_subconfig_notfound1.conf --- yaws-2.0.6+dfsg/testsuite/subconfig_SUITE_data/templates/yaws_server_subconfig_notfound1.conf 1970-01-01 00:00:00.000000000 +0000 +++ yaws-2.0.7+dfsg/testsuite/subconfig_SUITE_data/templates/yaws_server_subconfig_notfound1.conf 2019-07-14 13:01:11.000000000 +0000 @@ -0,0 +1,7 @@ + + port = 8000 + listen = 0.0.0.0 + docroot = /tmp + + subconfig = /tmp/server_subconfig_notfound.conf + diff -Nru yaws-2.0.6+dfsg/testsuite/subconfig_SUITE_data/templates/yaws_server_subconfig_notfound2.conf yaws-2.0.7+dfsg/testsuite/subconfig_SUITE_data/templates/yaws_server_subconfig_notfound2.conf --- yaws-2.0.6+dfsg/testsuite/subconfig_SUITE_data/templates/yaws_server_subconfig_notfound2.conf 1970-01-01 00:00:00.000000000 +0000 +++ yaws-2.0.7+dfsg/testsuite/subconfig_SUITE_data/templates/yaws_server_subconfig_notfound2.conf 2019-07-14 13:01:11.000000000 +0000 @@ -0,0 +1,7 @@ + + port = 8000 + listen = 0.0.0.0 + docroot = /tmp + + subconfig = server_subconfig_notfound.conf + diff -Nru yaws-2.0.6+dfsg/testsuite/subconfig_SUITE_data/templates/yaws_server_subconfig_notfound3.conf yaws-2.0.7+dfsg/testsuite/subconfig_SUITE_data/templates/yaws_server_subconfig_notfound3.conf --- yaws-2.0.6+dfsg/testsuite/subconfig_SUITE_data/templates/yaws_server_subconfig_notfound3.conf 1970-01-01 00:00:00.000000000 +0000 +++ yaws-2.0.7+dfsg/testsuite/subconfig_SUITE_data/templates/yaws_server_subconfig_notfound3.conf 2019-07-14 13:01:11.000000000 +0000 @@ -0,0 +1,7 @@ + + port = 8000 + listen = 0.0.0.0 + docroot = /tmp + + subconfigdir = /notfound/server_subconfig.conf + diff -Nru yaws-2.0.6+dfsg/testsuite/subconfig_SUITE.erl yaws-2.0.7+dfsg/testsuite/subconfig_SUITE.erl --- yaws-2.0.6+dfsg/testsuite/subconfig_SUITE.erl 1970-01-01 00:00:00.000000000 +0000 +++ yaws-2.0.7+dfsg/testsuite/subconfig_SUITE.erl 2019-07-14 13:01:11.000000000 +0000 @@ -0,0 +1,100 @@ +-module(subconfig_SUITE). + +-include("testsuite.hrl"). + +-compile(export_all). + +all() -> + [ + bad_global_subconfig, + bad_server_subconfig, + absolute_subconfig, + relative_subconfig + ]. + +groups() -> + [ + ]. + +%%==================================================================== +init_per_suite(Config) -> + Config. + +end_per_suite(_Config) -> + ok. + +init_per_group(_Group, Config) -> + Config. + +end_per_group(_Group, _Config) -> + ok. + +init_per_testcase(_Test, Config) -> + Config. + +end_per_testcase(_Test, _Config) -> + ok. + +%%==================================================================== +bad_global_subconfig(_Config) -> + Env1 = #env{debug = false, + conf = {file, ?tempdir(?MODULE) ++ "/yaws_global_subconfig_notfound1.conf"}}, + {error, _} = yaws_config:load(Env1), + + Env2 = #env{debug = false, + conf = {file, ?tempdir(?MODULE) ++ "/yaws_global_subconfig_notfound2.conf"}}, + {error, _} = yaws_config:load(Env2), + + Env3 = #env{debug = false, + conf = {file, ?tempdir(?MODULE) ++ "/yaws_global_subconfig_notfound3.conf"}}, + {error, _} = yaws_config:load(Env3), + + ok. + +bad_server_subconfig(_Config) -> + Env1 = #env{debug = false, + conf = {file, ?tempdir(?MODULE) ++ "/yaws_server_subconfig_notfound1.conf"}}, + {error, _} = yaws_config:load(Env1), + + Env2 = #env{debug = false, + conf = {file, ?tempdir(?MODULE) ++ "/yaws_server_subconfig_notfound2.conf"}}, + {error, _} = yaws_config:load(Env2), + + Env3 = #env{debug = false, + conf = {file, ?tempdir(?MODULE) ++ "/yaws_server_subconfig_notfound3.conf"}}, + {error, _} = yaws_config:load(Env3), + + Env4 = #env{debug = false, + conf = {file, ?tempdir(?MODULE) ++ "/yaws_server_subconfig_closing_tag.conf"}}, + {error, _} = yaws_config:load(Env4), + + ok. + +absolute_subconfig(_Config) -> + F = ?tempdir(?MODULE) ++ "/yaws_absolute.conf", + Env = #env{debug=false, conf={file,F}}, + {ok, _GC, SCs} = yaws_config:load(Env), + check_sconfs(lists:flatten(SCs)). + +relative_subconfig(_Config) -> + F = ?tempdir(?MODULE) ++ "/yaws_relative.conf", + Env = #env{debug=false, conf={file,F}}, + {ok, _GC, SCs} = yaws_config:load(Env), + check_sconfs(lists:flatten(SCs)). + +check_sconfs(SCs) -> + ?assertEqual(5, length(SCs)), + ?assert(lists:keymember(8000, #sconf.port, SCs)), + ?assert(lists:keymember(8001, #sconf.port, SCs)), + ?assert(lists:keymember(8002, #sconf.port, SCs)), + ?assert(lists:keymember(8003, #sconf.port, SCs)), + ?assert(lists:keymember(8004, #sconf.port, SCs)), + + SC_8000 = lists:keyfind(8000, #sconf.port, SCs), + ?assertEqual(5, length(SC_8000#sconf.serveralias)), + ?assert(lists:member("server_subconfig", SC_8000#sconf.serveralias)), + ?assert(lists:member("server_subconfig1", SC_8000#sconf.serveralias)), + ?assert(lists:member("server_subconfig2", SC_8000#sconf.serveralias)), + ?assert(lists:member("server_subconfigdir1", SC_8000#sconf.serveralias)), + ?assert(lists:member("server_subconfigdir2", SC_8000#sconf.serveralias)), + ok. diff -Nru yaws-2.0.6+dfsg/testsuite/testsuite.erl yaws-2.0.7+dfsg/testsuite/testsuite.erl --- yaws-2.0.6+dfsg/testsuite/testsuite.erl 1970-01-01 00:00:00.000000000 +0000 +++ yaws-2.0.7+dfsg/testsuite/testsuite.erl 2019-07-14 13:01:11.000000000 +0000 @@ -0,0 +1,893 @@ +-module(testsuite). + +-include("testsuite.hrl"). + +%% Testsuite API +-export([ + create_dir/1, + + receive_http_headers/1, + receive_http_body/2, receive_http_chunked_body/1, + receive_http_response/1, receive_http_response/2, + receive_http_response/3, + + send_http_headers/3, + send_http_body/2, + send_http_request/3, send_http_request/4, + + http_get/1, http_get/2, http_get/3, http_get/4, + http_post/2, http_post/3, http_post/4, http_post/5, + http_req/2, http_req/3, http_req/4, http_req/5, http_req/6, + + post_file/1, + + add_yaws_server/2, delete_yaws_server/1, reset_yaws_servers/0, + yaws_servers/0, make_url/4, get_yaws_port/2 + ]). + + +%% CT_HOOKS callbacks +-export([ + init/2, terminate/1, + pre_init_per_suite/3, post_end_per_suite/4, + pre_init_per_group/3, post_end_per_group/4, + pre_init_per_testcase/3, post_init_per_testcase/4, post_end_per_testcase/4 + ]). + + +-record(suite_state, + { + name :: atom(), + passed = 0 :: non_neg_integer(), + failed = 0 :: non_neg_integer(), + skipped = 0 :: non_neg_integer() + }). + +-record(ct_state, + { + suites = [] :: [#suite_state{}], + current_suite :: #suite_state{}, + private_ports = [] :: [pos_integer()] + }). + + +-define(PRINT_START_TC(Name, Config), + begin + SepLine = lists:duplicate(74, $=), + TCTitle = lists:flatten(io_lib:format("[ Testcase ~p ]", [Name])), + TCLogFile = ?config(tc_logfile, Config), + TCPrivDir = ?config(priv_dir, Config), + ct:print("~n\t~s~n\t~s~n\t~s~n~n~n" + "Testcase log file : ~s~n" + "Private log directory : ~s~n" + "Testcase configuration : ~p~n", + [SepLine, string:centre(TCTitle,74,$=), SepLine, + TCLogFile, TCPrivDir, Config]) + end). + +-define(PRINT_TC_RESULT(Res, Error), + begin + SepLine = lists:duplicate(74, $=), + case Error of + none -> ct:print("~n\t\t\tRESULT: ~s~n\t~s~n", [Res,SepLine]); + _ -> ct:print("~nError: ~p~n~n~n\t\t\tRESULT: ~s~n\t~s~n", [Error,Res,SepLine]) + end + end). + + +%%==================================================================== +%% TESTSUITE API +%%==================================================================== +add_yaws_server(Docroot, SL) -> + yaws:add_server(Docroot, SL). + +delete_yaws_server(Sconf) -> + yaws_config:delete_sconf(Sconf). + +reset_yaws_servers() -> + {ok, GConf, _} = yaws_api:getconf(), + yaws_api:setconf(GConf, []). + +yaws_servers() -> + {ok, _, Groups} = yaws_api:getconf(), + F = fun(#sconf{listen=Ip, port=Port, servername=Srv}=SC) -> + [VHost|_] = string:tokens(Srv, ":"), + {Ip, Port, VHost, SC} + end, + lists:flatten([lists:map(F, SCs) || SCs <- Groups]). + +%% ---- +make_url(http, Host, Port, Path) -> + make_url("http", Host, Port, Path); +make_url(https, Host, Port, Path) -> + make_url("https", Host, Port, Path); +make_url(Scheme, Host, Port, Path) -> + lists:append([Scheme, "://", Host, ":", integer_to_list(Port), Path]). + +%% ---- +get_yaws_port(N, Config) -> + lists:nth(N, ?config(yaws_ports, Config)). + +%% ---- +create_dir(Dir) -> + case filelib:is_dir(Dir) of + true -> + ok; + false -> + ok = filelib:ensure_dir(Dir), + ok = file:make_dir(Dir) + end. + +%% ---- +sock_setopts(Sock, Opts) when is_port(Sock) -> inet:setopts(Sock, Opts); +sock_setopts(Sock, Opts) -> ssl:setopts(Sock, Opts). + +sock_connect(http, Host, Port, Opts, Tout) -> + gen_tcp:connect(Host, Port, Opts, Tout); +sock_connect(https, Host, Port, Opts, Tout) -> + ssl:connect(Host, Port, Opts, Tout). + +sock_close(Sock) when is_port(Sock) -> gen_tcp:close(Sock); +sock_close(Sock) -> ssl:close(Sock). + +sock_recv(Sock, Length) -> + case get(request_timer) of + undefined -> sock_recv(Sock, Length, infinity); + Ref -> + case erlang:read_timer(Ref) of + false -> + receive + {timeout, Ref, Msg} -> {error, Msg} + after 0 -> sock_recv(Sock, Length, infinity) + end; + Time -> + sock_recv(Sock, Length, Time) + end + end. + +sock_recv(Sock, Length, Tout) when is_port(Sock) -> gen_tcp:recv(Sock, Length, Tout); +sock_recv(Sock, Length, Tout) -> ssl:recv(Sock, Length, Tout). + +sock_send(Sock, Data) when is_port(Sock) -> gen_tcp:send(Sock, Data); +sock_send(Sock, Data) -> ssl:send(Sock, Data). + + +receive_http_headers(Sock) -> + sock_setopts(Sock, [list, {packet, http}, {packet_size, 16#4000}]), + recv_hdrs(Sock, {undefined, []}). + +receive_http_body(Sock, undefined) -> + sock_setopts(Sock, [binary, {packet, raw}, {active, false}]), + recv_body_until_close(Sock, []); +receive_http_body(Sock, Length) -> + sock_setopts(Sock, [binary, {packet, raw}, {active, false}]), + sock_recv(Sock, Length). + +receive_http_chunked_body(Sock) -> + recv_chunked_body(Sock, []). + +receive_http_response(Sock) -> + receive_http_response(unknown, Sock, infinity). +receive_http_response(Meth, Sock) -> + receive_http_response(Meth, Sock, infinity). +receive_http_response(Meth, Sock, Tout) -> + ReqRef = case Tout of + infinity -> + erase(request_timer), + make_ref(); + _ -> + Ref = erlang:start_timer(Tout, self(), timeout), + put(request_timer, Ref), + Ref + end, + try + case receive_http_headers(Sock) of + {ok, {StatusLine, Hdrs}} when Meth == head -> + {ok, {StatusLine, Hdrs, <<>>}}; + {ok, {StatusLine, Hdrs}} -> + case {proplists:get_value("transfer-encoding", Hdrs), + proplists:get_value("content-length", Hdrs)} of + {"chunked", _} -> + case receive_http_chunked_body(Sock) of + {ok, Body} -> {ok, {StatusLine,Hdrs,Body}}; + {ok, Body, Tlrs} -> {ok, {StatusLine,Hdrs,{Body,Tlrs}}}; + Error -> Error + end; + {_, undefined} -> + case receive_http_body(Sock, undefined) of + {ok, Data} -> {ok, {StatusLine, Hdrs, Data}}; + Error -> Error + end; + {_, "0"} -> + {ok, {StatusLine, Hdrs, <<>>}}; + {_, Len} -> + case receive_http_body(Sock, list_to_integer(Len)) of + {ok, Data} -> {ok, {StatusLine, Hdrs, Data}}; + Error -> Error + end + end; + Error -> + Error + end + after + erlang:cancel_timer(ReqRef), + receive + {timeout, ReqRef, _} -> ok + after 0 -> ok + end + end. + +recv_hdrs(Sock, {StatusLine, Hdrs}) -> + case sock_recv(Sock, 0) of + {ok, http_eoh} -> + {ok, {StatusLine, lists:reverse(Hdrs)}}; + {ok, {http_error, "\r\n"}} -> + recv_hdrs(Sock, {StatusLine, Hdrs}); + {ok, {http_error, "\n"}} -> + recv_hdrs(Sock, {StatusLine, Hdrs}); + {ok, {http_error, Error}} -> + {error, Error}; + {ok, {http_header, _, Name, _, Value}} -> + Hdr = if + is_atom(Name) -> atom_to_list(Name); + true -> Name + end, + recv_hdrs(Sock, {StatusLine, [{string:to_lower(Hdr), Value}|Hdrs]}); + {ok, {http_response, {MajVsn,MinVsn}, Code, Reason}} -> + Vsn = "HTTP/"++integer_to_list(MajVsn)++"."++integer_to_list(MinVsn), + recv_hdrs(Sock, {{Vsn,Code,Reason}, Hdrs}); + Error -> + Error + end. + +recv_body_until_close(Sock, Acc) -> + case sock_recv(Sock, 0) of + {ok, Bin} -> recv_body_until_close(Sock, [Bin|Acc]); + {error, closed} -> {ok, iolist_to_binary(lists:reverse(Acc))}; + Error -> Error + end. + +get_chunk_size(Line) -> + Parts = binary:split(Line, [<<";">>, <<" ">>, <<"\r">>, <<"\n">>, <<"\t">>], + [global, trim]), + [N|_] = [P || P <- Parts, P /= <<>>], + list_to_integer(binary_to_list(N), 16). + +recv_chunk_size(Sock) -> + sock_setopts(Sock, [binary, {packet, line}]), + case sock_recv(Sock, 0) of + {ok, Line} -> {ok, get_chunk_size(Line)}; + Error -> Error + end. +recv_chunk_crnl(Sock) -> + sock_setopts(Sock, [binary, {packet, line}]), + case sock_recv(Sock, 0) of + {ok, <<"\r\n">>} -> ok; + Error -> Error + end. + +recv_chunk_trailers(Sock) -> + sock_setopts(Sock, [list, {packet, httph}, {packet_size, 16#4000}]), + recv_chunk_trailers(Sock, []). + +recv_chunk_trailers(Sock, Tlrs) -> + case sock_recv(Sock, 0) of + {ok, http_eoh} -> + {ok, lists:reverse(Tlrs)}; + {ok, {http_error, "\r\n"}} -> + recv_chunk_trailers(Sock, Tlrs); + {ok, {http_error, "\n"}} -> + recv_chunk_trailers(Sock, Tlrs); + {ok, {http_error, Error}} -> + {error, Error}; + {ok, {http_header, _, Name, _, Value}} -> + Hdr = if + is_atom(Name) -> atom_to_list(Name); + true -> Name + end, + recv_chunk_trailers(Sock, [{string:to_lower(Hdr), Value}|Tlrs]); + Other -> + {error, {"unexpected message", Other}} + end. + +recv_chunked_body(Sock, Acc) -> + case recv_chunk_size(Sock) of + {ok, 0} -> + case recv_chunk_trailers(Sock) of + {ok, []} -> {ok, iolist_to_binary(lists:reverse(Acc))}; + {ok, Tlrs} -> {ok, iolist_to_binary(lists:reverse(Acc)), Tlrs}; + Error -> Error + end; + {ok, Sz} -> + sock_setopts(Sock, [binary, {packet, raw}]), + case sock_recv(Sock, Sz) of + {ok, Chunk} -> + case recv_chunk_crnl(Sock) of + ok -> recv_chunked_body(Sock, [Chunk|Acc]); + Error -> Error + end; + Error -> Error + end; + Error -> + Error + end. + +%% ---- +send_http_headers(Sock, Req, Headers) -> + sock_setopts(Sock, [binary, {active, false}]), + ReqStr = case Req of + {Meth, Path, Vsn} -> + [string:to_upper(atom_to_list(Meth)), $\s, Path, $\s, Vsn, "\r\n"]; + _ -> + [Req, "\r\n"] + end, + HdrsStr = [ [N, ": ", V, "\r\n"] || {N,V} <-Headers ], + sock_send(Sock, [ReqStr, HdrsStr, "\r\n"]). + +send_http_body(Sock, {Process,Acc}) when is_function(Process, 1) -> + sock_setopts(Sock, [binary, {active, false}]), + case Process(Acc) of + {ok, Data, NewAcc} -> + case sock_send(Sock, Data) of + ok -> send_http_body(Sock, {Process,NewAcc}); + Error -> Error + end; + eof -> + ok; + {error, Reason} -> + {error, Reason} + end; +send_http_body(Sock, {chunkify,Process,Acc}) when is_function(Process, 1) -> + sock_setopts(Sock, [binary, {active, false}]), + case Process(Acc) of + {ok, Data, NewAcc} -> + Chunk = [integer_to_list(iolist_size(Data), 16),"\r\n", + Data, "\r\n"], + case sock_send(Sock, Chunk) of + ok -> send_http_body(Sock, {chunkify,Process,NewAcc}); + Error -> Error + end; + eof -> + sock_send(Sock, <<"0\r\n\r\n">>); + {error, Reason} -> + {error, Reason} + end; +send_http_body(Sock, {chunks,Body}) -> + send_http_body(Sock, Body); +send_http_body(Sock, Body) when is_list(Body) orelse is_binary(Body) -> + sock_setopts(Sock, [binary, {active, false}]), + sock_send(Sock, Body). + +send_http_request(Sock, Req, Headers) -> + send_http_request(Sock, Req, Headers, <<>>). + +send_http_request(Sock, Req, Headers, Body) -> + {Headers1, Body1} = + case Body of + {CT, Data} when is_binary(Data) orelse is_list(Data) -> + Sz = integer_to_list(iolist_size(Data)), + Hs0 = lists:keystore("Content-Type", 1, Headers, {"Content-Type", CT}), + Hs1 = lists:keystore("Content-Length", 1, Hs0, {"Content-Length", Sz}), + Hs2 = lists:keydelete("Transfer-Encoding", 1, Hs1), + {Hs2, Data}; + {CT, {chunkify, _, _}=Data} -> + Hs0 = lists:keystore("Content-Type", 1, Headers, {"Content-Type", CT}), + Hs1 = lists:keystore("Transfer-Encoding", 1, Hs0, {"Transfer-Encoding", "chunked"}), + Hs2 = lists:keydelete("Content-Length", 1, Hs1), + {Hs2, Data}; + {CT, {chunks, Data}} -> + Hs0 = lists:keystore("Content-Type", 1, Headers, {"Content-Type", CT}), + Hs1 = lists:keystore("Transfer-Encoding", 1, Hs0, {"Transfer-Encoding", "chunked"}), + Hs2 = lists:keydelete("Content-Length", 1, Hs1), + {Hs2, Data}; + {CT, Data} -> + Hs = lists:keystore("Content-Type", 1, Headers, {"Content-Type", CT}), + {Hs, Data}; + Data when is_binary(Data) orelse is_list(Data) -> + Sz = integer_to_list(iolist_size(Data)), + Hs0 = lists:keystore("Content-Length", 1, Headers, {"Content-Length", Sz}), + Hs1 = lists:keydelete("Transfer-Encoding", 1, Hs0), + {Hs1, Data} + end, + case send_http_headers(Sock, Req, Headers1) of + ok -> send_http_body(Sock, Body1); + Error -> Error + end. + +%% ---- +http_get(Url) -> + http_get(Url, [], [], []). +http_get(Url, Headers) -> + http_get(Url, Headers, [], []). +http_get(Url, Headers, HttpOpts) -> + http_get(Url, Headers, HttpOpts, []). +http_get(Url, Headers, HttpOpts, SockOpts) -> + http_req(get, Url, Headers, <<>>, HttpOpts, SockOpts). + +http_post(Url, {CT, Body}) -> + http_post(Url, [], {CT, Body}, [], []). +http_post(Url, Headers, {CT, Body}) -> + http_post(Url, Headers, {CT, Body}, [], []). +http_post(Url, Headers, {CT, Body}, HttpOpts) -> + http_post(Url, Headers, {CT, Body}, HttpOpts, []). +http_post(Url, Headers, {CT, Body}, HttpOpts, SockOpts) -> + http_req(post, Url, Headers, {CT, Body}, HttpOpts, SockOpts). + +%% ---- +http_req(Meth, Url) -> + do_http_req(Meth, Url, [], <<>>, [], []). +http_req(Meth, Url, Headers) -> + do_http_req(Meth, Url, Headers, <<>>, [], []). +http_req(Meth, Url, Headers, Body) -> + do_http_req(Meth, Url, Headers, Body, [], []). +http_req(Meth, Url, Headers, Body, HttpOpts) -> + do_http_req(Meth, Url, Headers, Body, HttpOpts, []). +http_req(Meth, Url, Headers, Body, HttpOpts, SockOpts) -> + do_http_req(Meth, Url, Headers, Body, HttpOpts, SockOpts). + +do_http_req(Meth, Url, Headers, undefined, HttpOpts, SockOpts) -> + do_http_req(Meth, Url, Headers, <<>>, HttpOpts, SockOpts); +do_http_req(Meth, Url, Headers, Body, HttpOpts, SockOpts) -> + {Scheme, Host, Port, Query} = parse_url(Url, HttpOpts), + SockOpts1 = set_default_sockopts(Scheme, SockOpts), + ConTout = case lists:keyfind(connect_timeout, 1, HttpOpts) of + {connect_timeout, T1} -> T1; + false -> infinity + end, + case sock_connect(Scheme, Host, Port, SockOpts1, ConTout) of + {ok, Sock} -> + try + NewHeaders = set_default_headers(Scheme, Host, Port, Headers), + Req = make_http_request(Meth, Query, HttpOpts), + ok = send_http_request(Sock, Req, NewHeaders, Body), + ReqTout = case lists:keyfind(timeout, 1, HttpOpts) of + {timeout, T2} -> T2; + false -> infinity + end, + receive_http_response(Meth, Sock, ReqTout) + after + sock_close(Sock) + end; + Error -> + Error + end. + +set_default_sockopts(https, SockOpts) -> + SockOpts1 = case lists:keyfind(verify, 1, SockOpts) of + {verify, _} -> SockOpts; + false -> [{verify, verify_none}|SockOpts] + end, + SockOpts2 = case yaws_dynopts:have_ssl_sni() of + true -> + %% Explicitly disable SNI if not set because in + %% Erlang/OTP 20.0, it is set by default to the Host + %% value used in ssl:connect/4. + case lists:keyfind(server_name_indication, 1, SockOpts1) of + {server_name_indication, _} -> SockOpts1; + false -> [{server_name_indication, disable}|SockOpts1] + end; + false -> + SockOpts1 + end, + set_default_sockopts(http, SockOpts2); +set_default_sockopts(http, SockOpts) -> + [binary, {active, false}|SockOpts]. + + +parse_url(Url, HttpOpts) -> + {ok, {Scheme, _, Host, Port, Path, QS}} = http_uri:parse(Url), + case lists:keyfind(proxy, 1, HttpOpts) of + {proxy, {PHost, PPort}} -> {Scheme, PHost, PPort, Url}; + false -> {Scheme, Host, Port, Path++QS} + end. + +make_http_request(Meth, Query, HttpOpts) -> + Vsn = case lists:keyfind(version, 1, HttpOpts) of + {version, V} -> V; + false -> "HTTP/1.1" + end, + {Meth, Query, Vsn}. + +set_default_headers(Scheme, Host, Port, Headers0) -> + Headers1 = case lists:keyfind("Host", 1, Headers0) of + {"Host", _} -> Headers0; + false -> [header_host(Scheme, Host, Port)|Headers0] + end, + Headers2 = case lists:keyfind("User-Agent", 1, Headers1) of + {"User-Agent", _} -> Headers1; + false -> [header_user_agent()|Headers1] + end, + Headers2. + +header_host(https, Host, 443)-> {"Host", Host}; +header_host(http, Host, 80) -> {"Host", Host}; +header_host(_, Host, Port) -> {"Host", Host ++ ":" ++ integer_to_list(Port)}. + +header_user_agent() -> {"User-Agent", "Yaws HTTP client"}. + +post_file({File,MaxSz}) -> + case file:open(File, [read,binary]) of + {ok, FD} -> + post_file({File,FD,MaxSz}); + {error, Reason} -> + ct:log(error, "Failed to open file ~p: ~p~n", [File,Reason]), + eof + end; +post_file({File,FD,MaxSz}) -> + case file:read(FD, MaxSz) of + {ok, Data} -> + {ok, Data, {File,FD,MaxSz}}; + eof -> + file:close(FD), + eof; + {error, Reason} -> + ct:log(error, "Failed to read next ~p bytes from ~p: ~p~n", + [MaxSz,File,Reason]), + file:close(FD), + eof + end. + +%%==================================================================== +init(_Id, Opts) -> + eunit:start(), + application:start(crypto), + application:start(asn1), + application:start(public_key), + application:start(ssl), + + dbg:tracer(process, {fun dbg_trace_handler/2, []}), + dbg:p(all,[c,sos,sol]), + + MatchSpec = [{'_',[],[message,{return_trace},{exception_trace}]}], + [case Trace of + {Mod,Fun,Artity} -> dbg:tpl(Mod,Fun,Artity,MatchSpec); + {Mod,Fun} -> dbg:tpl(Mod,Fun,MatchSpec); + Mod -> dbg:tpl(Mod,MatchSpec) + end || Trace <- proplists:get_value(traces, Opts, [])], + + PvPorts = lists:map(fun(_) -> {ok, P} = yaws:find_private_port(), P end, + lists:seq(1, 20)), + + {ok, #ct_state{private_ports=PvPorts}}. + +terminate(State) -> + dbg:ctpl(), + dbg:stop(), + + application:stop(ssl), + application:stop(public_key), + application:stop(asn1), + application:stop(crypto), + eunit:stop(), + + Bold = ?GET_ENV("BOLD_COLOR"), + Red = ?GET_ENV("RED_COLOR"), + Green = ?GET_ENV("GREEN_COLOR"), + Std = ?GET_ENV("STD_COLOR"), + {Passed,Skipped,Failed} = lists:foldl(fun(St, {P,S,F}) -> + {P+St#suite_state.passed, + S+St#suite_state.skipped, + F+St#suite_state.failed} + end, {0,0,0}, State#ct_state.suites), + ?LOG("~n~n~sRESULT:~s ", [Bold,Std]), + if + Failed > 0 -> ?LOG("~sFAILED~s ", [Red,Std]); + true -> ?LOG("~sPASS~s ", [Green,Std]) + end, + ?LOG("\t[ Failed: ~s~-5b~sSkipped: ~-5bPassed: ~s~b~s ]~n", + [Red,Failed,Std,Skipped,Green,Passed,Std]), + ok. + +pre_init_per_suite(SuiteName, Config, State) -> + Bold = ?GET_ENV("BOLD_COLOR"), + Std = ?GET_ENV("STD_COLOR"), + ?LOG("~n~n ~s~p~s...~n", [Bold, SuiteName, Std]), + + Config1 = [{yaws_ports, State#ct_state.private_ports}|Config], + + ?assertEqual(ok, create_tmpdir(SuiteName)), + ?assertEqual(ok, parse_templates(SuiteName, Config1)), + + {Config1, State#ct_state{current_suite=#suite_state{name=SuiteName}}}. + +post_end_per_suite(SuiteName, Config, Return, State) -> + %% Be sure Yaws is stopped and unloaded + (catch application:stop(yaws)), + (catch application:unload(yaws)), + unload_suite_modules(SuiteName), + + Suite = State#ct_state.current_suite, + Red = ?GET_ENV("RED_COLOR"), + Green = ?GET_ENV("GREEN_COLOR"), + Std = ?GET_ENV("STD_COLOR"), + ?LOG(" ------------------------------------------~n"), + ?LOG(" Failed: ~s~-5b~sSkipped: ~-5bPassed: ~s~-5b~s~n", + [Red, Suite#suite_state.failed, Std, Suite#suite_state.skipped, + Green, Suite#suite_state.passed, Std]), + if + Suite#suite_state.failed > 0 -> + Logfile = filename:dirname(?config(tc_logfile, Config)), + SuiteLog = filename:join(Logfile, "suite.log"), + ?LOG("Error details: ~s~n", [SuiteLog]); + true -> + ok + end, + NewSuites = [Suite|State#ct_state.suites], + {Return, State#ct_state{current_suite=undefined, suites=NewSuites}}. + +pre_init_per_group(GroupName, Config, State) -> + Bold = ?GET_ENV("BOLD_COLOR"), + Std = ?GET_ENV("STD_COLOR"), + ?LOG(" [~s~p~s]~n", [Bold, GroupName, Std]), + {Config, State}. + + +post_end_per_group(_GroupName, _Config, Return, State) -> + {Return, State}. + +pre_init_per_testcase(TestcaseName, Config, State) -> + ?PRINT_START_TC(TestcaseName, Config), + ?LOG(" ~-50s", [io_lib:format("~p...", [TestcaseName])]), + {Config, State}. + +post_init_per_testcase(_TestcaseName, Config, Return, State) -> + Suite = State#ct_state.current_suite, + Red = ?GET_ENV("RED_COLOR"), + Std = ?GET_ENV("STD_COLOR"), + NewSuite = case Return of + {error,Error} -> + ?PRINT_TC_RESULT("Failed", Error), + ?LOG("[ ~sKO~s ]~n", [Red, Std]), + Suite#suite_state{failed=Suite#suite_state.failed+1}; + {fail,Reason} -> + ?PRINT_TC_RESULT("Failed", Reason), + ?LOG("[ ~sKO~s ]~n", [Red, Std]), + Suite#suite_state{failed=Suite#suite_state.failed+1}; + {skip,_} -> + ?PRINT_TC_RESULT("Skipped", none), + ?LOG("[ ~sSKIPPED~s ]~n", [Std, Std]), + Suite#suite_state{skipped=Suite#suite_state.skipped+1}; + _ -> + Suite + end, + {Config, State#ct_state{current_suite=NewSuite}}. + + +post_end_per_testcase(_TestcaseName, _Config, Return, State) -> + Suite = State#ct_state.current_suite, + Red = ?GET_ENV("RED_COLOR"), + Green = ?GET_ENV("GREEN_COLOR"), + Std = ?GET_ENV("STD_COLOR"), + NewSuite = case Return of + {error,Error} -> + ?PRINT_TC_RESULT("Failed", Error), + ?LOG("[ ~sKO~s ]~n", [Red, Std]), + Suite#suite_state{failed=Suite#suite_state.failed+1}; + {fail,Reason} -> + ?PRINT_TC_RESULT("Failed", Reason), + ?LOG("[ ~sKO~s ]~n", [Red, Std]), + Suite#suite_state{failed=Suite#suite_state.failed+1}; + {skip,_} -> + ?PRINT_TC_RESULT("Skipped", none), + ?LOG("[ ~sSKIPPED~s ]~n", [Std, Std]), + Suite#suite_state{skipped=Suite#suite_state.skipped+1}; + _ -> + ?PRINT_TC_RESULT("Passed", none), + ?LOG("[ ~sOK~s ]~n", [Green, Std]), + Suite#suite_state{passed=Suite#suite_state.passed+1} + end, + {Return, State#ct_state{current_suite=NewSuite}}. + + +%%==================================================================== +create_tmpdir(SuiteName) -> + create_dir(?tempdir(SuiteName)). + +parse_templates(SuiteName, Config) -> + Tmpldir = ?templatedir(SuiteName), + Tmpdir = ?tempdir(SuiteName), + case filelib:is_dir(Tmpldir) of + true-> + Templates = filelib:fold_files(Tmpldir, "", true, + fun(F, Acc) -> [F|Acc] end, []), + parse_templates(SuiteName, Templates, Tmpldir, Tmpdir, Config); + false -> + ok + end. + +parse_templates(_SuiteName, [], _Tmpldir, _Tmpdir, _Config) -> + ok; +parse_templates(SuiteName, [SrcFile|Rest], Tmpldir, Tmpdir, Config) -> + DstFile = Tmpdir ++ lists:subtract(SrcFile, Tmpldir), + {ok, Content} = file:read_file(SrcFile), + ReplacementMap = [ + {<<"$top_srcdir$">>, list_to_binary(?top_srcdir)}, + {<<"$top_builddir$">>, list_to_binary(?top_builddir)}, + {<<"$srcdir$">>, list_to_binary(?srcdir)}, + {<<"$ebindir$">>, list_to_binary(?ebindir)}, + {<<"$ts_srcdir$">>, list_to_binary(?ts_srcdir)}, + {<<"$ts_builddir$">>, list_to_binary(?ts_builddir)}, + {<<"$wwwdir$">>, list_to_binary(?wwwdir)}, + {<<"$ssldir$">>, list_to_binary(?ssldir)}, + {<<"$sslkeyfile$">>, list_to_binary(?sslkeyfile)}, + {<<"$sslcertfile$">>, list_to_binary(?sslcertfile)}, + {<<"$data_srcdir$">>, list_to_binary(?data_srcdir(SuiteName))}, + {<<"$data_builddir$">>, list_to_binary(?data_builddir(SuiteName))}, + {<<"$templatedir$">>, list_to_binary(?templatedir(SuiteName))}, + {<<"$tempdir$">>, list_to_binary(?tempdir(SuiteName))}, + {<<"$logdir$">>, list_to_binary(?config(priv_dir, Config))} + ] ++ + lists:foldl(fun(P, Acc) -> + Id = list_to_binary(integer_to_list(length(Acc)+1)), + [{<<"$yaws_port",Id/binary,"$">>, + list_to_binary(integer_to_list(P))}|Acc] + end, [], ?config(yaws_ports, Config)), + + NewContent = lists:foldl(fun({Pat, Repl}, Bin) -> + binary:replace(Bin, Pat, Repl, [global]) + end, Content, ReplacementMap), + ok = filelib:ensure_dir(DstFile), + ok = file:write_file(DstFile, NewContent, [write]), + parse_templates(SuiteName, Rest, Tmpldir, Tmpdir, Config). + + +unload_suite_modules(SuiteName) -> + Dir = ?data_builddir(SuiteName), + lists:foreach(fun(P) -> + case lists:prefix(Dir, filename:absname(P)) of + true -> code:del_path(P); + false -> ok + end + end, code:get_path()), + + lists:foreach(fun({_, preloaded}) -> ok; + ({_, cover_compiled}) -> ok; + ({Mod,File}) -> + case lists:prefix(Dir, filename:absname(File)) of + true -> code:purge(Mod), code:delete(Mod); + false -> ok + end + end, code:all_loaded()), + ok. + + +%%==================================================================== +%% Print dbg trace (from dbg.erl) +dbg_trace_handler(end_of_trace, Out) -> + Out; +dbg_trace_handler(Trace, Out) when element(1, Trace) == trace, + tuple_size(Trace) >= 3 -> + dbg_trace_handler1(Trace, tuple_size(Trace), Out); +dbg_trace_handler(Trace, Out) when element(1, Trace) == trace_ts, + tuple_size(Trace) >= 4 -> + dbg_trace_handler1(Trace, tuple_size(Trace)-1, + element(tuple_size(Trace),Trace), Out); +dbg_trace_handler(Trace, Out) when element(1, Trace) == drop, + tuple_size(Trace) =:= 2 -> + ct:log("*** Dropped ~p messages.~n", [element(2,Trace)]), + Out; +dbg_trace_handler(Trace, Out) when element(1, Trace) == seq_trace, + tuple_size(Trace) >= 3 -> + SeqTraceInfo = case Trace of + {seq_trace, Lbl, STI, TS} -> + ct:log("SeqTrace ~p [~p]: ", [TS, Lbl]), + STI; + {seq_trace, Lbl, STI} -> + ct:log("SeqTrace [~p]: ", [Lbl]), + STI + end, + case SeqTraceInfo of + {send, Ser, Fr, To, Mes} -> + ct:log("(~p) ~p ! ~p [Serial: ~p]~n", [Fr, To, Mes, Ser]); + {'receive', Ser, Fr, To, Mes} -> + ct:log("(~p) << ~p [Serial: ~p, From: ~p]~n", [To, Mes, Ser, Fr]); + {print, Ser, Fr, _, Info} -> + ct:log("-> ~p [Serial: ~p, From: ~p]~n", [Info, Ser, Fr]); + Else -> + ct:log("~p~n", [Else]) + end, + Out; +dbg_trace_handler(_Trace, Out) -> + Out. + +dbg_trace_handler1(Trace, Size, Out) -> + From = element(2, Trace), + case element(3, Trace) of + 'receive' -> + case element(4, Trace) of + {dbg,ok} -> ok; + Message -> ct:log("(~p) << ~p~n", [From,Message]) + end; + 'send' -> + Message = element(4, Trace), + To = element(5, Trace), + ct:log("(~p) ~p ! ~p~n", [From,To,Message]); + call -> + case element(4, Trace) of + MFA when Size == 5 -> + Message = element(5, Trace), + ct:log("(~p) call ~s (~p)~n", [From,ffunc(MFA),Message]); + MFA -> + ct:log("(~p) call ~s~n", [From,ffunc(MFA)]) + end; + return_from -> + MFA = element(4, Trace), + Ret = element(5, Trace), + ct:log("(~p) returned from ~s -> ~p~n", [From,ffunc(MFA),Ret]); + return_to -> + MFA = element(4, Trace), + ct:log("(~p) returning to ~s~n", [From,ffunc(MFA)]); + spawn when Size == 5 -> + Pid = element(4, Trace), + MFA = element(5, Trace), + ct:log("(~p) spawn ~p as ~s~n", [From,Pid,ffunc(MFA)]); + Op -> + ct:log("(~p) ~p ~s~n", [From,Op,ftup(Trace,4,Size)]) + end, + Out. + +dbg_trace_handler1(Trace, Size, TS, Out) -> + From = element(2, Trace), + case element(3, Trace) of + 'receive' -> + case element(4, Trace) of + {dbg,ok} -> ok; + Message -> + ct:log("(~p) << ~p (Timestamp: ~p)~n", [From,Message,TS]) + end; + 'send' -> + Message = element(4, Trace), + To = element(5, Trace), + ct:log("(~p) ~p ! ~p (Timestamp: ~p)~n", [From,To,Message,TS]); + call -> + case element(4, Trace) of + MFA when Size == 5 -> + Message = element(5, Trace), + ct:log("(~p) call ~s (~p) (Timestamp: ~p)~n", + [From,ffunc(MFA),Message,TS]); + MFA -> + ct:log("(~p) call ~s (Timestamp: ~p)~n", + [From,ffunc(MFA),TS]) + end; + return_from -> + MFA = element(4, Trace), + Ret = element(5, Trace), + ct:log("(~p) returned from ~s -> ~p (Timestamp: ~p)~n", + [From,ffunc(MFA),Ret,TS]); + return_to -> + MFA = element(4, Trace), + ct:log("(~p) returning to ~s (Timestamp: ~p)~n", + [From,ffunc(MFA),TS]); + spawn when Size == 5 -> + Pid = element(4, Trace), + MFA = element(5, Trace), + ct:log("(~p) spawn ~p as ~s (Timestamp: ~p)~n", + [From,Pid,ffunc(MFA),TS]); + Op -> + ct:log("(~p) ~p ~s (Timestamp: ~p)~n", + [From,Op,ftup(Trace,4,Size),TS]) + end, + Out. + +ffunc({M,F,Argl}) when is_list(Argl) -> + io_lib:format("~p:~p(~s)", [M, F, fargs(Argl)]); +ffunc({M,F,Arity}) -> + io_lib:format("~p:~p/~p", [M,F,Arity]); +ffunc(X) -> + io_lib:format("~p", [X]). + +fargs(Arity) when is_integer(Arity) -> + integer_to_list(Arity); +fargs([]) -> + []; +fargs([A]) -> + io_lib:format("~p", [A]); %% last arg +fargs([A|Args]) -> + [io_lib:format("~p,", [A]) | fargs(Args)]; +fargs(A) -> + io_lib:format("~p", [A]). % last or only arg + +ftup(Trace, Index, Index) -> + io_lib:format("~p", [element(Index,Trace)]); +ftup(Trace, Index, Size) -> + [io_lib:format("~p ", [element(Index,Trace)]) | ftup(Trace, Index+1, Size)]. diff -Nru yaws-2.0.6+dfsg/testsuite/webdav_SUITE_data/commands yaws-2.0.7+dfsg/testsuite/webdav_SUITE_data/commands --- yaws-2.0.6+dfsg/testsuite/webdav_SUITE_data/commands 1970-01-01 00:00:00.000000000 +0000 +++ yaws-2.0.7+dfsg/testsuite/webdav_SUITE_data/commands 2019-07-14 13:01:11.000000000 +0000 @@ -0,0 +1,13 @@ +unset tolerant +set namespace DAV: +ls +propnames test +put tst-file +rm tst-file +mkcol locked +lock locked +cd locked +put tst-file +cd .. +unlock locked +rmcol locked diff -Nru yaws-2.0.6+dfsg/testsuite/webdav_SUITE_data/templates/davtest yaws-2.0.7+dfsg/testsuite/webdav_SUITE_data/templates/davtest --- yaws-2.0.6+dfsg/testsuite/webdav_SUITE_data/templates/davtest 1970-01-01 00:00:00.000000000 +0000 +++ yaws-2.0.7+dfsg/testsuite/webdav_SUITE_data/templates/davtest 2019-07-14 13:01:11.000000000 +0000 @@ -0,0 +1,16 @@ +#!/bin/sh + +input=$data_srcdir$/commands +output=$tempdir$/output + +cd $tempdir$ && cadaver http://127.0.0.1:$yaws_port1$ < $input > $output 2>&1 + +success=`grep -c succeeded. $output` +if [ $success -ne 9 ]; then + echo "- not all cadaver actions succeeded, see $output for details" + cat $output + exit 1 +fi +printf "\n** All "`pwd`" tests completed successfully.\n\n" +exit 0 + diff -Nru yaws-2.0.6+dfsg/testsuite/webdav_SUITE_data/templates/yaws.conf yaws-2.0.7+dfsg/testsuite/webdav_SUITE_data/templates/yaws.conf --- yaws-2.0.6+dfsg/testsuite/webdav_SUITE_data/templates/yaws.conf 1970-01-01 00:00:00.000000000 +0000 +++ yaws-2.0.7+dfsg/testsuite/webdav_SUITE_data/templates/yaws.conf 2019-07-14 13:01:11.000000000 +0000 @@ -0,0 +1,18 @@ +logdir = $logdir$ + +trace = false +copy_error_log = true +log_wrap_size = 1000000 +log_resolve_hostname = false +fail_on_bind_err = true +pick_first_virthost_on_nomatch = true +keepalive_timeout = 10000 + + + listen = 127.0.0.1 + port = $yaws_port1$ + docroot = $tempdir$/www + dav = true + + + diff -Nru yaws-2.0.6+dfsg/testsuite/webdav_SUITE.erl yaws-2.0.7+dfsg/testsuite/webdav_SUITE.erl --- yaws-2.0.6+dfsg/testsuite/webdav_SUITE.erl 1970-01-01 00:00:00.000000000 +0000 +++ yaws-2.0.7+dfsg/testsuite/webdav_SUITE.erl 2019-07-14 13:01:11.000000000 +0000 @@ -0,0 +1,62 @@ +-module(webdav_SUITE). + +-include("testsuite.hrl"). +-include_lib("kernel/include/file.hrl"). + +-compile(export_all). + +all() -> + [ + webdav + ]. + +groups() -> + [ + ]. + +%%==================================================================== +init_per_suite(Config) -> + ok = prepare_docroots(), + + Id = "testsuite-server", + YConf = filename:join(?tempdir(?MODULE), "yaws.conf"), + application:load(yaws), + application:set_env(yaws, id, Id), + application:set_env(yaws, conf, YConf), + ok = yaws:start(), + [{yaws_id, Id}, {yaws_config, YConf} | Config]. + +end_per_suite(_Config) -> + ok = application:stop(yaws), + ok = application:unload(yaws), + ok. + +init_per_group(_Group, Config) -> + Config. + +end_per_group(_Group, _Config) -> + ok. + +init_per_testcase(_Test, Config) -> + case os:find_executable("cadaver") of + false -> {skip, "cadaver not found"}; + _ -> Config + end. + +end_per_testcase(_Test, _Config) -> + ok. + +%%==================================================================== +webdav(_Config) -> + Script = filename:join(?tempdir(?MODULE), "davtest"), + ?assertCmdStatus(0, "sh "++Script), + ok. + +%%==================================================================== +prepare_docroots() -> + WWW = filename:join(?tempdir(?MODULE), "www"), + File = filename:join(?tempdir(?MODULE), "tst-file"), + ok = testsuite:create_dir(WWW), + ok = file:write_file(filename:join(WWW, "test"), <<"Hello World test!">>, [write]), + ok = file:write_file(File, <<"Hello World tst-file!">>, [write]), + ok. diff -Nru yaws-2.0.6+dfsg/testsuite/websockets_SUITE.erl yaws-2.0.7+dfsg/testsuite/websockets_SUITE.erl --- yaws-2.0.6+dfsg/testsuite/websockets_SUITE.erl 1970-01-01 00:00:00.000000000 +0000 +++ yaws-2.0.7+dfsg/testsuite/websockets_SUITE.erl 2019-07-14 13:01:11.000000000 +0000 @@ -0,0 +1,1897 @@ +-module(websockets_SUITE). + +-include("testsuite.hrl"). + +-compile(export_all). + + +-record(frame, {fin = true, + rsv = 0, + opcode, + masked = false, + mask, + payload = <<>>}). + +-define(WS_OPCODE_CONTINUATION, 16#00). +-define(WS_OPCODE_TEXT, 16#01). +-define(WS_OPCODE_BINARY, 16#02). +-define(WS_OPCODE_CLOSE, 16#08). +-define(WS_OPCODE_PING, 16#09). +-define(WS_OPCODE_PONG, 16#0A). + +-define(WS_STATUS_NORMAL, 1000). +-define(WS_STATUS_PROTO_ERROR, 1002). +-define(WS_STATUS_ABNORMAL_CLOSURE, 1006). +-define(WS_STATUS_INVALID_PAYLOAD, 1007). +-define(WS_STATUS_MSG_TOO_BIG, 1009). +-define(WS_STATUS_INTERNAL_ERROR, 1011). + +all() -> + [ + {group, websocket_tests}, + {group, secure_websocket_tests} + ]. + +groups() -> + [ + {websocket_tests, [], + [valid_opening_handshake, + bad_version_handshake, + bad_origin_handshake, + noconnection_handshake, + bad_connection_handshake, + noupgrade_handshake, + bad_upgrade_handshake, + basic_unfragmented_text, + advanced_unfragmented_text, + basic_unfragmented_binary, + advanced_unfragmented_binary, + basic_ping_text, + advanced_ping_text, + basic_ping_binary, + advanced_ping_binary, + toolong_payload_ping, + basic_unsolicited_pong, + advanced_unsolicited_pong, + basic_unsolicited_pong_ping_pong, + advanced_unsolicited_pong_ping_pong, + basic_10_pings, + advanced_10_pings, + badrsv_text, + badrsv_binary, + badrsv_ping, + badrsv_close, + badrsv_complex, + badopcodes, + basic_fragmented_empty, + basic_fragmented_text_1, + basic_fragmented_binary_1, + basic_fragmented_text_2, + basic_fragmented_binary_2, + basic_fragmented_ping, + basic_fragmented_pong, + basic_fragmented_close, + basic_fragmented_text_with_ping, + basic_fragmented_text_with_pong, + basic_badfragmented_1, + basic_badfragmented_2, + basic_badfragmented_nocontinuation, + advanced_fragmented_empty, + advanced_fragmented_text_1, + advanced_fragmented_binary_1, + advanced_fragmented_text_2, + advanced_fragmented_binary_2, + advanced_fragmented_ping, + advanced_fragmented_pong, + advanced_fragmented_close, + advanced_fragmented_text_with_ping, + advanced_fragmented_text_with_pong, + advanced_badfragmented_1, + advanced_badfragmented_2, + advanced_badfragmented_nocontinuation, + basic_unfragmented_valid_utf8_text, + basic_fragmented_valid_utf8_text, + advanced_unfragmented_valid_utf8_text, + advanced_fragmented_valid_utf8_text, + basic_unfragmented_invalid_utf8_text, + basic_fragmented_invalid_utf8_text, + advanced_unfragmented_invalid_utf8_text, + advanced_fragmented_invalid_utf8_text, + basic_2_closes, + basic_close_ping, + basic_close_text, + basic_fragtext_close_fragtext, + basic_close_empty, + basic_close_toosmall, + basic_close_statusonly, + basic_close_with_reason, + basic_close_limit_size, + basic_close_toolong, + basic_close_invalid_utf8, + basic_close_valid_codes, + basic_close_invalid_codes, + advanced_2_closes, + advanced_close_ping, + advanced_close_text, + advanced_fragtext_close_fragtext, + advanced_close_empty, + advanced_close_toosmall, + advanced_close_statusonly, + advanced_close_with_reason, + advanced_close_limit_size, + advanced_close_toolong, + advanced_close_invalid_utf8, + advanced_close_valid_codes, + advanced_close_invalid_codes, + close_timeout, + keepalive_timeout, + too_big_frame, + too_big_message, + close_unmasked_frame]}, + + {secure_websocket_tests, [], [secure_websocket]} + ]. + +%%==================================================================== +init_per_suite(Config) -> + Id = "testsuite-server", + GConf = [ + {logdir, ?config(priv_dir, Config)}, + {trace, false}, + {flags, [{copy_error_log, true}]}, + {keepalive_timeout, 10000}, + {acceptor_pool_size, 32} + ], + + ok = yaws:start_embedded(?wwwdir, [], GConf, Id), + [{yaws_id, Id} | Config]. + +end_per_suite(_Config) -> + ok. + +init_per_group(websocket_tests, Config) -> + SConfHTTP = [ + {docroot, ?wwwdir}, + {port, testsuite:get_yaws_port(1, Config)}, + {listen, {127,0,0,1}}, + {flags, [{access_log, true}]}, + {servername, "localhost"} + ], + {ok, _} = testsuite:add_yaws_server(?wwwdir, SConfHTTP), + Config; +init_per_group(secure_websocket_tests, Config) -> + SConfHTTPS = [ + {docroot, ?wwwdir}, + {port, testsuite:get_yaws_port(1, Config)}, + {listen, {127,0,0,1}}, + {flags, [{access_log, true}]}, + {servername, "localhost"}, + {ssl, [ + {keyfile, ?sslkeyfile}, + {certfile, ?sslcertfile}, + {depth, 0} + ]} + ], + {ok, _} = testsuite:add_yaws_server(?wwwdir, SConfHTTPS), + Config. + +end_per_group(_Group, _Config) -> + testsuite:reset_yaws_servers(), + ok. + +init_per_testcase(_Test, Config) -> + Config. + +end_per_testcase(_Test, _Config) -> + ok. + +%%==================================================================== +valid_opening_handshake(Config) -> + WSPath = "/websockets_example_endpoint.yaws", + Key = "dGhlIHNhbXBsZSBub25jZQ==", + + %% Send the handshake and retrieve the response + {ok, Sock} = open("localhost", testsuite:get_yaws_port(1, Config)), + {ok, {101, Hds}} = wsopen(Sock, Key, WSPath, "http://localhost", 13), + + %% Check the server response + ?assert(is_valid_handshake_hash( + Key, proplists:get_value("sec-websocket-accept", Hds) + )), + ?assertEqual("websocket", string:to_lower(proplists:get_value("upgrade", Hds))), + ?assertEqual("upgrade", string:to_lower(proplists:get_value("connection", Hds))), + + %% Close the webscoket and check the server reply + ?assertEqual(ok, wsclose(Sock, ?WS_STATUS_NORMAL, <<>>)), + {ok, Frames} = wsflush(Sock, true), + ?assert(is_valid_close_frame(Frames, [?WS_STATUS_NORMAL])), + ?assertEqual(ok, close(Sock)), + ok. + +bad_version_handshake(Config) -> + WSPath = "/websockets_example_endpoint.yaws", + Key = "dGhlIHNhbXBsZSBub25jZQ==", + + %% Send the handshake and retrieve the response + {ok, Sock} = open("localhost", testsuite:get_yaws_port(1, Config)), + {ok, {400, Hds}} = wsopen(Sock, Key, WSPath, "http://localhost", 15), + + %% Check the server response + ?assertEqual("13, 8", string:to_lower( + proplists:get_value("sec-websocket-version", Hds) + )), + + ?assertEqual(ok, close(Sock)), + ok. + +bad_origin_handshake(Config) -> + WSPath = "/websockets_example_endpoint.yaws", + Key = "dGhlIHNhbXBsZSBub25jZQ==", + + %% Send the handshake and retrieve the response + {ok, Sock} = open("localhost", testsuite:get_yaws_port(1, Config)), + {ok, {403, _}} = wsopen(Sock, Key, WSPath, "http://otherhost", 13), + + ?assertEqual(ok, close(Sock)), + ok. + +noconnection_handshake(Config) -> + WSPath = "/websockets_example_endpoint.yaws", + Key = "dGhlIHNhbXBsZSBub25jZQ==", + + %% Send the handshake and retrieve the response + {ok, Sock} = open("localhost", testsuite:get_yaws_port(1, Config)), + + Handshake = ["GET ", WSPath, " HTTP/1.1\r\n", + "Host: localhost\r\n", + "Upgrade: websocket\r\n", + "Sec-WebSocket-Key: ", Key, "\r\n", + "Origin: http://localhost\r\n", + "Sec-WebSocket-Version: 13\r\n", + "\r\n"], + case yaws_api:get_sslsocket(Sock) of + {ok, SslSock} -> ssl:send(SslSock, Handshake); + undefined -> gen_tcp:send(Sock, Handshake) + end, + ?assertMatch({ok, {400, _}}, read_handshake_response(Sock)), + + ?assertEqual(ok, close(Sock)), + ok. + +bad_connection_handshake(Config) -> + WSPath = "/websockets_example_endpoint.yaws", + Key = "dGhlIHNhbXBsZSBub25jZQ==", + + %% Send the handshake and retrieve the response + {ok, Sock} = open("localhost", testsuite:get_yaws_port(1, Config)), + + Handshake = ["GET ", WSPath, " HTTP/1.1\r\n", + "Host: localhost\r\n", + "Upgrade: websocket\r\n", + "Connection: Keep-Alive\r\n", + "Sec-WebSocket-Key: ", Key, "\r\n", + "Origin: http://localhost\r\n", + "Sec-WebSocket-Version: 13\r\n", + "\r\n"], + case yaws_api:get_sslsocket(Sock) of + {ok, SslSock} -> ssl:send(SslSock, Handshake); + undefined -> gen_tcp:send(Sock, Handshake) + end, + ?assertMatch({ok, {400, _}}, read_handshake_response(Sock)), + + ?assertEqual(ok, close(Sock)), + ok. + +noupgrade_handshake(Config) -> + WSPath = "/websockets_example_endpoint.yaws", + Key = "dGhlIHNhbXBsZSBub25jZQ==", + + %% Send the handshake and retrieve the response + {ok, Sock} = open("localhost", testsuite:get_yaws_port(1, Config)), + + Handshake = ["GET ", WSPath, " HTTP/1.1\r\n", + "Host: localhost\r\n", + "Connection: Upgrade\r\n", + "Sec-WebSocket-Key: ", Key, "\r\n", + "Origin: http://localhost\r\n", + "Sec-WebSocket-Version: 13\r\n", + "\r\n"], + case yaws_api:get_sslsocket(Sock) of + {ok, SslSock} -> ssl:send(SslSock, Handshake); + undefined -> gen_tcp:send(Sock, Handshake) + end, + ?assertMatch({ok, {400, _}}, read_handshake_response(Sock)), + + ?assertEqual(ok, close(Sock)), + ok. + +bad_upgrade_handshake(Config) -> + WSPath = "/websockets_example_endpoint.yaws", + Key = "dGhlIHNhbXBsZSBub25jZQ==", + + %% Send the handshake and retrieve the response + {ok, Sock} = open("localhost", testsuite:get_yaws_port(1, Config)), + + Handshake = ["GET ", WSPath, " HTTP/1.1\r\n", + "Host: localhost\r\n", + "Upgrade: TLS/1.0\r\n", + "Connection: Upgrade\r\n", + "Sec-WebSocket-Key: ", Key, "\r\n", + "Origin: http://localhost\r\n", + "Sec-WebSocket-Version: 13\r\n", + "\r\n"], + case yaws_api:get_sslsocket(Sock) of + {ok, SslSock} -> ssl:send(SslSock, Handshake); + undefined -> gen_tcp:send(Sock, Handshake) + end, + ?assertMatch({ok, {400, _}}, read_handshake_response(Sock)), + + ?assertEqual(ok, close(Sock)), + ok. + +basic_unfragmented_text(Config) -> + basic_unfragmented_text(Config, 0, all), + basic_unfragmented_text(Config, 125, all), + basic_unfragmented_text(Config, 126, all), + basic_unfragmented_text(Config, 127, all), + basic_unfragmented_text(Config, 128, all), + basic_unfragmented_text(Config, 65535, all), + basic_unfragmented_text(Config, 65536, all), + basic_unfragmented_text(Config, 65536, 997), + ok. + +advanced_unfragmented_text(Config) -> + advanced_unfragmented_text(Config, 0, all), + advanced_unfragmented_text(Config, 125, all), + advanced_unfragmented_text(Config, 126, all), + advanced_unfragmented_text(Config, 127, all), + advanced_unfragmented_text(Config, 128, all), + advanced_unfragmented_text(Config, 65535, all), + advanced_unfragmented_text(Config, 65536, all), + advanced_unfragmented_text(Config, 65536, 997), + ok. + +basic_unfragmented_binary(Config) -> + basic_unfragmented_binary(Config, 0, all), + basic_unfragmented_binary(Config, 125, all), + basic_unfragmented_binary(Config, 126, all), + basic_unfragmented_binary(Config, 127, all), + basic_unfragmented_binary(Config, 128, all), + basic_unfragmented_binary(Config, 65535, all), + basic_unfragmented_binary(Config, 65536, all), + basic_unfragmented_binary(Config, 65536, 997), + ok. + +advanced_unfragmented_binary(Config) -> + advanced_unfragmented_binary(Config, 0, all), + advanced_unfragmented_binary(Config, 125, all), + advanced_unfragmented_binary(Config, 126, all), + advanced_unfragmented_binary(Config, 127, all), + advanced_unfragmented_binary(Config, 128, all), + advanced_unfragmented_binary(Config, 65535, all), + advanced_unfragmented_binary(Config, 65536, all), + advanced_unfragmented_binary(Config, 65536, 997), + ok. + +basic_unfragmented_text(Config, Sz, BlockSz) -> + Payload = list_to_binary(lists:duplicate(Sz, $*)), + unfragmented_msg(Config, "/websockets_example_endpoint.yaws", + ?WS_OPCODE_TEXT, Payload, BlockSz). + +advanced_unfragmented_text(Config, Sz, BlockSz) -> + Payload = list_to_binary(lists:duplicate(Sz, $*)), + unfragmented_msg(Config, "/websockets_autobahn_endpoint.yaws", + ?WS_OPCODE_TEXT, Payload, BlockSz). + +basic_unfragmented_binary(Config, Sz, BlockSz) -> + Payload = list_to_binary(lists:duplicate(Sz, 16#fe)), + unfragmented_msg(Config, "/websockets_example_endpoint.yaws", + ?WS_OPCODE_BINARY, Payload, BlockSz). + +advanced_unfragmented_binary(Config, Sz, BlockSz) -> + Payload = list_to_binary(lists:duplicate(Sz, 16#fe)), + unfragmented_msg(Config, "/websockets_autobahn_endpoint.yaws", + ?WS_OPCODE_BINARY, Payload, BlockSz). + +unfragmented_msg(Config, WSPath, Type, Payload, BlockSz) -> + Key = "dGhlIHNhbXBsZSBub25jZQ==", + + {ok, Sock} = open("localhost", testsuite:get_yaws_port(1, Config)), + ?assertMatch({ok, {101, _}}, wsopen(Sock, Key, WSPath, "http://localhost", 13)), + + %% unmasked + SndFrame1 = #frame{opcode=Type, payload=Payload}, + ?assertEqual(ok, send_frame(Sock, SndFrame1, BlockSz)), + {ok, RcvFrame1} = read_frame(Sock), + ?assertEqual(Type, RcvFrame1#frame.opcode), + ?assertEqual(Payload, RcvFrame1#frame.payload), + + %% masked + SndFrame2 = SndFrame1#frame{masked=true, mask = <<"abcd">>}, + ?assertEqual(ok, send_frame(Sock, SndFrame2, BlockSz)), + {ok, RcvFrame2} = read_frame(Sock), + ?assertEqual(Type, RcvFrame2#frame.opcode), + ?assertEqual(Payload, RcvFrame2#frame.payload), + + ?assertEqual(ok, wsclose(Sock, ?WS_STATUS_NORMAL, <<>>)), + {ok, Frames} = wsflush(Sock, true), + ?assert(is_valid_close_frame(Frames, [?WS_STATUS_NORMAL])), + ?assertEqual(ok, close(Sock)), + ok. + +basic_ping_text(Config) -> + basic_ping_text(Config, 0, all), + basic_ping_text(Config, 125, all), + ok. + +basic_ping_binary(Config) -> + basic_ping_binary(Config, 125, all), + basic_ping_binary(Config, 125, 1), + ok. + +advanced_ping_text(Config) -> + advanced_ping_text(Config, 0, all), + advanced_ping_text(Config, 125, all), + ok. + +advanced_ping_binary(Config) -> + advanced_ping_binary(Config, 125, all), + advanced_ping_binary(Config, 125, 1), + ok. + +basic_ping_text(Config, Sz, BlockSz) -> + Payload = list_to_binary(lists:duplicate(Sz, $*)), + ping_msg(Config, "/websockets_example_endpoint.yaws", Payload, BlockSz). + +advanced_ping_text(Config, Sz, BlockSz) -> + Payload = list_to_binary(lists:duplicate(Sz, $*)), + ping_msg(Config, "/websockets_autobahn_endpoint.yaws", Payload, BlockSz). + +basic_ping_binary(Config, Sz, BlockSz) -> + Payload = list_to_binary(lists:duplicate(Sz, 16#fe)), + ping_msg(Config, "/websockets_example_endpoint.yaws", Payload, BlockSz). + +advanced_ping_binary(Config, Sz, BlockSz) -> + Payload = list_to_binary(lists:duplicate(Sz, 16#fe)), + ping_msg(Config, "/websockets_autobahn_endpoint.yaws", Payload, BlockSz). + +ping_msg(Config, WSPath, Payload, BlockSz) -> + Key = "dGhlIHNhbXBsZSBub25jZQ==", + + {ok, Sock} = open("localhost", testsuite:get_yaws_port(1, Config)), + ?assertMatch({ok, {101, _}}, wsopen(Sock, Key, WSPath, "http://localhost", 13)), + + %% unmasked + SndFrame1 = #frame{opcode=?WS_OPCODE_PING, payload=Payload}, + ?assertEqual(ok, send_frame(Sock, SndFrame1, BlockSz)), + {ok, RcvFrame1} = read_frame(Sock), + ?assertEqual(?WS_OPCODE_PONG, RcvFrame1#frame.opcode), + ?assertEqual(Payload, RcvFrame1#frame.payload), + + %% masked + SndFrame2 = SndFrame1#frame{masked=true, mask = <<"abcd">>}, + ?assertEqual(ok, send_frame(Sock, SndFrame2, BlockSz)), + {ok, RcvFrame2} = read_frame(Sock), + ?assertEqual(?WS_OPCODE_PONG, RcvFrame2#frame.opcode), + ?assertEqual(Payload, RcvFrame2#frame.payload), + + ?assertEqual(ok, wsclose(Sock, ?WS_STATUS_NORMAL, <<>>)), + {ok, Frames} = wsflush(Sock, true), + ?assert(is_valid_close_frame(Frames, [?WS_STATUS_NORMAL])), + ?assertEqual(ok, close(Sock)), + ok. + +toolong_payload_ping(Config) -> + WSPath = "/websockets_example_endpoint.yaws", + Key = "dGhlIHNhbXBsZSBub25jZQ==", + Payload = list_to_binary(lists:duplicate(126, 16#fe)), + + {ok, Sock} = open("localhost", testsuite:get_yaws_port(1, Config)), + ?assertMatch({ok, {101, _}}, wsopen(Sock, Key, WSPath, "http://localhost", 13)), + + SndFrame = #frame{opcode=?WS_OPCODE_PING, payload=Payload}, + ?assertEqual(ok, send_frame(Sock, SndFrame, all)), + + {ok, Frames} = wsflush(Sock, false), + ?assert(is_valid_close_frame(Frames, [?WS_STATUS_PROTO_ERROR])), + ?assertEqual({ok, []}, wsflush(Sock, true)), + ?assertEqual(ok, close(Sock)), + ok. + +basic_unsolicited_pong(Config) -> + basic_unsolicited_pong(Config, 0), + basic_unsolicited_pong(Config, 125), + ok. + +advanced_unsolicited_pong(Config) -> + advanced_unsolicited_pong(Config, 0), + advanced_unsolicited_pong(Config, 125), + ok. + +basic_unsolicited_pong(Config, Sz) -> + Payload = list_to_binary(lists:duplicate(Sz, 16#fe)), + unsolicited_pong_msg(Config, "/websockets_example_endpoint.yaws", Payload). + +advanced_unsolicited_pong(Config, Sz) -> + Payload = list_to_binary(lists:duplicate(Sz, 16#fe)), + unsolicited_pong_msg(Config, "/websockets_autobahn_endpoint.yaws", Payload). + +unsolicited_pong_msg(Config, WSPath, Payload) -> + Key = "dGhlIHNhbXBsZSBub25jZQ==", + + {ok, Sock} = open("localhost", testsuite:get_yaws_port(1, Config)), + ?assertMatch({ok, {101, _}}, wsopen(Sock, Key, WSPath, "http://localhost", 13)), + + SndFrame = #frame{opcode=?WS_OPCODE_PONG, payload=Payload}, + ?assertEqual(ok, send_frame(Sock, SndFrame, all)), + + ?assertEqual(ok, wsclose(Sock, ?WS_STATUS_NORMAL, <<>>)), + {ok, Frames} = wsflush(Sock, true), + ?assert(is_valid_close_frame(Frames, [?WS_STATUS_NORMAL])), + ?assertEqual(ok, close(Sock)), + ok. + +basic_unsolicited_pong_ping_pong(Config) -> + unsolicited_pong_ping_pong(Config, "/websockets_example_endpoint.yaws"). + +advanced_unsolicited_pong_ping_pong(Config) -> + unsolicited_pong_ping_pong(Config, "/websockets_autobahn_endpoint.yaws"). + +unsolicited_pong_ping_pong(Config, WSPath) -> + Key = "dGhlIHNhbXBsZSBub25jZQ==", + Payload1 = list_to_binary(lists:duplicate(125, $*)), + Payload2 = <<"ping payload">>, + + {ok, Sock} = open("localhost", testsuite:get_yaws_port(1, Config)), + ?assertMatch({ok, {101, _}}, wsopen(Sock, Key, WSPath, "http://localhost", 13)), + + SndFrame1 = #frame{opcode=?WS_OPCODE_PONG, payload=Payload1}, + ?assertEqual(ok, send_frame(Sock, SndFrame1, all)), + + SndFrame2 = #frame{opcode=?WS_OPCODE_PING, payload=Payload2}, + ?assertEqual(ok, send_frame(Sock, SndFrame2, all)), + {ok, RcvFrame2} = read_frame(Sock), + ?assertEqual(?WS_OPCODE_PONG, RcvFrame2#frame.opcode), + ?assertEqual(Payload2, RcvFrame2#frame.payload), + + ?assertEqual(ok, wsclose(Sock, ?WS_STATUS_NORMAL, <<>>)), + {ok, Frames} = wsflush(Sock, true), + ?assert(is_valid_close_frame(Frames, [?WS_STATUS_NORMAL])), + ?assertEqual(ok, close(Sock)), + ok. + +basic_10_pings(Config) -> + basic_10_pings(Config, all), + basic_10_pings(Config, 1), + ok. + +advanced_10_pings(Config) -> + advanced_10_pings(Config, all), + advanced_10_pings(Config, 1), + ok. + +basic_10_pings(Config, BlockSz) -> + send_10_pings(Config, "/websockets_example_endpoint.yaws", BlockSz). + +advanced_10_pings(Config, BlockSz) -> + send_10_pings(Config, "/websockets_autobahn_endpoint.yaws", BlockSz). + +send_10_pings(Config, WSPath, BlockSz) -> + Key = "dGhlIHNhbXBsZSBub25jZQ==", + Payload = <<"ping payload">>, + + {ok, Sock} = open("localhost", testsuite:get_yaws_port(1, Config)), + ?assertMatch({ok, {101, _}}, wsopen(Sock, Key, WSPath, "http://localhost", 13)), + + SndFrame = #frame{opcode=?WS_OPCODE_PING, payload=Payload}, + [begin + ?assertEqual(ok, send_frame(Sock, SndFrame, BlockSz)) + end || _ <- lists:seq(1, 10)], + + ?assertEqual(ok, wsclose(Sock, ?WS_STATUS_NORMAL, <<>>)), + {ok, Frames} = wsflush(Sock, true), + {Frames1, Frames2} = lists:split(10, Frames), + ?assert(lists:all(fun(#frame{payload=P}) -> P == Payload end, Frames1)), + ?assert(is_valid_close_frame(Frames2, [?WS_STATUS_NORMAL])), + ?assertEqual(ok, close(Sock)), + ok. + +badrsv_text(Config) -> + badrsv(Config, "/websockets_example_endpoint.yaws", ?WS_OPCODE_TEXT, 1). + +badrsv_binary(Config) -> + badrsv(Config, "/websockets_example_endpoint.yaws", ?WS_OPCODE_BINARY, 2). + +badrsv_ping(Config) -> + badrsv(Config, "/websockets_example_endpoint.yaws", ?WS_OPCODE_PING, 3). + +badrsv_close(Config) -> + badrsv(Config, "/websockets_example_endpoint.yaws", ?WS_OPCODE_CLOSE, 4). + +badrsv(Config, WSPath, Type, Rsv) -> + Key = "dGhlIHNhbXBsZSBub25jZQ==", + Payload = <<"small payload">>, + + {ok, Sock} = open("localhost", testsuite:get_yaws_port(1, Config)), + ?assertMatch({ok, {101, _}}, wsopen(Sock, Key, WSPath, "http://localhost", 13)), + + SndFrame = #frame{rsv=Rsv, opcode=Type, payload=Payload}, + ?assertEqual(ok, send_frame(Sock, SndFrame, all)), + + {ok, Frames} = wsflush(Sock, false), + ?assert(is_valid_close_frame(Frames, [?WS_STATUS_PROTO_ERROR])), + ?assertEqual({ok, []}, wsflush(Sock, true)), + ?assertEqual(ok, close(Sock)), + ok. + +badrsv_complex(Config) -> + badrsv_complex(Config, all), + badrsv_complex(Config, 1), + ok. + +badrsv_complex(Config, BlockSz) -> + WSPath = "/websockets_example_endpoint.yaws", + Key = "dGhlIHNhbXBsZSBub25jZQ==", + Payload = <<"small payload">>, + + {ok, Sock} = open("localhost", testsuite:get_yaws_port(1, Config)), + ?assertMatch({ok, {101, _}}, wsopen(Sock, Key, WSPath, "http://localhost", 13)), + + SndFrame1 = #frame{opcode=?WS_OPCODE_TEXT, payload=Payload}, + SndFrame2 = SndFrame1#frame{rsv=5}, + SndFrame3 = #frame{opcode=?WS_OPCODE_PING, payload=Payload}, + + ?assertEqual(ok, send_frame(Sock, SndFrame1, BlockSz)), + ?assertEqual(ok, send_frame(Sock, SndFrame2, BlockSz)), + ?assertEqual(ok, send_frame(Sock, SndFrame3, BlockSz)), + + {ok, [Frame1|Frames]} = wsflush(Sock, false), + ?assertEqual(?WS_OPCODE_TEXT, Frame1#frame.opcode), + ?assertEqual(Payload, Frame1#frame.payload), + ?assert(is_valid_close_frame(Frames, [?WS_STATUS_PROTO_ERROR])), + ?assertEqual({ok, []}, wsflush(Sock, true)), + ?assertEqual(ok, close(Sock)), + ok. + +badopcodes(Config) -> + [badopcodes(Config, O) || O <- [3,4,5,6,7,11,12,13,14,15]], + ok. + +badopcodes(Config, Opcode) -> + WSPath = "/websockets_example_endpoint.yaws", + Key = "dGhlIHNhbXBsZSBub25jZQ==", + + {ok, Sock} = open("localhost", testsuite:get_yaws_port(1, Config)), + ?assertMatch({ok, {101, _}}, wsopen(Sock, Key, WSPath, "http://localhost", 13)), + + SndFrame = #frame{opcode=Opcode}, + ?assertEqual(ok, send_frame(Sock, SndFrame, all)), + + {ok, Frames} = wsflush(Sock, false), + ?assert(is_valid_close_frame(Frames, [?WS_STATUS_PROTO_ERROR])), + ?assertEqual({ok, []}, wsflush(Sock, true)), + ?assertEqual(ok, close(Sock)), + ok. + +basic_fragmented_empty(Config) -> + fragmented_empty(Config, "/websockets_example_endpoint.yaws"). + +advanced_fragmented_empty(Config) -> + fragmented_empty(Config, "/websockets_autobahn_endpoint.yaws"). + +fragmented_empty(Config, WSPath) -> + Key = "dGhlIHNhbXBsZSBub25jZQ==", + + {ok, Sock} = open("localhost", testsuite:get_yaws_port(1, Config)), + ?assertMatch({ok, {101, _}}, wsopen(Sock, Key, WSPath, "http://localhost", 13)), + + SndFrame1 = #frame{fin=false, opcode=?WS_OPCODE_TEXT}, + SndFrame2 = #frame{fin=false, opcode=?WS_OPCODE_CONTINUATION}, + SndFrame3 = #frame{opcode=?WS_OPCODE_CONTINUATION}, + + ?assertEqual(ok, send_frame(Sock, SndFrame1, all)), + ?assertEqual(ok, send_frame(Sock, SndFrame2, all)), + ?assertEqual(ok, send_frame(Sock, SndFrame3, all)), + ?assertEqual(ok, wsclose(Sock, ?WS_STATUS_NORMAL, <<>>)), + + {ok, [Frame1|Frames]} = wsflush(Sock, true), + ?assertEqual(?WS_OPCODE_TEXT, Frame1#frame.opcode), + ?assertEqual(<<>>, Frame1#frame.payload), + ?assert(is_valid_close_frame(Frames, [?WS_STATUS_NORMAL])), + ?assertEqual(ok, close(Sock)), + ok. + +basic_fragmented_text_1(Config) -> + valid_fragmented_1(Config, "/websockets_example_endpoint.yaws", + ?WS_OPCODE_TEXT). + +advanced_fragmented_text_1(Config) -> + valid_fragmented_1(Config, "/websockets_autobahn_endpoint.yaws", + ?WS_OPCODE_TEXT). + +basic_fragmented_binary_1(Config) -> + valid_fragmented_1(Config, "/websockets_example_endpoint.yaws", + ?WS_OPCODE_BINARY). + +advanced_fragmented_binary_1(Config) -> + valid_fragmented_1(Config, "/websockets_autobahn_endpoint.yaws", + ?WS_OPCODE_BINARY). + +valid_fragmented_1(Config, WSPath, Type) -> + Key = "dGhlIHNhbXBsZSBub25jZQ==", + Payload1 = <<"fragment1">>, + Payload2 = <<"fragment2">>, + Payload3 = <<"fragment3">>, + Payload = <>, + + {ok, Sock} = open("localhost", testsuite:get_yaws_port(1, Config)), + ?assertMatch({ok, {101, _}}, wsopen(Sock, Key, WSPath, "http://localhost", 13)), + + SndFrame1 = #frame{fin=false, opcode=Type, payload=Payload1}, + SndFrame2 = #frame{fin=false, opcode=?WS_OPCODE_CONTINUATION, payload=Payload2}, + SndFrame3 = #frame{opcode=?WS_OPCODE_CONTINUATION, payload=Payload3}, + + ?assertEqual(ok, send_frame(Sock, SndFrame1, all)), + ?assertEqual(ok, send_frame(Sock, SndFrame2, all)), + ?assertEqual(ok, send_frame(Sock, SndFrame3, all)), + ?assertEqual(ok, wsclose(Sock, ?WS_STATUS_NORMAL, <<>>)), + + {ok, [Frame1|Frames]} = wsflush(Sock, true), + ?assertEqual(Type, Frame1#frame.opcode), + ?assertEqual(Payload, Frame1#frame.payload), + ?assert(is_valid_close_frame(Frames, [?WS_STATUS_NORMAL])), + ?assertEqual(ok, close(Sock)), + ok. + +basic_fragmented_text_2(Config) -> + valid_fragmented_2(Config, "/websockets_example_endpoint.yaws", + ?WS_OPCODE_TEXT). + +advanced_fragmented_text_2(Config) -> + valid_fragmented_2(Config, "/websockets_autobahn_endpoint.yaws", + ?WS_OPCODE_TEXT). + +basic_fragmented_binary_2(Config) -> + valid_fragmented_2(Config, "/websockets_example_endpoint.yaws", + ?WS_OPCODE_BINARY). + +advanced_fragmented_binary_2(Config) -> + valid_fragmented_2(Config, "/websockets_autobahn_endpoint.yaws", + ?WS_OPCODE_BINARY). + + +valid_fragmented_2(Config, WSPath, Type) -> + Key = "dGhlIHNhbXBsZSBub25jZQ==", + Payload = <<"fragment">>, + + {ok, Sock} = open("localhost", testsuite:get_yaws_port(1, Config)), + ?assertMatch({ok, {101, _}}, wsopen(Sock, Key, WSPath, "http://localhost", 13)), + + SndFrame1 = #frame{fin=false, opcode=Type}, + SndFrame2 = #frame{fin=false, opcode=?WS_OPCODE_CONTINUATION, payload=Payload}, + SndFrame3 = #frame{opcode=?WS_OPCODE_CONTINUATION}, + + ?assertEqual(ok, send_frame(Sock, SndFrame1, all)), + ?assertEqual(ok, send_frame(Sock, SndFrame2, all)), + ?assertEqual(ok, send_frame(Sock, SndFrame3, all)), + ?assertEqual(ok, wsclose(Sock, ?WS_STATUS_NORMAL, <<>>)), + + {ok, [Frame1|Frames]} = wsflush(Sock, true), + ?assertEqual(Type, Frame1#frame.opcode), + ?assertEqual(Payload, Frame1#frame.payload), + ?assert(is_valid_close_frame(Frames, [?WS_STATUS_NORMAL])), + ?assertEqual(ok, close(Sock)), + ok. + +basic_fragmented_ping(Config) -> + invalid_fragmented(Config, "/websockets_example_endpoint.yaws", + ?WS_OPCODE_PING). + +advanced_fragmented_ping(Config) -> + invalid_fragmented(Config, "/websockets_autobahn_endpoint.yaws", + ?WS_OPCODE_PING). + +basic_fragmented_pong(Config) -> + invalid_fragmented(Config, "/websockets_example_endpoint.yaws", + ?WS_OPCODE_PONG). + +advanced_fragmented_pong(Config) -> + invalid_fragmented(Config, "/websockets_autobahn_endpoint.yaws", + ?WS_OPCODE_PONG). + +basic_fragmented_close(Config) -> + invalid_fragmented(Config, "/websockets_example_endpoint.yaws", + ?WS_OPCODE_CLOSE). + +advanced_fragmented_close(Config) -> + invalid_fragmented(Config, "/websockets_autobahn_endpoint.yaws", + ?WS_OPCODE_CLOSE). + +invalid_fragmented(Config, WSPath, Type) -> + Key = "dGhlIHNhbXBsZSBub25jZQ==", + Payload1 = <<"fragment1">>, + Payload2 = <<"fragment2">>, + + {ok, Sock} = open("localhost", testsuite:get_yaws_port(1, Config)), + ?assertMatch({ok, {101, _}}, wsopen(Sock, Key, WSPath, "http://localhost", 13)), + + SndFrame1 = #frame{fin=false, opcode=Type, payload=Payload1}, + SndFrame2 = #frame{opcode=?WS_OPCODE_CONTINUATION, payload=Payload2}, + + ?assertEqual(ok, send_frame(Sock, SndFrame1, all)), + ?assertEqual(ok, send_frame(Sock, SndFrame2, all)), + + {ok, Frames} = wsflush(Sock, false), + ?assert(is_valid_close_frame(Frames, [?WS_STATUS_PROTO_ERROR])), + ?assertEqual({ok, []}, wsflush(Sock, true)), + ?assertEqual(ok, close(Sock)), + ok. + +basic_fragmented_text_with_ping(Config) -> + fragmented_with_ping(Config, "/websockets_example_endpoint.yaws"). + +advanced_fragmented_text_with_ping(Config) -> + fragmented_with_ping(Config, "/websockets_autobahn_endpoint.yaws"). + +fragmented_with_ping(Config, WSPath) -> + Key = "dGhlIHNhbXBsZSBub25jZQ==", + Payload1 = <<"fragment1">>, + Payload2 = <<"fragment2">>, + Payload = <>, + + {ok, Sock} = open("localhost", testsuite:get_yaws_port(1, Config)), + ?assertMatch({ok, {101, _}}, wsopen(Sock, Key, WSPath, "http://localhost", 13)), + + SndFrame1 = #frame{fin=false, opcode=?WS_OPCODE_TEXT, payload=Payload1}, + SndFrame2 = #frame{opcode=?WS_OPCODE_PING}, + SndFrame3 = #frame{opcode=?WS_OPCODE_CONTINUATION, payload=Payload2}, + + ?assertEqual(ok, send_frame(Sock, SndFrame1, all)), + ?assertEqual(ok, send_frame(Sock, SndFrame2, all)), + ?assertEqual(ok, send_frame(Sock, SndFrame3, all)), + ?assertEqual(ok, wsclose(Sock, ?WS_STATUS_NORMAL, <<>>)), + + {ok, [Frame1, Frame2|Frames]} = wsflush(Sock, true), + ?assertEqual(?WS_OPCODE_PONG, Frame1#frame.opcode), + ?assertEqual(?WS_OPCODE_TEXT, Frame2#frame.opcode), + ?assertEqual(Payload, Frame2#frame.payload), + ?assert(is_valid_close_frame(Frames, [?WS_STATUS_NORMAL])), + ?assertEqual(ok, close(Sock)), + ok. + +basic_fragmented_text_with_pong(Config) -> + fragmented_with_pong(Config, "/websockets_example_endpoint.yaws"). + +advanced_fragmented_text_with_pong(Config) -> + fragmented_with_pong(Config, "/websockets_autobahn_endpoint.yaws"). + +fragmented_with_pong(Config, WSPath) -> + Key = "dGhlIHNhbXBsZSBub25jZQ==", + Payload1 = <<"fragment1">>, + Payload2 = <<"fragment2">>, + Payload = <>, + + {ok, Sock} = open("localhost", testsuite:get_yaws_port(1, Config)), + ?assertMatch({ok, {101, _}}, wsopen(Sock, Key, WSPath, "http://localhost", 13)), + + SndFrame1 = #frame{fin=false, opcode=?WS_OPCODE_TEXT, payload=Payload1}, + SndFrame2 = #frame{opcode=?WS_OPCODE_PONG}, + SndFrame3 = #frame{opcode=?WS_OPCODE_CONTINUATION, payload=Payload2}, + + ?assertEqual(ok, send_frame(Sock, SndFrame1, all)), + ?assertEqual(ok, send_frame(Sock, SndFrame2, all)), + ?assertEqual(ok, send_frame(Sock, SndFrame3, all)), + ?assertEqual(ok, wsclose(Sock, ?WS_STATUS_NORMAL, <<>>)), + + {ok, [Frame1|Frames]} = wsflush(Sock, true), + ?assertEqual(?WS_OPCODE_TEXT, Frame1#frame.opcode), + ?assertEqual(Payload, Frame1#frame.payload), + ?assert(is_valid_close_frame(Frames, [?WS_STATUS_NORMAL])), + ?assertEqual(ok, close(Sock)), + ok. + +basic_badfragmented_1(Config) -> + badfragmented(Config, "/websockets_example_endpoint.yaws", true). + +basic_badfragmented_2(Config) -> + badfragmented(Config, "/websockets_example_endpoint.yaws", false). + +advanced_badfragmented_1(Config) -> + badfragmented(Config, "/websockets_autobahn_endpoint.yaws", true). + +advanced_badfragmented_2(Config) -> + badfragmented(Config, "/websockets_autobahn_endpoint.yaws", false). + +badfragmented(Config, WSPath, Fin) -> + Key = "dGhlIHNhbXBsZSBub25jZQ==", + Payload = <<"small payload">>, + + {ok, Sock} = open("localhost", testsuite:get_yaws_port(1, Config)), + ?assertMatch({ok, {101, _}}, wsopen(Sock, Key, WSPath, "http://localhost", 13)), + + SndFrame1 = #frame{fin=Fin, opcode=?WS_OPCODE_CONTINUATION, payload=Payload}, + SndFrame2 = #frame{opcode=?WS_OPCODE_TEXT, payload=Payload}, + + ?assertEqual(ok, send_frame(Sock, SndFrame1, all)), + ?assertEqual(ok, send_frame(Sock, SndFrame2, all)), + + {ok, Frames} = wsflush(Sock, false), + ?assert(is_valid_close_frame(Frames, [?WS_STATUS_PROTO_ERROR])), + ?assertEqual({ok, []}, wsflush(Sock, true)), + ?assertEqual(ok, close(Sock)), + ok. + +basic_badfragmented_nocontinuation(Config) -> + badfragmented_nocontinuation(Config, "/websockets_example_endpoint.yaws"). + +advanced_badfragmented_nocontinuation(Config) -> + badfragmented_nocontinuation(Config, "/websockets_autobahn_endpoint.yaws"). + +badfragmented_nocontinuation(Config, WSPath) -> + Key = "dGhlIHNhbXBsZSBub25jZQ==", + Payload1 = <<"fragment1">>, + Payload2 = <<"fragment2">>, + + {ok, Sock} = open("localhost", testsuite:get_yaws_port(1, Config)), + ?assertMatch({ok, {101, _}}, wsopen(Sock, Key, WSPath, "http://localhost", 13)), + + SndFrame1 = #frame{fin=false, opcode=?WS_OPCODE_TEXT, payload=Payload1}, + SndFrame2 = #frame{fin=false, opcode=?WS_OPCODE_TEXT, payload=Payload2}, + + ?assertEqual(ok, send_frame(Sock, SndFrame1, all)), + ?assertEqual(ok, send_frame(Sock, SndFrame2, all)), + + {ok, Frames} = wsflush(Sock, false), + ?assert(is_valid_close_frame(Frames, [?WS_STATUS_PROTO_ERROR])), + ?assertEqual({ok, []}, wsflush(Sock, true)), + ?assertEqual(ok, close(Sock)), + ok. + +basic_unfragmented_valid_utf8_text(Config) -> + unfragmented_valid_utf8(Config, "/websockets_example_endpoint.yaws", all), + unfragmented_valid_utf8(Config, "/websockets_example_endpoint.yaws", 1), + ok. + +advanced_unfragmented_valid_utf8_text(Config) -> + unfragmented_valid_utf8(Config, "/websockets_autobahn_endpoint.yaws", all), + unfragmented_valid_utf8(Config, "/websockets_autobahn_endpoint.yaws", 1), + ok. + +unfragmented_valid_utf8(Config, WSPath, BlockSz) -> + Key = "dGhlIHNhbXBsZSBub25jZQ==", + + {ok, Sock} = open("localhost", testsuite:get_yaws_port(1, Config)), + ?assertMatch({ok, {101, _}}, wsopen(Sock, Key, WSPath, "http://localhost", 13)), + + Fun = fun(Payload) -> + SndFrame = #frame{opcode=?WS_OPCODE_TEXT, payload=Payload}, + ?assertEqual(ok, send_frame(Sock, SndFrame, BlockSz)), + {ok, RcvFrame} = read_frame(Sock), + ?assertEqual(?WS_OPCODE_TEXT, RcvFrame#frame.opcode), + ?assertEqual(Payload, RcvFrame#frame.payload) + end, + + Fun(<<16#ce,16#ba>>), + Fun(<<16#ce,16#ba,16#e1,16#bd,16#b9>>), + Fun(<<16#ce,16#ba,16#e1,16#bd,16#b9,16#cf,16#83>>), + Fun(<<16#ce,16#ba,16#e1,16#bd,16#b9,16#cf,16#83,16#ce,16#bc>>), + Fun(<<16#ce,16#ba,16#e1,16#bd,16#b9,16#cf,16#83,16#ce,16#bc, + 16#ce,16#b5>>), + Fun(<<"Hello-",16#c2,16#b5,$@,16#c3,16#9f,16#c3,16#b6,16#c3,16#a4, + 16#c3,16#bc,16#c3,16#a0,16#c3,16#a1,"-UTF-8!!">>), + Fun(<<16#00>>), + Fun(<<16#c2,16#80>>), + Fun(<<16#e0,16#a0,16#80>>), + Fun(<<16#f0,16#90,16#80,16#80>>), + Fun(<<16#7f>>), + Fun(<<16#df,16#bf>>), + Fun(<<16#ef,16#bf,16#bf>>), + + Fun(<<16#f4,16#8f,16#bf,16#bf>>), + Fun(<<16#ed,16#9f,16#bf>>), + Fun(<<16#ee,16#80,16#80>>), + Fun(<<16#ef,16#bf,16#bd>>), + Fun(<<16#f4,16#8f,16#bf,16#bf>>), + + ?assertEqual(ok, wsclose(Sock, ?WS_STATUS_NORMAL, <<>>)), + {ok, Frames} = wsflush(Sock, true), + ?assert(is_valid_close_frame(Frames, [?WS_STATUS_NORMAL])), + ?assertEqual(ok, close(Sock)), + ok. + +basic_fragmented_valid_utf8_text(Config) -> + fragmented_valid_utf8(Config, "/websockets_example_endpoint.yaws", all), + fragmented_valid_utf8(Config, "/websockets_example_endpoint.yaws", 1), + ok. + +advanced_fragmented_valid_utf8_text(Config) -> + fragmented_valid_utf8(Config, "/websockets_autobahn_endpoint.yaws", all), + fragmented_valid_utf8(Config, "/websockets_autobahn_endpoint.yaws", 1), + ok. + +fragmented_valid_utf8(Config, WSPath, FragSz) -> + Key = "dGhlIHNhbXBsZSBub25jZQ==", + Payload1 = <<"Hello-",16#c2,16#b5,$@,16#c3,16#9f,16#c3,16#b6,16#c3,16#a4>>, + Payload2 = <<16#c3,16#bc,16#c3,16#a0,16#c3,16#a1,"-UTF-8!!">>, + Payload = <>, + + {ok, Sock} = open("localhost", testsuite:get_yaws_port(1, Config)), + ?assertMatch({ok, {101, _}}, wsopen(Sock, Key, WSPath, "http://localhost", 13)), + + Payloads = fragment_payload(Payload1, FragSz) ++ + fragment_payload(Payload2, FragSz), + + [First|Rest0] = Payloads, + [Last|Rest1] = lists:reverse(Rest0), + Middles = lists:reverse(Rest1), + FirstFrame = #frame{fin=false, opcode=?WS_OPCODE_TEXT, payload=First}, + LastFrame = #frame{opcode=?WS_OPCODE_CONTINUATION, payload=Last}, + MiddleFrames = lists:map(fun(P) -> + #frame{fin=false, + opcode=?WS_OPCODE_CONTINUATION, + payload=P} + end, Middles), + + ?assertEqual(ok, send_frame(Sock, FirstFrame, all)), + lists:foreach(fun(F) -> + ?assertEqual(ok, send_frame(Sock, F, all)) + end, MiddleFrames), + ?assertEqual(ok, send_frame(Sock, LastFrame, all)), + ?assertEqual(ok, wsclose(Sock, ?WS_STATUS_NORMAL, <<>>)), + + {ok, [Frame1|Frames]} = wsflush(Sock, true), + ?assertEqual(?WS_OPCODE_TEXT, Frame1#frame.opcode), + ?assertEqual(Payload, Frame1#frame.payload), + ?assert(is_valid_close_frame(Frames, [?WS_STATUS_NORMAL])), + ?assertEqual(ok, close(Sock)), + ok. + +basic_unfragmented_invalid_utf8_text(Config) -> + unfragmented_invalid_utf8(Config, "/websockets_example_endpoint.yaws", all), + unfragmented_invalid_utf8(Config, "/websockets_example_endpoint.yaws", 1), + ok. + +advanced_unfragmented_invalid_utf8_text(Config) -> + unfragmented_invalid_utf8(Config, "/websockets_autobahn_endpoint.yaws", all), + unfragmented_invalid_utf8(Config, "/websockets_autobahn_endpoint.yaws", 1), + ok. + +unfragmented_invalid_utf8(Config, WSPath, BlockSz) -> + Key = "dGhlIHNhbXBsZSBub25jZQ==", + + Fun = fun(Payload) -> + {ok, Sock} = open("localhost", testsuite:get_yaws_port(1, Config)), + ?assertMatch({ok, {101, _}}, wsopen(Sock, Key, WSPath, "http://localhost", 13)), + + SndFrame = #frame{opcode=?WS_OPCODE_TEXT, payload=Payload}, + ?assertEqual(ok, send_frame(Sock, SndFrame, BlockSz)), + + {ok, Frames} = wsflush(Sock, false), + ?assert(is_valid_close_frame(Frames, [?WS_STATUS_INVALID_PAYLOAD])), + ?assertEqual({ok, []}, wsflush(Sock, true)), + ?assertEqual(ok, close(Sock)) + end, + + Fun(<<16#cd>>), + Fun(<<16#ce,16#ba,16#e1>>), + Fun(<<16#ce,16#ba,16#e1,16#bd>>), + Fun(<<16#ce,16#ba,16#e1,16#bd,16#b9,16#cf>>), + Fun(<<16#ce,16#ba,16#e1,16#bd,16#b9,16#cf,16#83,16#ce>>), + Fun(<<16#ce,16#ba,16#e1,16#bd,16#b9,16#cf,16#83,16#ce,16#bc,16#ce>>), + Fun(<<16#ce,16#ba,16#e1,16#bd,16#b9,16#cf,16#83,16#ce,16#bc,16#ce, + 16#b5,16#ed,16#a0,16#80,16#65,16#64,16#69,16#74,16#65,16#64>>), + Fun(<<16#f8,16#88,16#80,16#80,16#80>>), + Fun(<<16#fc,16#84,16#80,16#80,16#80,16#80>>), + Fun(<<16#f7,16#bf,16#bf,16#bf>>), + Fun(<<16#fb,16#bf,16#bf,16#bf,16#bf>>), + Fun(<<16#fd,16#bf,16#bf,16#bf,16#bf,16#bf>>), + Fun(<<16#f4,16#90,16#80,16#80>>), + Fun(<<16#80>>), + Fun(<<16#bf>>), + Fun(<<16#80,16#bf>>), + Fun(<<16#80,16#bf,16#80>>), + Fun(<<16#80,16#bf,16#80,16#bf>>), + Fun(<<16#80,16#bf,16#80,16#bf,16#80>>), + Fun(<<16#80,16#bf,16#80,16#bf,16#80,16#bf>>), + Fun(<<16#80,16#81,16#82,16#83,16#84,16#85,16#86,16#87,16#88,16#89,16#8a, + 16#8b,16#8c,16#8d,16#8e,16#8f,16#90,16#91,16#92,16#93,16#94,16#95, + 16#96,16#97,16#98,16#99,16#9a,16#9b,16#9c,16#9d,16#9e,16#9f,16#a0, + 16#a1,16#a2,16#a3,16#a4,16#a5,16#a6,16#a7,16#a8,16#a9,16#aa,16#ab, + 16#ac,16#ad,16#ae,16#af,16#b0,16#b1,16#b2,16#b3,16#b4,16#b5,16#b6, + 16#b7,16#b8,16#b9,16#ba,16#bb,16#bc,16#bd,16#be>>), + ok. + +basic_fragmented_invalid_utf8_text(Config) -> + fragmented_invalid_utf8(Config, "/websockets_example_endpoint.yaws", all), + fragmented_invalid_utf8(Config, "/websockets_example_endpoint.yaws", 1), + ok. + +advanced_fragmented_invalid_utf8_text(Config) -> + fragmented_invalid_utf8(Config, "/websockets_autobahn_endpoint.yaws", all), + fragmented_invalid_utf8(Config, "/websockets_autobahn_endpoint.yaws", 1), + ok. + +fragmented_invalid_utf8(Config, WSPath, FragSz) -> + Key = "dGhlIHNhbXBsZSBub25jZQ==", + Payload1 = <<16#ce,16#ba,16#e1,16#bd,16#b9,16#cf,16#83,16#ce,16#bc,16#ce>>, + Payload2 = <<16#b5,16#ed,16#a0,16#80,16#65,16#64,16#69,16#74,16#65,16#64>>, + + {ok, Sock} = open("localhost", testsuite:get_yaws_port(1, Config)), + ?assertMatch({ok, {101, _}}, wsopen(Sock, Key, WSPath, "http://localhost", 13)), + + Payloads = fragment_payload(Payload1, FragSz) ++ + fragment_payload(Payload2, FragSz), + + [First|Rest0] = Payloads, + [Last|Rest1] = lists:reverse(Rest0), + Middles = lists:reverse(Rest1), + FirstFrame = #frame{fin=false, opcode=?WS_OPCODE_TEXT, payload=First}, + LastFrame = #frame{opcode=?WS_OPCODE_CONTINUATION, payload=Last}, + MiddleFrames = lists:map(fun(P) -> + #frame{fin=false, + opcode=?WS_OPCODE_CONTINUATION, + payload=P} + end, Middles), + + ?assertEqual(ok, send_frame(Sock, FirstFrame, all)), + lists:foreach(fun(F) -> + ?assertEqual(ok, send_frame(Sock, F, all)) + end, MiddleFrames), + ?assertEqual(ok, send_frame(Sock, LastFrame, all)), + + {ok, Frames} = wsflush(Sock, false), + ?assert(is_valid_close_frame(Frames, [?WS_STATUS_INVALID_PAYLOAD])), + ?assertEqual({ok, []}, wsflush(Sock, true)), + ?assertEqual(ok, close(Sock)), + ok. + +basic_2_closes(Config) -> + send_2_closes(Config, "/websockets_example_endpoint.yaws"). + +advanced_2_closes(Config) -> + send_2_closes(Config, "/websockets_autobahn_endpoint.yaws"). + +send_2_closes(Config, WSPath) -> + Key = "dGhlIHNhbXBsZSBub25jZQ==", + + {ok, Sock} = open("localhost", testsuite:get_yaws_port(1, Config)), + ?assertMatch({ok, {101, _}}, wsopen(Sock, Key, WSPath, "http://localhost", 13)), + + ?assertEqual(ok, wsclose(Sock, ?WS_STATUS_NORMAL, <<>>)), + {ok, Frames} = wsflush(Sock, false), + ?assert(is_valid_close_frame(Frames, [?WS_STATUS_NORMAL])), + ?assertEqual(ok, wsclose(Sock, ?WS_STATUS_NORMAL, <<>>)), + ?assertEqual({ok, []}, wsflush(Sock, true)), + ?assertEqual(ok, close(Sock)), + ok. + +basic_close_ping(Config) -> + close_ping(Config, "/websockets_example_endpoint.yaws"). + +advanced_close_ping(Config) -> + close_ping(Config, "/websockets_autobahn_endpoint.yaws"). + +close_ping(Config, WSPath) -> + Key = "dGhlIHNhbXBsZSBub25jZQ==", + + {ok, Sock} = open("localhost", testsuite:get_yaws_port(1, Config)), + ?assertMatch({ok, {101, _}}, wsopen(Sock, Key, WSPath, "http://localhost", 13)), + + ?assertEqual(ok, wsclose(Sock, ?WS_STATUS_NORMAL, <<>>)), + ?assertEqual(ok, send_frame(Sock, #frame{opcode=?WS_OPCODE_PING}, all)), + + {ok, Frames} = wsflush(Sock, true), + ?assert(is_valid_close_frame(Frames, [?WS_STATUS_NORMAL])), + ?assertEqual(ok, close(Sock)), + ok. + +basic_close_text(Config) -> + close_text(Config, "/websockets_example_endpoint.yaws"). + +advanced_close_text(Config) -> + close_text(Config, "/websockets_autobahn_endpoint.yaws"). + +close_text(Config, WSPath) -> + Key = "dGhlIHNhbXBsZSBub25jZQ==", + + {ok, Sock} = open("localhost", testsuite:get_yaws_port(1, Config)), + ?assertMatch({ok, {101, _}}, wsopen(Sock, Key, WSPath, "http://localhost", 13)), + + ?assertEqual(ok, wsclose(Sock, ?WS_STATUS_NORMAL, <<>>)), + ?assertEqual(ok, send_frame(Sock, #frame{opcode=?WS_OPCODE_TEXT}, all)), + + {ok, Frames} = wsflush(Sock, true), + ?assert(is_valid_close_frame(Frames, [?WS_STATUS_NORMAL])), + ?assertEqual(ok, close(Sock)), + ok. + +basic_fragtext_close_fragtext(Config) -> + close_fragtext(Config, "/websockets_example_endpoint.yaws"). + +advanced_fragtext_close_fragtext(Config) -> + close_fragtext(Config, "/websockets_autobahn_endpoint.yaws"). + +close_fragtext(Config, WSPath) -> + Key = "dGhlIHNhbXBsZSBub25jZQ==", + + {ok, Sock} = open("localhost", testsuite:get_yaws_port(1, Config)), + ?assertMatch({ok, {101, _}}, wsopen(Sock, Key, WSPath, "http://localhost", 13)), + + ?assertEqual(ok, send_frame(Sock, #frame{fin=false, opcode=?WS_OPCODE_TEXT}, all)), + ?assertEqual(ok, wsclose(Sock, ?WS_STATUS_NORMAL, <<>>)), + ?assertEqual(ok, send_frame(Sock, #frame{opcode=?WS_OPCODE_CONTINUATION}, all)), + + {ok, Frames} = wsflush(Sock, true), + ?assert(is_valid_close_frame(Frames, [?WS_STATUS_NORMAL])), + ?assertEqual(ok, close(Sock)), + ok. + +basic_close_empty(Config) -> + close_empty(Config, "/websockets_example_endpoint.yaws"). + +advanced_close_empty(Config) -> + close_empty(Config, "/websockets_autobahn_endpoint.yaws"). + +close_empty(Config, WSPath) -> + Key = "dGhlIHNhbXBsZSBub25jZQ==", + + {ok, Sock} = open("localhost", testsuite:get_yaws_port(1, Config)), + ?assertMatch({ok, {101, _}}, wsopen(Sock, Key, WSPath, "http://localhost", 13)), + + ?assertEqual(ok, gen_tcp:send(Sock, <<136,0>>)), + + {ok, Frames} = wsflush(Sock, true), + ?assert(is_valid_close_frame(Frames, [?WS_STATUS_NORMAL])), + ?assertEqual(ok, close(Sock)), + ok. + +basic_close_toosmall(Config) -> + close_toosmall(Config, "/websockets_example_endpoint.yaws"). + +advanced_close_toosmall(Config) -> + close_toosmall(Config, "/websockets_autobahn_endpoint.yaws"). + +close_toosmall(Config, WSPath) -> + Key = "dGhlIHNhbXBsZSBub25jZQ==", + + {ok, Sock} = open("localhost", testsuite:get_yaws_port(1, Config)), + ?assertMatch({ok, {101, _}}, wsopen(Sock, Key, WSPath, "http://localhost", 13)), + + ?assertEqual(ok, gen_tcp:send(Sock, <<136,1,0>>)), + + {ok, Frames} = wsflush(Sock, true), + ?assert(is_valid_close_frame(Frames, [?WS_STATUS_PROTO_ERROR])), + ?assertEqual(ok, close(Sock)), + ok. + +basic_close_statusonly(Config) -> + close_statusonly(Config, "/websockets_example_endpoint.yaws"). + +advanced_close_statusonly(Config) -> + close_statusonly(Config, "/websockets_autobahn_endpoint.yaws"). + +close_statusonly(Config, WSPath) -> + Key = "dGhlIHNhbXBsZSBub25jZQ==", + + {ok, Sock} = open("localhost", testsuite:get_yaws_port(1, Config)), + ?assertMatch({ok, {101, _}}, wsopen(Sock, Key, WSPath, "http://localhost", 13)), + + ?assertEqual(ok, gen_tcp:send(Sock, <<136,2,1000:16/big>>)), + + {ok, Frames} = wsflush(Sock, true), + ?assert(is_valid_close_frame(Frames, [?WS_STATUS_NORMAL])), + ?assertEqual(ok, close(Sock)), + ok. + +basic_close_with_reason(Config) -> + close_with_reason(Config, "/websockets_example_endpoint.yaws"). + +advanced_close_with_reason(Config) -> + close_with_reason(Config, "/websockets_autobahn_endpoint.yaws"). + +close_with_reason(Config, WSPath) -> + Key = "dGhlIHNhbXBsZSBub25jZQ==", + + {ok, Sock} = open("localhost", testsuite:get_yaws_port(1, Config)), + ?assertMatch({ok, {101, _}}, wsopen(Sock, Key, WSPath, "http://localhost", 13)), + + ?assertEqual(ok, gen_tcp:send(Sock, <<136,4,1000:16/big,"Ok">>)), + + {ok, Frames} = wsflush(Sock, true), + ?assert(is_valid_close_frame(Frames, [?WS_STATUS_NORMAL])), + ?assertEqual(ok, close(Sock)), + ok. + +basic_close_limit_size(Config) -> + close_limit_size(Config, "/websockets_example_endpoint.yaws"). + +advanced_close_limit_size(Config) -> + close_limit_size(Config, "/websockets_autobahn_endpoint.yaws"). + +close_limit_size(Config, WSPath) -> + Key = "dGhlIHNhbXBsZSBub25jZQ==", + + {ok, Sock} = open("localhost", testsuite:get_yaws_port(1, Config)), + ?assertMatch({ok, {101, _}}, wsopen(Sock, Key, WSPath, "http://localhost", 13)), + + Reason = list_to_binary(lists:duplicate(123, $*)), + ?assertEqual(ok, gen_tcp:send(Sock, <<136,125,1000:16/big,Reason/binary>>)), + + {ok, Frames} = wsflush(Sock, true), + ?assert(is_valid_close_frame(Frames, [?WS_STATUS_NORMAL])), + ?assertEqual(ok, close(Sock)), + ok. + +basic_close_toolong(Config) -> + close_toolong(Config, "/websockets_example_endpoint.yaws"). + +advanced_close_toolong(Config) -> + close_toolong(Config, "/websockets_autobahn_endpoint.yaws"). + +close_toolong(Config, WSPath) -> + Key = "dGhlIHNhbXBsZSBub25jZQ==", + + {ok, Sock} = open("localhost", testsuite:get_yaws_port(1, Config)), + ?assertMatch({ok, {101, _}}, wsopen(Sock, Key, WSPath, "http://localhost", 13)), + + Reason = list_to_binary(lists:duplicate(124, $*)), + ?assertEqual(ok, gen_tcp:send(Sock, <<136,126,1000:16/big,Reason/binary>>)), + + {ok, Frames} = wsflush(Sock, true), + ?assert(is_valid_close_frame(Frames, [?WS_STATUS_PROTO_ERROR])), + ?assertEqual(ok, close(Sock)), + ok. + +basic_close_invalid_utf8(Config) -> + close_invalid_utf8(Config, "/websockets_example_endpoint.yaws"). + +advanced_close_invalid_utf8(Config) -> + close_invalid_utf8(Config, "/websockets_autobahn_endpoint.yaws"). + +close_invalid_utf8(Config, WSPath) -> + Key = "dGhlIHNhbXBsZSBub25jZQ==", + + {ok, Sock} = open("localhost", testsuite:get_yaws_port(1, Config)), + ?assertMatch({ok, {101, _}}, wsopen(Sock, Key, WSPath, "http://localhost", 13)), + + Reason = <<16#ce,16#ba,16#e1,16#bd,16#b9,16#cf,16#83,16#ce,16#bc,16#ce, + 16#b5,16#ed,16#a0,16#80,16#65,16#64,16#69,16#74,16#65,16#64>>, + ?assertEqual(ok, gen_tcp:send(Sock, <<136,22,1000:16/big,Reason/binary>>)), + + {ok, Frames} = wsflush(Sock, true), + ?assert(is_valid_close_frame(Frames, [?WS_STATUS_INVALID_PAYLOAD])), + ?assertEqual(ok, close(Sock)), + ok. + +basic_close_valid_codes(Config) -> + lists:foreach( + fun(Code) -> + close_valid_code(Config, "/websockets_example_endpoint.yaws", Code) + end, + [1000,1001,1002,1003,1007,1008,1009,1010,1011,3000,3999,4000,4999] + ). + +advanced_close_valid_codes(Config) -> + lists:foreach( + fun(Code) -> + close_valid_code(Config, "/websockets_autobahn_endpoint.yaws", Code) + end, + [1000,1001,1002,1003,1007,1008,1009,1010,1011,3000,3999,4000,4999] + ). + +close_valid_code(Config, WSPath, Code) -> + Key = "dGhlIHNhbXBsZSBub25jZQ==", + + {ok, Sock} = open("localhost", testsuite:get_yaws_port(1, Config)), + ?assertMatch({ok, {101, _}}, wsopen(Sock, Key, WSPath, "http://localhost", 13)), + + ?assertEqual(ok, wsclose(Sock, Code, <<>>)), + {ok, Frames} = wsflush(Sock, true), + ?assert(is_valid_close_frame(Frames, [Code])), + ?assertEqual(ok, close(Sock)), + ok. + +basic_close_invalid_codes(Config) -> + lists:foreach( + fun(Code) -> + close_invalid_code(Config, "/websockets_example_endpoint.yaws", Code) + end, + [0,999,1004,1005,1006,1012,1013,1014,1015,1016,1100,2000,2999,5000,65536] + ). + +advanced_close_invalid_codes(Config) -> + lists:foreach( + fun(Code) -> + close_invalid_code(Config, "/websockets_autobahn_endpoint.yaws", Code) + end, + [0,999,1004,1005,1006,1012,1013,1014,1015,1016,1100,2000,2999,5000,65536] + ). + +close_invalid_code(Config, WSPath, Code) -> + Key = "dGhlIHNhbXBsZSBub25jZQ==", + + {ok, Sock} = open("localhost", testsuite:get_yaws_port(1, Config)), + ?assertMatch({ok, {101, _}}, wsopen(Sock, Key, WSPath, "http://localhost", 13)), + + ?assertEqual(ok, wsclose(Sock, Code, <<>>)), + {ok, Frames} = wsflush(Sock, true), + ?assert(is_valid_close_frame(Frames, [?WS_STATUS_PROTO_ERROR])), + ?assertEqual(ok, close(Sock)), + ok. + +close_timeout(Config) -> + Key = "dGhlIHNhbXBsZSBub25jZQ==", + WSPath = "/websockets_example_endpoint.yaws?extversion=true", + + {ok, Sock} = open("localhost", testsuite:get_yaws_port(1, Config)), + ?assertMatch({ok, {101, _}}, wsopen(Sock, Key, WSPath, "http://localhost", 13)), + + SndFrame = #frame{opcode=?WS_OPCODE_TEXT, payload = <<"bye">>}, + ?assertEqual(ok, send_frame(Sock, SndFrame, all)), + {ok, Frames} = wsflush(Sock, false), + LastFrame = lists:last(Frames), + ?assert(is_valid_close_frame([LastFrame], [?WS_STATUS_NORMAL])), + timer:sleep(5500), %% Waiting for the timeout + ?assertEqual({error, closed}, gen_tcp:recv(Sock, 0)), + ?assertEqual(ok, close(Sock)), + ok. + +keepalive_timeout(Config) -> + Key = "dGhlIHNhbXBsZSBub25jZQ==", + WSPath = "/websockets_example_endpoint.yaws?keepalive=true&timeout=5000&drop=true", + + {ok, Sock} = open("localhost", testsuite:get_yaws_port(1, Config)), + ?assertMatch({ok, {101, _}}, wsopen(Sock, Key, WSPath, "http://localhost", 13)), + + timer:sleep(5500), + {ok, RcvFrame1} = read_frame(Sock), + ?assertEqual(?WS_OPCODE_PING, RcvFrame1#frame.opcode), + ?assertEqual(ok, send_frame(Sock, #frame{opcode=?WS_OPCODE_PONG}, all)), + + timer:sleep(5500), + {ok, RcvFrame2} = read_frame(Sock), + ?assertEqual(?WS_OPCODE_PING, RcvFrame2#frame.opcode), + + timer:sleep(2000), + ?assertEqual({error, closed}, gen_tcp:recv(Sock, 0)), + ?assertEqual(ok, close(Sock)), + ok. + +too_big_frame(Config) -> + Key = "dGhlIHNhbXBsZSBub25jZQ==", + WSPath = "/websockets_example_endpoint.yaws", + + {ok, Sock} = open("localhost", testsuite:get_yaws_port(1, Config)), + ?assertMatch({ok, {101, _}}, wsopen(Sock, Key, WSPath, "http://localhost", 13)), + + Payload1 = crypto:strong_rand_bytes(16*1024*1024), + SndFrame1 = #frame{opcode=?WS_OPCODE_BINARY, payload=Payload1}, + ?assertEqual(ok, send_frame(Sock, SndFrame1, all)), + {ok, RcvFrame} = read_frame(Sock), + ?assertEqual(?WS_OPCODE_BINARY, RcvFrame#frame.opcode), + ?assertEqual(Payload1, RcvFrame#frame.payload), + + Payload2 = <<0, Payload1/binary>>, + SndFrame2 = #frame{opcode=?WS_OPCODE_BINARY, payload=Payload2}, + {ok, Closed} = case send_frame(Sock, SndFrame2, all) of + ok -> {ok, false}; + {error, closed} -> {ok, true} + end, + {ok, Frames} = wsflush(Sock, true), + ?assert(case Closed of + false -> is_valid_close_frame(Frames, [?WS_STATUS_MSG_TOO_BIG]); + true -> true + end), + ?assertEqual(ok, close(Sock)), + ok. + +close_unmasked_frame(Config) -> + Key = "dGhlIHNhbXBsZSBub25jZQ==", + WSPath = "/websockets_example_endpoint.yaws?close_unmasked=true", + + {ok, Sock} = open("localhost", testsuite:get_yaws_port(1, Config)), + ?assertMatch({ok, {101, _}}, wsopen(Sock, Key, WSPath, "http://localhost", 13)), + + %% unmasked + SndFrame = #frame{opcode=?WS_OPCODE_TEXT, payload = <<"unmasked">>}, + ?assertEqual(ok, send_frame(Sock, SndFrame, all)), + {ok, Frames} = wsflush(Sock, true), + ?assert(is_valid_close_frame(Frames, [?WS_STATUS_PROTO_ERROR])), + ?assertEqual(ok, close(Sock)), + ok. + +too_big_message(Config) -> + Key = "dGhlIHNhbXBsZSBub25jZQ==", + WSPath = "/websockets_example_endpoint.yaws", + + {ok, Sock} = open("localhost", testsuite:get_yaws_port(1, Config)), + ?assertMatch({ok, {101, _}}, wsopen(Sock, Key, WSPath, "http://localhost", 13)), + + Payload1 = crypto:strong_rand_bytes(16*1024*1024), + <> = Payload1, + SndFrame1 = #frame{fin=false, opcode=?WS_OPCODE_BINARY, payload=Frag1}, + SndFrame2 = #frame{fin=false, opcode=?WS_OPCODE_CONTINUATION, payload=Frag2}, + SndFrame3 = #frame{fin=false, opcode=?WS_OPCODE_CONTINUATION, payload=Frag3}, + SndFrame4 = #frame{opcode=?WS_OPCODE_CONTINUATION, payload=Frag4}, + ?assertEqual(ok, send_frame(Sock, SndFrame1, all)), + ?assertEqual(ok, send_frame(Sock, SndFrame2, all)), + ?assertEqual(ok, send_frame(Sock, SndFrame3, all)), + ?assertEqual(ok, send_frame(Sock, SndFrame4, all)), + {ok, RcvFrame} = read_frame(Sock), + ?assertEqual(?WS_OPCODE_BINARY, RcvFrame#frame.opcode), + ?assertEqual(Payload1, RcvFrame#frame.payload), + + Payload2 = <<0, Payload1/binary>>, + <> = Payload2, + SndFrame5 = #frame{fin=false, opcode=?WS_OPCODE_BINARY, payload=Frag5}, + SndFrame6 = #frame{fin=false, opcode=?WS_OPCODE_CONTINUATION, payload=Frag6}, + SndFrame7 = #frame{fin=false, opcode=?WS_OPCODE_CONTINUATION, payload=Frag7}, + SndFrame8 = #frame{opcode=?WS_OPCODE_CONTINUATION, payload=Frag8}, + ?assertEqual(ok, send_frame(Sock, SndFrame5, all)), + ?assertEqual(ok, send_frame(Sock, SndFrame6, all)), + ?assertEqual(ok, send_frame(Sock, SndFrame7, all)), + ?assertEqual(ok, send_frame(Sock, SndFrame8, all)), + {ok, Frames} = wsflush(Sock, true), + ?assert(is_valid_close_frame(Frames, [?WS_STATUS_MSG_TOO_BIG])), + ?assertEqual(ok, close(Sock)), + ok. + + +secure_websocket(Config) -> + Key = "dGhlIHNhbXBsZSBub25jZQ==", + WSPath = "/websockets_example_endpoint.yaws", + + {ok, Sock} = sslopen("localhost", testsuite:get_yaws_port(1, Config)), + ?assertMatch({ok, {101, _}}, wsopen(Sock, Key, WSPath, "http://localhost", 13)), + + SndFrame = #frame{opcode=?WS_OPCODE_TEXT, payload = <<"small payload">>}, + ?assertEqual(ok, send_frame(Sock, SndFrame, all)), + {ok, RcvFrame} = read_frame(Sock), + ?assertEqual(?WS_OPCODE_TEXT, RcvFrame#frame.opcode), + ?assertEqual(<<"small payload">>, RcvFrame#frame.payload), + + ?assertEqual(ok, wsclose(Sock, ?WS_STATUS_NORMAL, <<>>)), + {ok, Frames} = wsflush(Sock, true), + ?assert(is_valid_close_frame(Frames, [?WS_STATUS_NORMAL])), + ?assertEqual(ok, close(Sock)), + ok. + +%%==================================================================== +open(Host, Port) -> + Opts = [{send_timeout, 2000}, binary, {packet, raw}, {active, false}], + gen_tcp:connect(Host, Port, Opts). + +sslopen(Host, Port) -> + Opts = [{send_timeout, 2000}, binary, {packet, raw}, {active, false}], + case ssl:connect(Host, Port, Opts) of + {ok, Sock} -> {ok, {ssl, Sock}}; + {error, Reason} -> {error, Reason} + end. + +close(Sock) -> + case yaws_api:get_sslsocket(Sock) of + {ok, SslSock} -> ssl:close(SslSock); + undefined -> gen_tcp:close(Sock) + end. + + + +%% ---- +wsopen(Sock, Key, Path, Origin, Vsn) -> + Handshake = ["GET ", Path, " HTTP/1.1\r\n", + "Host: localhost\r\n", + "Upgrade: websocket\r\n", + "Connection: Upgrade\r\n", + "Sec-WebSocket-Key: ", Key, "\r\n", + "Origin: ", Origin, "\r\n", + "Sec-WebSocket-Version: ", integer_to_list(Vsn), "\r\n", + "\r\n"], + case yaws_api:get_sslsocket(Sock) of + {ok, SslSock} -> ssl:send(SslSock, Handshake); + undefined -> gen_tcp:send(Sock, Handshake) + end, + read_handshake_response(Sock). + +wsclose(Sock, Status, Msg) -> + Fin = 1, + Rsv = 0, + Mask = 0, + Opcode = ?WS_OPCODE_CLOSE, + Payload= <>, + Len = byte_size(Payload), + Frame = if + Len < 126 -> + <>; + Len < 65536 -> + <>; + true -> + <> + end, + case yaws_api:get_sslsocket(Sock) of + {ok, SslSock} -> ssl:send(SslSock, Frame); + undefined -> gen_tcp:send(Sock, Frame) + end. + + +%% ---- +wsflush(Sock, WithTcpClose) -> + wsflush(Sock, WithTcpClose, []). + +wsflush(Sock, WithTcpClose, Acc) -> + case read_frame(Sock) of + {ok, Frame} -> + case Frame#frame.opcode of + ?WS_OPCODE_CLOSE when WithTcpClose == false -> + {ok, lists:reverse([Frame|Acc])}; + _ -> + wsflush(Sock, WithTcpClose, [Frame|Acc]) + end; + {error, closed} -> + {ok, lists:reverse(Acc)}; + {error, Reason} -> + {error, Reason} + end. + + +%% ---- +is_valid_handshake_hash(Key, Hash) -> + Salted = Key ++ "258EAFA5-E914-47DA-95CA-C5AB0DC85B11", + HashBin = crypto:hash(sha, Salted), + Hash == base64:encode_to_string(HashBin). + + +%% ---- +is_valid_close_frame([], _) -> + io:format(" WARNING: Connection closed by server without Close frame~n"), + true; +is_valid_close_frame([#frame{opcode=?WS_OPCODE_CLOSE, payload=Payload}|Rest], + Codes) -> + case Rest of + [] -> + case Payload of + <<>> -> lists:member(?WS_STATUS_NORMAL, Codes); + <> -> + case lists:member(Status, Codes) of + true -> + true; + false -> + io:format(" ERROR: Bad status code in close" + " frame: status=~p~n", [Status]), + false + end + end; + _ -> + io:format(" ERROR: Remaining frames after the Close frame~n") + end; +is_valid_close_frame([#frame{opcode=OpCode}|_], _) -> + io:format(" ERROR: Not a close frame: opcode=~p~n", [OpCode]), + false. + + +%% ---- +fragment_payload(Payload, all) -> + [Payload]; +fragment_payload(<<>>, _) -> + []; +fragment_payload(Payload, FragSz) -> + case Payload of + <> -> + [Frag | fragment_payload(Rest, FragSz)]; + Rest -> + [Rest] + end. + + +%% ---- +read_handshake_response(Sock) -> + Res = case yaws_api:get_sslsocket(Sock) of + {ok, SslSock} -> + ssl:setopts(SslSock, [{packet, http}, {packet_size, 16#4000}]), + ssl:recv(SslSock, 0, 5000); + undefined -> + inet:setopts(Sock, [{packet, http}, {packet_size, 16#4000}]), + gen_tcp:recv(Sock, 0, 5000) + end, + case Res of + {ok, {http_response, _, Status, _}} -> + case yaws_api:get_sslsocket(Sock) of + {ok, SslSock1} -> + ssl:setopts(SslSock1,[{packet,httph},{packet_size,16#4000}]); + undefined -> + inet:setopts(Sock, [{packet,httph},{packet_size,16#4000}]) + end, + + Resp = read_handshake_response(Sock, Status, []), + case yaws_api:get_sslsocket(Sock) of + {ok, SslSock2} -> ssl:setopts(SslSock2,[binary, {packet, raw}]); + undefined -> inet:setopts(Sock, [binary, {packet, raw}]) + end, + Resp; + {ok, Error} -> + {error, Error}; + {error, Reason} -> + {error, Reason} + end. + +read_handshake_response(Sock, Status, Acc) -> + Res = case yaws_api:get_sslsocket(Sock) of + {ok, SslSock} -> ssl:recv(SslSock, 0, 5000); + undefined -> gen_tcp:recv(Sock, 0, 5000) + end, + case Res of + {ok, {http_header, _, Name, _, Value}} when is_atom(Name) -> + Name1 = string:to_lower(atom_to_list(Name)), + read_handshake_response(Sock, Status, [{Name1, Value}|Acc]); + {ok, {http_header, _, Name, _, Value}} -> + Name1 = string:to_lower(Name), + read_handshake_response(Sock, Status, [{Name1, Value}|Acc]); + {ok, http_eoh} -> + {ok, {Status, Acc}}; + {ok, Error} -> + {error, Error}; + {error, Reason} -> + {error, Reason} + end. + + +%% ---- +read_frame(Sock) -> + case read_frame_header(Sock) of + {ok, #frame{mask=undefined}=Frame} -> + {ok, Frame}; + {ok, Frame} -> + Payload = mask(Frame#frame.mask, Frame#frame.payload), + {ok, Frame#frame{payload=Payload}}; + {error, Reason} -> + {error, Reason} + end. + +read_frame_header(Sock) -> + case do_recv(Sock, 2) of + {ok, <>} -> + Frame = #frame{fin = bit_to_boolean(Fin), + rsv = Rsv, + opcode = Opcode, + masked = bit_to_boolean(MaskBit)}, + case read_frame_length(Sock, Len) of + {ok, Length} -> read_frame_payload(Sock, Frame, Length); + {error, Reason} -> {error, Reason} + end; + {error, Reason} -> + {error, Reason} + end. + + +read_frame_length(Sock, 126) -> + case do_recv(Sock, 2) of + {ok, <>} -> {ok, Length}; + {error, Reason} -> {error, Reason} + end; +read_frame_length(Sock, 127) -> + case do_recv(Sock, 8) of + {ok, <>} -> {ok, Length}; + {error, Reason} -> {error, Reason} + end; +read_frame_length(_Sock, Length) -> + {ok, Length}. + + +read_frame_mask(Sock) -> + case do_recv(Sock, 4) of + {ok, Mask} -> {ok, Mask}; + {error, Reason} -> {error, Reason} + end. + +read_frame_payload(Sock, #frame{masked=true, mask=undefined}=Frame, Length) -> + case read_frame_mask(Sock) of + {ok, Mask} -> + read_frame_payload(Sock, Frame#frame{mask=Mask}, Length); + {error, Reason} -> + {error, Reason} + end; +read_frame_payload(Sock, Frame, Length) -> + case do_recv(Sock, Length) of + {ok, Payload} -> {ok, Frame#frame{payload=Payload}}; + {error, Reason} -> {error, Reason} + end. + + +%% ---- +send_frame(Sock, Frame, BlockSz) -> + Fin = boolean_to_bit(Frame#frame.fin), + Rsv = Frame#frame.rsv, + Opcode = Frame#frame.opcode, + MaskBit = boolean_to_bit(Frame#frame.masked), + Mask = case Frame#frame.mask of + undefined -> <<>>; + M -> M + end, + Data = mask(Mask, Frame#frame.payload), + Len = byte_size(Data), + Packet = if + Len < 126 -> + <>; + Len < 65536 -> + <>; + true -> + <> + end, + case BlockSz of + all -> + case yaws_api:get_sslsocket(Sock) of + {ok, SslSock} -> ssl:send(SslSock, Packet); + undefined -> gen_tcp:send(Sock, Packet) + end; + _ -> + do_send(Sock, Packet, BlockSz) + end. + +do_send(_Sock, <<>>, _BlockSz) -> + ok; +do_send(Sock, Packet, BlockSz) -> + case Packet of + <> -> + case yaws_api:get_sslsocket(Sock) of + {ok, SslSock} -> ssl:send(SslSock, Block); + undefined -> gen_tcp:send(Sock, Block) + end, + do_send(Sock, Rest, BlockSz); + _ -> + case yaws_api:get_sslsocket(Sock) of + {ok, SslSock} -> ssl:send(SslSock, Packet); + undefined -> gen_tcp:send(Sock, Packet) + end + end. + + +%% ---- +mask(MaskBin, Data) -> + list_to_binary(rmask(MaskBin, Data)). + +rmask(_,<<>>) -> + [<<>>]; +rmask(<<>>, Data) -> + [Data]; +rmask(MaskBin = <>, + <>) -> + Masked = Mask bxor Data, + [<> | rmask(MaskBin, Rest)]; +rmask(<>, <>) -> + Masked = Mask bxor Data, + [<>]; +rmask(<>, <>) -> + Masked = Mask bxor Data, + [<>]; +rmask(<>, <>) -> + Masked = Mask bxor Data, + [<>]. + + +%% ---- +bit_to_boolean(1) -> true; +bit_to_boolean(0) -> false. + +boolean_to_bit(true) -> 1; +boolean_to_bit(false) -> 0. + + +%% ---- +do_recv(Sock, Sz) -> + do_recv(Sock, Sz, []). + +do_recv(_Sock, 0, Acc) -> + {ok, list_to_binary(lists:reverse(Acc))}; +do_recv(Sock, Sz, Acc) -> + Res = case yaws_api:get_sslsocket(Sock) of + {ok, SslSock} -> ssl:recv(SslSock, Sz, 1000); + undefined -> gen_tcp:recv(Sock, Sz, 1000) + end, + case Res of + {ok, Bin} -> do_recv(Sock, Sz - byte_size(Bin), [Bin|Acc]); + {error, Reason} -> {error, Reason} + end. diff -Nru yaws-2.0.6+dfsg/testsuite/yaws_api_SUITE.erl yaws-2.0.7+dfsg/testsuite/yaws_api_SUITE.erl --- yaws-2.0.6+dfsg/testsuite/yaws_api_SUITE.erl 1970-01-01 00:00:00.000000000 +0000 +++ yaws-2.0.7+dfsg/testsuite/yaws_api_SUITE.erl 2019-07-14 13:01:11.000000000 +0000 @@ -0,0 +1,236 @@ +-module(yaws_api_SUITE). + +-include("testsuite.hrl"). + +-compile(export_all). + +all() -> + [ + url_encode_decode, + url_decode_with_encoding, + parse_query, + request_url + ]. + +groups() -> + [ + ]. + +%%==================================================================== +init_per_suite(Config) -> + Config. + +end_per_suite(_Config) -> + ok. + +init_per_group(_Group, Config) -> + Config. + +end_per_group(_Group, _Config) -> + ok. + +init_per_testcase(_Test, Config) -> + Config. + +end_per_testcase(_Test, _Config) -> + ok. + +%%==================================================================== +url_encode_decode(_Config) -> + Tests = [ + {"file", "file"}, + {"\r\n", "%0D%0A"}, + {"one & two", "one%20%26%20two"}, + {list_to_binary("one & two"), "one%20%26%20two"}, + + %% Reserved characters + {"!*'();:@&=+$,/?%#[]", "%21%2A%27%28%29%3B%3A%40%26%3D%2B%24%2C%2F%3F%25%23%5B%5D"}, + + %% UTF-8 characters ("/d/你好") + {[47,100,47,20320,22909], "%2Fd%2F%E4%BD%A0%E5%A5%BD"}, + {unicode:characters_to_binary([47,100,47,20320,22909]), "%2Fd%2F%E4%BD%A0%E5%A5%BD"} + ], + [begin + From1 = case From of + _ when is_list(From) -> + case io_lib:latin1_char_list(From) of + true -> binary_to_list(unicode:characters_to_binary(From)); + false -> From + end; + _ -> From + end, + ?assertEqual(To, yaws_api:url_encode(From1)), + ?assertEqual(From1, case yaws_api:url_decode(To) of + Decoded when is_binary(From1) -> + unicode:characters_to_binary(Decoded); + Decoded -> Decoded + end) + end || {From, To} <- Tests], + ok. + +url_decode_with_encoding(_Config) -> + %% USTF-8 characters "디지털기기" + Input = [46356,51648,53560,44592,44592], + Result = yaws_api:url_decode_with_encoding(Input, utf8), + ?assertEqual(Input, Result). + +parse_query(_Config) -> + Arg1 = #arg{querydata = "", + req = #http_request{method = 'GET', + path = {abs_path, "/foo"}, + version = {1,1}}}, + ?assertEqual(yaws_api:parse_query(Arg1), []), + ParamName = "param", + ParamVal = "42", + Param = ParamName ++ "=" ++ ParamVal, + Arg2 = #arg{querydata = Param, + req = #http_request{method = 'GET', + path = {abs_path, + "/foo?" ++ Param}, + version = {1,1}}}, + ?assertEqual(yaws_api:parse_query(Arg2), [{ParamName,ParamVal}]), + ok. + +%% ---- +request_url(_Config) -> + ?assertEqual(request_url1(), ok), + ?assertEqual(request_url2(), ok), + ?assertEqual(request_url3(), ok), + ?assertEqual(request_url4(), ok), + ?assertEqual(request_url5(), ok), + ?assertEqual(request_url6(), ok), + ?assertEqual(request_url7(), ok), + ?assertEqual(request_url8(), ok), + ?assertEqual(request_url9(), ok), + ?assertEqual(request_url10(), ok), + ok. + +request_url1() -> + SC = #sconf{servername="example.com", ssl=undefined}, + Arg = #arg{req = #http_request{path={abs_patch, "/page.yaws?query-string=1"}}, + headers = #headers{}}, + put(sc, SC), + Req = yaws_api:request_url(Arg), + ?assertEqual(Req#url.scheme, "http"), + ?assertEqual(Req#url.host, "example.com"), + ?assertEqual(Req#url.port, undefined), + ?assertEqual(Req#url.path, "/page.yaws"), + ?assertEqual(Req#url.querypart, "query-string=1"), + ok. + +request_url2() -> + SC = #sconf{servername="example.com:8000", ssl=undefined}, + Arg = #arg{req = #http_request{path={abs_patch, "/page.yaws?query-string=1"}}, + headers = #headers{}}, + put(sc, SC), + Req = yaws_api:request_url(Arg), + ?assertEqual(Req#url.scheme, "http"), + ?assertEqual(Req#url.host, "example.com"), + ?assertEqual(Req#url.port, 8000), + ?assertEqual(Req#url.path, "/page.yaws"), + ?assertEqual(Req#url.querypart, "query-string=1"), + ok. + +request_url3() -> + SC = #sconf{servername="example.com", ssl=placeholder}, + Arg = #arg{req = #http_request{path={abs_patch, "/page.yaws?query-string=1"}}, + headers = #headers{}}, + put(sc, SC), + Req = yaws_api:request_url(Arg), + ?assertEqual(Req#url.scheme, "https"), + ?assertEqual(Req#url.host, "example.com"), + ?assertEqual(Req#url.port, undefined), + ?assertEqual(Req#url.path, "/page.yaws"), + ?assertEqual(Req#url.querypart, "query-string=1"), + ok. + +request_url4() -> + SC = #sconf{servername="example.com:4443", ssl=placeholder}, + Arg = #arg{req = #http_request{path={abs_patch, "/page.yaws?query-string=1"}}, + headers = #headers{}}, + put(sc, SC), + Req = yaws_api:request_url(Arg), + ?assertEqual(Req#url.scheme, "https"), + ?assertEqual(Req#url.host, "example.com"), + ?assertEqual(Req#url.port, 4443), + ?assertEqual(Req#url.path, "/page.yaws"), + ?assertEqual(Req#url.querypart, "query-string=1"), + ok. + +request_url5() -> + SC = #sconf{servername="example.com", ssl=undefined}, + Arg = #arg{req = #http_request{path={abs_patch, "/page.yaws?query-string=1"}}, + headers = #headers{host="www.example.com"}}, + put(sc, SC), + Req = yaws_api:request_url(Arg), + ?assertEqual(Req#url.scheme, "http"), + ?assertEqual(Req#url.host, "www.example.com"), + ?assertEqual(Req#url.port, undefined), + ?assertEqual(Req#url.path, "/page.yaws"), + ?assertEqual(Req#url.querypart, "query-string=1"), + ok. + +request_url6() -> + SC = #sconf{servername="example.com", ssl=undefined}, + Arg = #arg{req = #http_request{path={abs_patch, "/page.yaws?query-string=1"}}, + headers = #headers{host="www.example.com:8000"}}, + put(sc, SC), + Req = yaws_api:request_url(Arg), + ?assertEqual(Req#url.scheme, "http"), + ?assertEqual(Req#url.host, "www.example.com"), + ?assertEqual(Req#url.port, 8000), + ?assertEqual(Req#url.path, "/page.yaws"), + ?assertEqual(Req#url.querypart, "query-string=1"), + ok. + +request_url7() -> + SC = #sconf{servername="example.com", ssl=placeholder}, + Arg = #arg{req = #http_request{path={abs_patch, "/page.yaws?query-string=1"}}, + headers = #headers{host="www.example.com"}}, + put(sc, SC), + Req = yaws_api:request_url(Arg), + ?assertEqual(Req#url.scheme, "https"), + ?assertEqual(Req#url.host, "www.example.com"), + ?assertEqual(Req#url.port, undefined), + ?assertEqual(Req#url.path, "/page.yaws"), + ?assertEqual(Req#url.querypart, "query-string=1"), + ok. + +request_url8() -> + SC = #sconf{servername="example.com", ssl=placeholder}, + Arg = #arg{req = #http_request{path={abs_patch, "/page.yaws?query-string=1"}}, + headers = #headers{host="www.example.com:4443"}}, + put(sc, SC), + Req = yaws_api:request_url(Arg), + ?assertEqual(Req#url.scheme, "https"), + ?assertEqual(Req#url.host, "www.example.com"), + ?assertEqual(Req#url.port, 4443), + ?assertEqual(Req#url.path, "/page.yaws"), + ?assertEqual(Req#url.querypart, "query-string=1"), + ok. + +request_url9() -> + SC = #sconf{servername="example.com", ssl=undegined}, + Arg = #arg{req = #http_request{path={abs_patch, "/page.yaws?query-string=1"}}, + headers = #headers{host="127.0.0.1:8000"}}, + put(sc, SC), + Req = yaws_api:request_url(Arg), + ?assertEqual(Req#url.scheme, "https"), + ?assertEqual(Req#url.host, "127.0.0.1"), + ?assertEqual(Req#url.port, 8000), + ?assertEqual(Req#url.path, "/page.yaws"), + ?assertEqual(Req#url.querypart, "query-string=1"), + ok. + +request_url10() -> + SC = #sconf{servername="example.com", ssl=placeholder}, + Arg = #arg{req = #http_request{path={abs_patch, "/page.yaws?query-string=1"}}, + headers = #headers{host="[2001:610:240:22::c100:68b]:4443"}}, + put(sc, SC), + Req = yaws_api:request_url(Arg), + ?assertEqual(Req#url.scheme, "https"), + ?assertEqual(Req#url.host, "[2001:610:240:22::c100:68b]"), + ?assertEqual(Req#url.port, 4443), + ?assertEqual(Req#url.path, "/page.yaws"), + ?assertEqual(Req#url.querypart, "query-string=1"), + ok. diff -Nru yaws-2.0.6+dfsg/testsuite/yaws_compile_SUITE_data/bad_module1.yaws yaws-2.0.7+dfsg/testsuite/yaws_compile_SUITE_data/bad_module1.yaws --- yaws-2.0.6+dfsg/testsuite/yaws_compile_SUITE_data/bad_module1.yaws 1970-01-01 00:00:00.000000000 +0000 +++ yaws-2.0.7+dfsg/testsuite/yaws_compile_SUITE_data/bad_module1.yaws 2019-07-14 13:01:11.000000000 +0000 @@ -0,0 +1,5 @@ + +%% yaws module already exists ! +out(_A) -> + ok. + diff -Nru yaws-2.0.6+dfsg/testsuite/yaws_compile_SUITE_data/bad_module2.yaws yaws-2.0.7+dfsg/testsuite/yaws_compile_SUITE_data/bad_module2.yaws --- yaws-2.0.6+dfsg/testsuite/yaws_compile_SUITE_data/bad_module2.yaws 1970-01-01 00:00:00.000000000 +0000 +++ yaws-2.0.7+dfsg/testsuite/yaws_compile_SUITE_data/bad_module2.yaws 2019-07-14 13:01:11.000000000 +0000 @@ -0,0 +1,5 @@ + +%% Module defined by script hello.yaws (hello.yaws must be requested first) +out(_A) -> + ok. + diff -Nru yaws-2.0.6+dfsg/testsuite/yaws_compile_SUITE_data/bad_module3.yaws yaws-2.0.7+dfsg/testsuite/yaws_compile_SUITE_data/bad_module3.yaws --- yaws-2.0.6+dfsg/testsuite/yaws_compile_SUITE_data/bad_module3.yaws 1970-01-01 00:00:00.000000000 +0000 +++ yaws-2.0.7+dfsg/testsuite/yaws_compile_SUITE_data/bad_module3.yaws 2019-07-14 13:01:11.000000000 +0000 @@ -0,0 +1,5 @@ + +%% empty module name +out(_A) -> + ok. + diff -Nru yaws-2.0.6+dfsg/testsuite/yaws_compile_SUITE_data/comments.yaws yaws-2.0.7+dfsg/testsuite/yaws_compile_SUITE_data/comments.yaws --- yaws-2.0.6+dfsg/testsuite/yaws_compile_SUITE_data/comments.yaws 1970-01-01 00:00:00.000000000 +0000 +++ yaws-2.0.7+dfsg/testsuite/yaws_compile_SUITE_data/comments.yaws 2019-07-14 13:01:11.000000000 +0000 @@ -0,0 +1,8 @@ + +out(_A) -> + %% Simple comment 1 + % Simple comment 2 + %% Comment with special characters or string: ', ", <, >, , + % Comment with special characters or string: ', ", <, >, , + {html, "Hello World! % this is not a comment %"}. + diff -Nru yaws-2.0.6+dfsg/testsuite/yaws_compile_SUITE_data/compilation_error.yaws yaws-2.0.7+dfsg/testsuite/yaws_compile_SUITE_data/compilation_error.yaws --- yaws-2.0.6+dfsg/testsuite/yaws_compile_SUITE_data/compilation_error.yaws 1970-01-01 00:00:00.000000000 +0000 +++ yaws-2.0.7+dfsg/testsuite/yaws_compile_SUITE_data/compilation_error.yaws 2019-07-14 13:01:11.000000000 +0000 @@ -0,0 +1,4 @@ + +out(_A) -> + function_not_found(). + diff -Nru yaws-2.0.6+dfsg/testsuite/yaws_compile_SUITE_data/empty_erl.yaws yaws-2.0.7+dfsg/testsuite/yaws_compile_SUITE_data/empty_erl.yaws --- yaws-2.0.6+dfsg/testsuite/yaws_compile_SUITE_data/empty_erl.yaws 1970-01-01 00:00:00.000000000 +0000 +++ yaws-2.0.7+dfsg/testsuite/yaws_compile_SUITE_data/empty_erl.yaws 2019-07-14 13:01:11.000000000 +0000 @@ -0,0 +1 @@ +Empty erl: diff -Nru yaws-2.0.6+dfsg/testsuite/yaws_compile_SUITE_data/empty_verbatim.yaws yaws-2.0.7+dfsg/testsuite/yaws_compile_SUITE_data/empty_verbatim.yaws --- yaws-2.0.6+dfsg/testsuite/yaws_compile_SUITE_data/empty_verbatim.yaws 1970-01-01 00:00:00.000000000 +0000 +++ yaws-2.0.7+dfsg/testsuite/yaws_compile_SUITE_data/empty_verbatim.yaws 2019-07-14 13:01:11.000000000 +0000 @@ -0,0 +1 @@ +Empty verbatim: diff -Nru yaws-2.0.6+dfsg/testsuite/yaws_compile_SUITE_data/erl_tag.yaws yaws-2.0.7+dfsg/testsuite/yaws_compile_SUITE_data/erl_tag.yaws --- yaws-2.0.6+dfsg/testsuite/yaws_compile_SUITE_data/erl_tag.yaws 1970-01-01 00:00:00.000000000 +0000 +++ yaws-2.0.7+dfsg/testsuite/yaws_compile_SUITE_data/erl_tag.yaws 2019-07-14 13:01:11.000000000 +0000 @@ -0,0 +1,66 @@ + + +out(_A) -> + {html, "erl_tag#test1"}. + + + out(_A) -> {html, "erl_tag#test2"}. + +out(_A) -> + {html, "erl_tag#test3"}. + + +out(_A) -> + {html, "erl_tag#test4"}. + + + +-export([test/0]). + +test() -> + "erl_tag#test5". + +out(_A) -> + ok. + + +out(_A) -> + {html, erl_tag_test5:test()}. + + + +out(_A) -> + {html, "erl_tag#test6"}. + + + +-export([test/0]). + +test() -> + "erl_tag#test7". +out(_A) -> + ok. + + +out(_A) -> + {html, erl_tag_test7:test()}. + + + +out(_A) -> + {html, yaws_api:htmlize("\"erl_tag#test8\"")}. + + + +out(_A) -> + {html, yaws_api:htmlize(atom_to_list('\'erl_tag#test9\''))}. + + + +out(_A) -> + {html, "erl_tag#test10"}. diff -Nru yaws-2.0.6+dfsg/testsuite/yaws_compile_SUITE_data/hello.yaws yaws-2.0.7+dfsg/testsuite/yaws_compile_SUITE_data/hello.yaws --- yaws-2.0.6+dfsg/testsuite/yaws_compile_SUITE_data/hello.yaws 1970-01-01 00:00:00.000000000 +0000 +++ yaws-2.0.7+dfsg/testsuite/yaws_compile_SUITE_data/hello.yaws 2019-07-14 13:01:11.000000000 +0000 @@ -0,0 +1,4 @@ + +out(_A) -> + {html, "Hello World!"}. + diff -Nru yaws-2.0.6+dfsg/testsuite/yaws_compile_SUITE_data/no_out_fun1.yaws yaws-2.0.7+dfsg/testsuite/yaws_compile_SUITE_data/no_out_fun1.yaws --- yaws-2.0.6+dfsg/testsuite/yaws_compile_SUITE_data/no_out_fun1.yaws 1970-01-01 00:00:00.000000000 +0000 +++ yaws-2.0.7+dfsg/testsuite/yaws_compile_SUITE_data/no_out_fun1.yaws 2019-07-14 13:01:11.000000000 +0000 @@ -0,0 +1,5 @@ + +-export([test/0]). + +test() -> ok. + diff -Nru yaws-2.0.6+dfsg/testsuite/yaws_compile_SUITE_data/no_out_fun2.yaws yaws-2.0.7+dfsg/testsuite/yaws_compile_SUITE_data/no_out_fun2.yaws --- yaws-2.0.6+dfsg/testsuite/yaws_compile_SUITE_data/no_out_fun2.yaws 1970-01-01 00:00:00.000000000 +0000 +++ yaws-2.0.7+dfsg/testsuite/yaws_compile_SUITE_data/no_out_fun2.yaws 2019-07-14 13:01:11.000000000 +0000 @@ -0,0 +1,5 @@ + +-export([test/0]). + +test() -> ok. + diff -Nru yaws-2.0.6+dfsg/testsuite/yaws_compile_SUITE_data/templates/yaws.conf yaws-2.0.7+dfsg/testsuite/yaws_compile_SUITE_data/templates/yaws.conf --- yaws-2.0.6+dfsg/testsuite/yaws_compile_SUITE_data/templates/yaws.conf 1970-01-01 00:00:00.000000000 +0000 +++ yaws-2.0.7+dfsg/testsuite/yaws_compile_SUITE_data/templates/yaws.conf 2019-07-14 13:01:11.000000000 +0000 @@ -0,0 +1,19 @@ +logdir = $logdir$ + +ebin_dir = $data_builddir$ + +trace = false +copy_error_log = true +log_wrap_size = 1000000 +log_resolve_hostname = false +fail_on_bind_err = true +pick_first_virthost_on_nomatch = true +keepalive_timeout = 10000 + + + listen = 127.0.0.1 + port = $yaws_port1$ + deflate = true + auth_log = true + docroot = $wwwdir$ $data_srcdir$ + diff -Nru yaws-2.0.6+dfsg/testsuite/yaws_compile_SUITE_data/var_bindings.yaws yaws-2.0.7+dfsg/testsuite/yaws_compile_SUITE_data/var_bindings.yaws --- yaws-2.0.6+dfsg/testsuite/yaws_compile_SUITE_data/var_bindings.yaws 1970-01-01 00:00:00.000000000 +0000 +++ yaws-2.0.7+dfsg/testsuite/yaws_compile_SUITE_data/var_bindings.yaws 2019-07-14 13:01:11.000000000 +0000 @@ -0,0 +1,8 @@ + +out(_A) -> + {bindings, [{"bold", "b"}, {"text", "binding_value"}]}. + + +%%%%<%%bold%%>%%text%%%%%% + +%% %%not_a_binding %% diff -Nru yaws-2.0.6+dfsg/testsuite/yaws_compile_SUITE_data/verbatim_tag.yaws yaws-2.0.7+dfsg/testsuite/yaws_compile_SUITE_data/verbatim_tag.yaws --- yaws-2.0.6+dfsg/testsuite/yaws_compile_SUITE_data/verbatim_tag.yaws 1970-01-01 00:00:00.000000000 +0000 +++ yaws-2.0.7+dfsg/testsuite/yaws_compile_SUITE_data/verbatim_tag.yaws 2019-07-14 13:01:11.000000000 +0000 @@ -0,0 +1,24 @@ + + + + + + + + + + + + + + + + + + + + + diff -Nru yaws-2.0.6+dfsg/testsuite/yaws_compile_SUITE.erl yaws-2.0.7+dfsg/testsuite/yaws_compile_SUITE.erl --- yaws-2.0.6+dfsg/testsuite/yaws_compile_SUITE.erl 1970-01-01 00:00:00.000000000 +0000 +++ yaws-2.0.7+dfsg/testsuite/yaws_compile_SUITE.erl 2019-07-14 13:01:11.000000000 +0000 @@ -0,0 +1,267 @@ +-module(yaws_compile_SUITE). + +-include("testsuite.hrl"). + +-compile(export_all). + +all() -> + [ + {group, compile_tests}, + {group, request_tests} + ]. + +groups() -> + [ + {compile_tests, [], [compile_www_scripts, + compile_erl_tag, + compile_verbatim_tag, + compile_bindings, + compile_unknown, + compile_empty_erl, + compile_empty_verbatim, + compile_bad_yaws_dir, + compile_not_out_fun, + compile_compilation_error, + compile_bad_module_name, + compile_erl_comments]}, + {request_tests, [], [request_www_scripts, + request_erl_tag, + request_verbatim_tag, + request_bindings, + request_empty_erl, + request_empty_verbatim, + request_bad_yaws_dir, + request_not_out_fun, + request_compilation_error, + request_bad_module_name, + request_erl_comments]} + ]. + +%%==================================================================== +init_per_suite(Config) -> + Id = "testsuite-server", + YConf = filename:join(?tempdir(?MODULE), "yaws.conf"), + YawsHome = ?tempdir(?MODULE), + os:putenv("YAWSHOME", YawsHome), + application:load(yaws), + application:set_env(yaws, id, Id), + application:set_env(yaws, conf, YConf), + ok = yaws:start(), + [{yaws_id, Id}, {yaws_config, YConf}|Config]. + +end_per_suite(_Config) -> + ok = application:stop(yaws), + ok = application:unload(yaws), + ok. + +init_per_group(_Group, Config) -> + Config. + +end_per_group(_Group, _Config) -> + ok. + +init_per_testcase(compile_bad_yaws_dir, Config) -> + os:putenv("YAWSHOME", "/unknown"), + Config; +init_per_testcase(request_bad_yaws_dir, Config) -> + os:putenv("YAWSHOME", "/unknown"), + Config; +init_per_testcase(_Test, Config) -> + Config. + +end_per_testcase(compile_bad_yaws_dir, _Config) -> + YawsHome = ?tempdir(?MODULE), + os:putenv("YAWSHOME", YawsHome), + ok; +end_per_testcase(request_bad_yaws_dir, _Config) -> + YawsHome = ?tempdir(?MODULE), + os:putenv("YAWSHOME", YawsHome), + ok; +end_per_testcase(_Test, _Config) -> + ok. + +%%==================================================================== +compile_www_scripts(Config) -> + [begin + ?assertMatch({ok, 0, _}, compile_script(Config, S)) + end || S <- get_scripts()], + ok. + +compile_erl_tag(Config) -> + ?assertMatch({ok, 0, _}, compile_script(Config, "erl_tag.yaws")), + ok. + +compile_verbatim_tag(Config) -> + ?assertMatch({ok, 0, _}, compile_script(Config, "verbatim_tag.yaws")), + ok. + +compile_bindings(Config) -> + ?assertMatch({ok, 0, _}, compile_script(Config, "var_bindings.yaws")), + ok. + +compile_unknown(Config) -> + ?assertMatch({ok, 1, [{error, 0, _}]}, compile_script(Config, "no_script.yaws")), + ok. + +compile_empty_erl(Config) -> + ?assertMatch({ok, 0, [{data, _}]}, compile_script(Config, "empty_erl.yaws")), + ok. + +compile_empty_verbatim(Config) -> + ?assertMatch({ok, 0, [{data, _}]}, compile_script(Config, "empty_verbatim.yaws")), + ok. + +compile_bad_yaws_dir(Config) -> + ?assertMatch({ok, 1, [{error, _, _}|_]}, compile_script(Config, "hello.yaws")), + ok. + +compile_not_out_fun(Config) -> + ?assertMatch({ok, 1, [{error, _, _}|_]}, compile_script(Config, "no_out_fun1.yaws")), + ?assertMatch({ok, 1, [{error, _, _}|_]}, compile_script(Config, "no_out_fun2.yaws")), + ok. + +compile_compilation_error(Config) -> + ?assertMatch({ok, 1, [{error, _, _}|_]}, compile_script(Config, "compilation_error.yaws")), + ok. + +compile_bad_module_name(Config) -> + ?assertMatch({ok, 0, _}, compile_script(Config, "hello.yaws")), + ?assertMatch({ok, 1, [{error, _, _}|_]}, compile_script(Config, "bad_module1.yaws")), + ?assertMatch({ok, 1, [{error, _, _}|_]}, compile_script(Config, "bad_module2.yaws")), + ?assertMatch({ok, 1, [{error, _, _}|_]}, compile_script(Config, "bad_module3.yaws")), + ok. + +compile_erl_comments(Config) -> + ?assertMatch({ok, 0, _}, compile_script(Config, "comments.yaws")), + ok. + +request_www_scripts(Config) -> + [begin + Path = "/"++filename:basename(S), + ?assertMatch({ok, {{_,200,_}, _, _}}, request_script(Config, Path)) + end || S <- get_scripts()], + ok. + +request_erl_tag(Config) -> + Res = <<"erl_tag#test1\n\n", + "erl_tag#test2\n\n", + "erl_tag#test3\n\n", + "erl_tag#test4\n\n", + "\n", %% erl_tag_test5 module definition + "erl_tag#test5\n\n", + "erl_tag#test6\n\n", + "\n", %% erl_tag_test7 module definition + "erl_tag#test7\n\n", + "<erl>"erl_tag#test8"</erl>\n\n", + "<erl>'erl_tag#test9'</erl>\n\n", + "erl_tag#test10">>, + ?assertMatch({ok, {{_,200,_}, _, Res}}, request_script(Config, "/erl_tag.yaws")), + ok. + +request_verbatim_tag(Config) -> + Res = <<"\n", + "
        \n<verbatim_tag#test1>\n
        \n\n", + "
        <verbatim_tag#test2>
        \n\n", + "
        <verbatim_tag#test3>\n
        \n\n", + "
        \n<verbatim_tag#test4>\n
        \n\n", + "
        \n<verbatim_tag#test5>\n
        \n\n", + "
        \n<verbatim_tag#test6>\n
        \n">>, + ?assertMatch({ok, {{_,200,_}, _, Res}}, request_script(Config, "/verbatim_tag.yaws")), + ok. + +request_bindings(Config) -> + Res = <<"\n\n", + "%%%%binding_value%%%%\n\n", + "%% %%not_a_binding %%\n">>, + ?assertMatch({ok, {{_,200,_}, _, Res}}, request_script(Config, "/var_bindings.yaws")), + ok. + +request_empty_erl(Config) -> + Res = <<"Empty erl: \n">>, + ?assertMatch({ok, {{_,200,_}, _, Res}}, request_script(Config, "/empty_erl.yaws")), + ok. + +request_empty_verbatim(Config) -> + Res = <<"Empty verbatim: \n">>, + ?assertMatch({ok, {{_,200,_}, _, Res}}, request_script(Config, "/empty_verbatim.yaws")), + ok. + +request_bad_yaws_dir(Config) -> + {ok, {{_,200,_}, _, Error}} = request_script(Config, "/hello.yaws"), + ?assertEqual(match, re:run(Error, <<"Failed to create temp file">>, + [caseless, {capture, none}])), + ok. + +request_not_out_fun(Config) -> + {ok, {{_,200,_}, _, Error1}} = request_script(Config, "/no_out_fun1.yaws"), + {ok, {{_,200,_}, _, Error2}} = request_script(Config, "/no_out_fun2.yaws"), + + ?assertEqual(match, re:run(Error1, <<"Dynamic compile error">>, + [caseless, {capture, none}])), + ?assertEqual(match, re:run(Error1, <<"function out/1 undefined">>, + [caseless, {capture, none}])), + + ?assertEqual(match, re:run(Error2, <<"Dynamic compile error">>, + [caseless, {capture, none}])), + ?assertEqual(match, re:run(Error2, <<"function out/1 undefined">>, + [caseless, {capture, none}])), + ok. + +request_compilation_error(Config) -> + {ok, {{_,200,_}, _, Error}} = request_script(Config, "/compilation_error.yaws"), + ?assertEqual(match, re:run(Error, <<"Dynamic compile error">>, + [caseless, {capture, none}])), + ?assertEqual(match, re:run(Error, <<"function function_not_found/0 undefined">>, + [caseless, {capture, none}])), + ok. + +request_bad_module_name(Config) -> + ?assertMatch({ok, {{_,200,_}, _, _}}, request_script(Config, "/hello.yaws")), + {ok, {{_,200,_}, _, Error1}} = request_script(Config, "/bad_module1.yaws"), + {ok, {{_,200,_}, _, Error2}} = request_script(Config, "/bad_module2.yaws"), + {ok, {{_,200,_}, _, Error3}} = request_script(Config, "/bad_module3.yaws"), + ?assertEqual(match, re:run(Error1, <<"Cannot create generated module 'yaws'">>, + [caseless, {capture, none}])), + ?assertEqual(match, re:run(Error1, <<"try to override existing module">>, + [caseless, {capture, none}])), + + ?assertEqual(match, re:run(Error2, <<"Cannot create generated module 'hello'">>, + [caseless, {capture, none}])), + ?assertEqual(match, re:run(Error2, <<"try to override generated module owned by script">>, + [caseless, {capture, none}])), + + ?assertEqual(match, re:run(Error3, <<"Cannot create generated module ''">>, + [caseless, {capture, none}])), + ?assertEqual(match, re:run(Error3, <<"empty module name">>, + [caseless, {capture, none}])), + ok. + +request_erl_comments(Config) -> + Res = <<"Hello World! % this is not a comment %\n">>, + ?assertMatch({ok, {{_,200,_}, _, Res}}, request_script(Config, "/comments.yaws")), + ok. + + +%%==================================================================== +compile_script(_Config, File) -> + {ok, GC, _} = yaws_server:getconf(), + put(gc, GC), + Script = filename:join([?data_srcdir(?MODULE), File]), + yaws_compile:compile_file(Script). + +request_script(Config, Path) -> + Port = testsuite:get_yaws_port(1, Config), + {ok, GC, _} = yaws_server:getconf(), + put(gc, GC), + Url = testsuite:make_url(http, "127.0.0.1", Port, Path), + testsuite:http_get(Url). + +get_scripts() -> + TabFile = filename:join([?wwwdir, "TAB.inc"]), + {ok, Content} = file:read_file(TabFile), + {match, Scripts} = re:run(Content, "href=\"([^\"]+\\.yaws)\"", + [global, {capture, all_but_first, list}]), + [case S of + [$/|_] -> ?wwwdir ++ S; + _ -> filename:join([?wwwdir, S]) + end || [S] <- Scripts]. diff -Nru yaws-2.0.6+dfsg/testsuite/yaws_ls_SUITE.erl yaws-2.0.7+dfsg/testsuite/yaws_ls_SUITE.erl --- yaws-2.0.6+dfsg/testsuite/yaws_ls_SUITE.erl 1970-01-01 00:00:00.000000000 +0000 +++ yaws-2.0.7+dfsg/testsuite/yaws_ls_SUITE.erl 2019-07-14 13:01:11.000000000 +0000 @@ -0,0 +1,59 @@ +-module(yaws_ls_SUITE). + +-include("testsuite.hrl"). + +-compile(export_all). + +all() -> + [ + trim, + parse_query + ]. + +groups() -> + [ + ]. + +%%==================================================================== +init_per_suite(Config) -> + Config. + +end_per_suite(_Config) -> + ok. + +init_per_group(_Group, Config) -> + Config. + +end_per_group(_Group, _Config) -> + ok. + +init_per_testcase(_Test, Config) -> + Config. + +end_per_testcase(_Test, _Config) -> + ok. + +%%==================================================================== +trim_helper(Expected, Input, Len) -> + Enc = binary_to_list(unicode:characters_to_binary(Input)), + ExpectedEnc = binary_to_list(unicode:characters_to_binary(Expected)), + ExpectedEnc =:= yaws_ls:trim(Enc, Len). + +trim(_Config) -> + %% [19990,30028,26479] =:= "世界杯" + %% [19990,30028,26479,36275,29699,36187] =:= "世界杯足球赛" + %% Written in this way to support OTP < R16B. + ?assert(trim_helper([19990,30028,26479|"..>"], + [19990,30028,26479,36275,29699,36187], + 11)), + ?assert(trim_helper("xxxxxxxx..>", "xxxxxxxxxxxx", 11)), + ok. + +parse_query(_Config) -> + ?assertEqual({"/", 1, normal, "/?z=x"}, yaws_ls:parse_query("/?z=x")), + ?assertEqual({"/", 2, reverse, "/?m=r"}, yaws_ls:parse_query("/?m=r")), + ?assertEqual({"/", 2, reverse, "/?M=r"}, yaws_ls:parse_query("/?M=r")), + ?assertEqual({"/", 3, normal, "/?s=n"}, yaws_ls:parse_query("/?s=n")), + ?assertEqual({"/", 3, normal, "/?S=n"}, yaws_ls:parse_query("/?S=n")), + ?assertEqual({"/", 4, reverse, "/?d=r"}, yaws_ls:parse_query("/?d=r")), + ?assertEqual({"/", 4, reverse, "/?D=r"}, yaws_ls:parse_query("/?D=r")). diff -Nru yaws-2.0.6+dfsg/testsuite/yaws_rpc_SUITE.erl yaws-2.0.7+dfsg/testsuite/yaws_rpc_SUITE.erl --- yaws-2.0.6+dfsg/testsuite/yaws_rpc_SUITE.erl 1970-01-01 00:00:00.000000000 +0000 +++ yaws-2.0.7+dfsg/testsuite/yaws_rpc_SUITE.erl 2019-07-14 13:01:11.000000000 +0000 @@ -0,0 +1,55 @@ +-module(yaws_rpc_SUITE). + +-include("testsuite.hrl"). + +-compile(export_all). + +all() -> + [ + unicode + ]. + +groups() -> + [ + ]. + +%%==================================================================== +init_per_suite(Config) -> + Config. + +end_per_suite(_Config) -> + ok. + +init_per_group(_Group, Config) -> + Config. + +end_per_group(_Group, _Config) -> + ok. + +init_per_testcase(_Test, Config) -> + Config. + +end_per_testcase(_Test, _Config) -> + ok. + +%%==================================================================== +-define(PARAMS, ["åäö","abc"]). +-define(RESULT, "{\"result\":[\"åäö\",\"abc\"],\"id\":\"id\",\"jsonrpc\":\"2.0\"}"). + +unicode(_Config) -> + Payload = json2:encode({struct,[{method,"foo"},{id,"id"}, + {params,?PARAMS}]}), + Req = #http_request{method='POST', version={1,1}}, + Hdrs = #headers{}, + Arg = #arg{clidata=Payload,req=Req,headers=Hdrs}, + Res = yaws_rpc:handler(Arg, {?MODULE, handler}), + ?assertEqual(200, proplists:get_value(status, Res)), + {content, Type, Content} = lists:keyfind(content, 1, Res), + ?assertEqual("application/json", Type), + ?assertEqual(?RESULT, lists:flatten(Content)), + ok. + +handler(_, {call,foo,{array,?PARAMS}}) -> + {false, {response, [{array, ?PARAMS}]}}. + + diff -Nru yaws-2.0.6+dfsg/testsuite/yaws_sessions_server_SUITE_data/templates/yaws.conf yaws-2.0.7+dfsg/testsuite/yaws_sessions_server_SUITE_data/templates/yaws.conf --- yaws-2.0.6+dfsg/testsuite/yaws_sessions_server_SUITE_data/templates/yaws.conf 1970-01-01 00:00:00.000000000 +0000 +++ yaws-2.0.7+dfsg/testsuite/yaws_sessions_server_SUITE_data/templates/yaws.conf 2019-07-14 13:01:11.000000000 +0000 @@ -0,0 +1,19 @@ +logdir = $logdir$ + +ebin_dir = $data_builddir$ + +trace = false +copy_error_log = true +log_wrap_size = 1000000 +log_resolve_hostname = false +fail_on_bind_err = true +pick_first_virthost_on_nomatch = true +keepalive_timeout = 10000 + + + listen = 127.0.0.1 + port = $yaws_port1$ + deflate = true + auth_log = true + docroot = $wwwdir$ $data_srcdir$ + diff -Nru yaws-2.0.6+dfsg/testsuite/yaws_sessions_server_SUITE.erl yaws-2.0.7+dfsg/testsuite/yaws_sessions_server_SUITE.erl --- yaws-2.0.6+dfsg/testsuite/yaws_sessions_server_SUITE.erl 1970-01-01 00:00:00.000000000 +0000 +++ yaws-2.0.7+dfsg/testsuite/yaws_sessions_server_SUITE.erl 2019-07-14 13:01:11.000000000 +0000 @@ -0,0 +1,291 @@ +-module(yaws_sessions_server_SUITE). + +-include("testsuite.hrl"). + +-compile(export_all). + +all() -> + [ + {group, basic_tests}, + {group, cookiegen_tests} + ]. + +groups() -> + [ + {basic_tests, [], [init, + new_session_and_list, + replace_session, + replace_session_cleanup, + cookieval_to_opaque, + delete_session, + timeout]}, + {cookiegen_tests, [], [new_cookiegen_session]} + ]. + +%%==================================================================== +init_per_suite(Config) -> + application:load(yaws), + Config. + +end_per_suite(_Config) -> + application:unload(yaws), + ok. + +init_per_group(cookiegen_tests, Config) -> + Id = "testsuite-server", + YConf = filename:join(?tempdir(?MODULE), "yaws.conf"), + YawsHome = ?tempdir(?MODULE), + os:putenv("YAWSHOME", YawsHome), + application:load(yaws), + application:set_env(yaws, id, Id), + application:set_env(yaws, conf, YConf), + ok = yaws:start(), + {ok, GConf, SCs} = yaws_api:getconf(), + yaws_api:setconf(yaws:gconf_ysession_cookiegen(GConf, ?MODULE), SCs), + Config; +init_per_group(_Group, Config) -> + Config. + +end_per_group(cookiegen_tests, _Config) -> + ok = application:stop(yaws); +end_per_group(_Group, _Config) -> + ok. + +init_per_testcase(_Test, Config) -> + Config. + +end_per_testcase(_Test, _Config) -> + ok. + +%%==================================================================== +%% Change this macro to test another backend storage module +%%-define(BACKEND, ?MODULE). +-define(BACKEND, yaws_session_server). + +start() -> + %% starting crypto is required for these tests to pass on R13 + {ok, Pid} = gen_server:start({local, yaws_session_server}, + yaws_session_server, ?BACKEND, []), + ?BACKEND:cleanup(), + {ok, Pid}. + +init(_Config) -> + {ok, _} = start(), + ?assertEqual([], ?BACKEND:list()), + yaws_session_server:stop(), + ok. + +new_session_and_list(_Config) -> + {ok, _} = start(), + ?assertMatch([], ?BACKEND:list()), + Cookie1 = yaws_session_server:new_session({opaque, 1}), + Cookie2 = yaws_session_server:new_session({opaque, 2}, 1, self()), + Cookie3 = yaws_session_server:new_session({opaque, 3}, 1, self(), "cookie"), + ?assert(Cookie1 /= Cookie2), + CPrefix = atom_to_list(node()) ++ "-", + ?assert(lists:prefix(CPrefix, Cookie1)), + ?assert(lists:prefix(CPrefix, Cookie2)), + ?assertEqual("cookie", Cookie3), + ?assertMatch([_, _, _], ?BACKEND:list()), + yaws_session_server:stop(), + ok. + +replace_session(_Config) -> + {ok, _} = start(), + Opaque = {opaque, 1}, + Cookie1 = yaws_session_server:new_session(Opaque), + [Session] = ?BACKEND:list(), + Opaque2 = {opaque, 2}, + ?assert(yaws_session_server:replace_session(Cookie1, Opaque2)), + [Session_updated] = ?BACKEND:list(), + ?assert(Session /= Session_updated), + yaws_session_server:stop(), + ok. + +replace_session_cleanup(_Config) -> + {ok, _} = start(), + Parent = self(), + Cleanup1 = spawn(fun() -> + receive + stop -> ok; + Msg -> Parent ! {cleanup1, Msg} + end + end), + Opaque = {opaque, 1}, + Cookie = yaws_session_server:new_session(Opaque, 60, Cleanup1), + Cleanup2 = spawn(fun() -> + receive + stop -> ok; + Msg -> Parent ! {cleanup2, Msg} + end + end), + Opaque2 = {opaque, 2}, + ?assert(yaws_session_server:replace_session(Cookie, Opaque2, Cleanup2)), + ?assert(is_process_alive(Cleanup1)), + ?assert(is_process_alive(Cleanup2)), + yaws_session_server:delete_session(Cookie), + Res = receive + {cleanup2, {yaws_session_end, normal, _, Opaque2}} -> + ?assertNot(is_process_alive(Cleanup2)), + ok + after + 5000 -> + {error, cleanup_failure} + end, + ?assertEqual(ok, Res), + ?assert(is_process_alive(Cleanup1)), + Cleanup1 ! stop, + yaws_session_server:stop(), + ok. + +cookieval_to_opaque(_Config) -> + {ok, _} = start(), + Opaque = {opaque, 1}, + Cookie1 = yaws_session_server:new_session(Opaque), + [Session] = ?BACKEND:list(), + timer:sleep(1000), %% ensure cookie TS is updated of at least 1 second + {ok, Result} = yaws_session_server:cookieval_to_opaque(Cookie1), + ?assertEqual(Opaque, Result), + [Session_updated] = ?BACKEND:list(), + ?assert(Session /= Session_updated), + yaws_session_server:stop(), + ok. + +delete_session(_Config) -> + {ok, _} = start(), + Opaque = {opaque, 1}, + Cookie1 = yaws_session_server:new_session(Opaque), + Cookie2 = yaws_session_server:new_session(Opaque, 10, self()), + ?assertMatch([_, _], ?BACKEND:list()), + Expected1 = nocleanup, + ?assertEqual(Expected1, yaws_session_server:delete_session(Cookie1)), + Delete_notif = {yaws_session_end, normal, Cookie2, Opaque}, + ?assertEqual(Delete_notif, yaws_session_server:delete_session(Cookie2)), + ?assertEqual([], ?BACKEND:list()), + Res = receive + Delete_notif -> ok + after + 500 -> cleanup_timeout + end, + ?assertEqual(ok, Res), + yaws_session_server:stop(), + ok. + +timeout(_Config) -> + {ok, Pid} = start(), + Opaque = {opaque, 1}, + Cookie1 = yaws_session_server:new_session(Opaque, 0, self()), + Opaque2 = {opaque, 1}, + _Cookie2 = yaws_session_server:new_session(Opaque2, 10, self()), + ?assertMatch([_, _], ?BACKEND:list()), + Pid ! timeout, + Timeout_notif = {yaws_session_end,timeout, Cookie1, Opaque}, + Res = + receive + Timeout_notif -> ok + after + 500 -> cleanup_timeout + end, + ?assertEqual(ok, Res), + ?assertMatch([_], ?BACKEND:list()), + yaws_session_server:stop(), + ok. + +%% Our test callbacks +init_backend(_) -> + proc_lib:start (?MODULE, mock_session_server, []), + ok. + +insert(Session) -> + ?MODULE ! {insert, Session}, + true. + +lookup(Cookie) -> + ?MODULE ! {{lookup, Cookie}, self()}, + receive {ok, Opaque} -> [Opaque] + after 1000 -> list_timeout + end. + +list() -> + ?MODULE ! {list, self()}, + receive {ok, Sessions} -> Sessions + after 1000 -> list_timeout + end. + +delete(Cookie) -> + ?MODULE ! {delete, Cookie}, + true. + +cleanup() -> + Cleaner = + fun(Session) -> + Cookie = yaws_session_server:cookie(Session), + delete(Cookie) + end, + lists:foreach(Cleaner, list()). + +traverse(Gnow) -> + Timeouter = + fun (Session) -> + case yaws_session_server:has_timedout(Session, Gnow) of + false -> + ok; + true -> + yaws_session_server:report_timedout_sess(Session), + Cookie = yaws_session_server:cookie(Session), + delete(Cookie) + end + end, + lists:foreach(Timeouter, list()). + +stop_backend() -> + ?MODULE ! stop, + ok. + +%% Mock Internals +mock_session_server() -> + register(?MODULE, self()), + proc_lib:init_ack({ok, self()}), + mock_loop(). + +mock_loop() -> + receive + {list, Pid} -> + Pid ! {ok, sessions()}, + mock_loop(); + {insert, Session} -> + Cookie = element(2, Session), + put({session, Cookie}, Session), + mock_loop(); + {{lookup, Cookie}, Pid} -> + Session = get({session, Cookie}), + Pid ! {ok, Session}, + mock_loop(); + {delete, Cookie} -> + erase({session, Cookie}), + mock_loop(); + stop -> + ok; + Other -> + ?debugFmt("Unexpected: ~p~n", [Other]) + end. + +sessions() -> + lists:foldl(fun({{session, _}, Session}, Acc) -> [Session | Acc]; + (_, Acc) -> Acc + end, [], get()). + +%%==================================================================== + +-define(SPECIAL_COOKIE, "my special cookie"). +new_cookie() -> + ?SPECIAL_COOKIE. + +new_cookiegen_session(_Config) -> + Cookie1 = yaws_session_server:new_session({opaque, 1}), + Cookie2 = yaws_session_server:new_session({opaque, 2}, 1, self()), + Cookie3 = yaws_session_server:new_session({opaque, 3}, 1, self(), "cookie"), + ?assertEqual(?SPECIAL_COOKIE, Cookie1), + ?assertEqual(Cookie1, Cookie2), + ?assertEqual("cookie", Cookie3), + ok. diff -Nru yaws-2.0.6+dfsg/.travis.yml yaws-2.0.7+dfsg/.travis.yml --- yaws-2.0.6+dfsg/.travis.yml 1970-01-01 00:00:00.000000000 +0000 +++ yaws-2.0.7+dfsg/.travis.yml 2019-07-14 13:01:11.000000000 +0000 @@ -0,0 +1,55 @@ +sudo: false + +language: erlang +otp_release: + - 22.0 + - 21.3 + - 21.2 + - 21.1 + - 21.0 + - 20.2 + - 20.1 + - 20.0 + - 19.3 + - 19.2 + - 19.1 + - 19.0 + - 18.3 + - 18.2.1 + - 18.2 + - 18.1 + - 18.0 + - 17.5 + - 17.4 + - 17.3 + - 17.1 + - 17.0 + +env: + global: + - secure: "Jk1W4GtZ8rIg0fBsPepNMwipt1m6wkgYGJbuDiGUAXp8o0HD92aBCO95z4YvcYM9TxnAgpgxtUrlDXrZe5WhyAapJTW7HVm3JcsMpAfJAnGDrDeDrkI+A5V/I+ynFZ1F6F/2dKNQWJV3ieuwRojjH/dc3AVqYMWND0oAD/YWwkg=" + +addons: + apt: + packages: + - autotools-dev + - libpam0g-dev + - texlive-latex-base + - texlive-latex-recommended + - texlive-fonts-recommended + - texlive-font-utils + - texlive-extra-utils + - ghostscript + - cadaver + +install: + - autoreconf -vfi + +before_script: + - ./configure + +script: + - make check -j4 V=1 + +after_script: + - ./scripts/upload-travis-build-artifacts diff -Nru yaws-2.0.6+dfsg/vsn.mk yaws-2.0.7+dfsg/vsn.mk --- yaws-2.0.6+dfsg/vsn.mk 2018-06-26 09:15:17.000000000 +0000 +++ yaws-2.0.7+dfsg/vsn.mk 2019-07-14 13:01:11.000000000 +0000 @@ -1 +1 @@ -YAWS_VSN=2.0.6 +YAWS_VSN=2.0.7 diff -Nru yaws-2.0.6+dfsg/win32/Makefile.in yaws-2.0.7+dfsg/win32/Makefile.in --- yaws-2.0.6+dfsg/win32/Makefile.in 2018-06-26 09:17:09.000000000 +0000 +++ yaws-2.0.7+dfsg/win32/Makefile.in 1970-01-01 00:00:00.000000000 +0000 @@ -1,762 +0,0 @@ -# Makefile.in generated by automake 1.15.1 from Makefile.am. -# @configure_input@ - -# Copyright (C) 1994-2017 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@ - -# sudo apt-get install mingw32 - -VPATH = @srcdir@ -am__is_gnu_make = { \ - if test -z '$(MAKELEVEL)'; then \ - false; \ - elif test -n '$(MAKE_HOST)'; then \ - true; \ - elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ - true; \ - else \ - false; \ - fi; \ -} -am__make_running_with_option = \ - case $${target_option-} in \ - ?) ;; \ - *) echo "am__make_running_with_option: internal error: invalid" \ - "target option '$${target_option-}' specified" >&2; \ - exit 1;; \ - esac; \ - has_opt=no; \ - sane_makeflags=$$MAKEFLAGS; \ - if $(am__is_gnu_make); then \ - sane_makeflags=$$MFLAGS; \ - else \ - case $$MAKEFLAGS in \ - *\\[\ \ ]*) \ - bs=\\; \ - sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ - | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ - esac; \ - fi; \ - skip_next=no; \ - strip_trailopt () \ - { \ - flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ - }; \ - for flg in $$sane_makeflags; do \ - test $$skip_next = yes && { skip_next=no; continue; }; \ - case $$flg in \ - *=*|--*) continue;; \ - -*I) strip_trailopt 'I'; skip_next=yes;; \ - -*I?*) strip_trailopt 'I';; \ - -*O) strip_trailopt 'O'; skip_next=yes;; \ - -*O?*) strip_trailopt 'O';; \ - -*l) strip_trailopt 'l'; skip_next=yes;; \ - -*l?*) strip_trailopt 'l';; \ - -[dEDm]) skip_next=yes;; \ - -[JT]) skip_next=yes;; \ - esac; \ - case $$flg in \ - *$$target_option*) has_opt=yes; break;; \ - esac; \ - done; \ - test $$has_opt = yes -am__make_dryrun = (target_option=n; $(am__make_running_with_option)) -am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) -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@ -bin_PROGRAMS = yaws$(EXEEXT) -subdir = win32 -ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/m4/ax_compare_version.m4 \ - $(top_srcdir)/m4/colored-echo.m4 $(top_srcdir)/m4/erlang.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)/configure.ac -am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ - $(ACLOCAL_M4) -DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON) -mkinstalldirs = $(install_sh) -d -CONFIG_CLEAN_FILES = build.xml -CONFIG_CLEAN_VPATH_FILES = -am__installdirs = "$(DESTDIR)$(bindir)" -PROGRAMS = $(bin_PROGRAMS) -am_yaws_OBJECTS = yaws-yaws.$(OBJEXT) -yaws_OBJECTS = $(am_yaws_OBJECTS) -yaws_DEPENDENCIES = -AM_V_lt = $(am__v_lt_@AM_V@) -am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@) -am__v_lt_0 = --silent -am__v_lt_1 = -yaws_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ - $(LIBTOOLFLAGS) --mode=link $(CCLD) $(yaws_CFLAGS) $(CFLAGS) \ - $(yaws_LDFLAGS) $(LDFLAGS) -o $@ -AM_V_P = $(am__v_P_@AM_V@) -am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) -am__v_P_0 = false -am__v_P_1 = : -AM_V_GEN = $(am__v_GEN_@AM_V@) -am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) -am__v_GEN_0 = @echo " GEN " $@; -am__v_GEN_1 = -AM_V_at = $(am__v_at_@AM_V@) -am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) -am__v_at_0 = @ -am__v_at_1 = -DEFAULT_INCLUDES = -I.@am__isrc@ -depcomp = $(SHELL) $(top_srcdir)/ac-aux/depcomp -am__depfiles_maybe = depfiles -am__mv = mv -f -COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ - $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ - $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \ - $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ - $(AM_CFLAGS) $(CFLAGS) -AM_V_CC = $(am__v_CC_@AM_V@) -am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@) -am__v_CC_0 = @echo " CC " $@; -am__v_CC_1 = -CCLD = $(CC) -LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ - $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ - $(AM_LDFLAGS) $(LDFLAGS) -o $@ -AM_V_CCLD = $(am__v_CCLD_@AM_V@) -am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@) -am__v_CCLD_0 = @echo " CCLD " $@; -am__v_CCLD_1 = -SOURCES = $(yaws_SOURCES) -DIST_SOURCES = $(yaws_SOURCES) -am__can_run_installinfo = \ - case $$AM_UPDATE_INFO_DIR in \ - n|no|NO) false;; \ - *) (install-info --version) >/dev/null 2>&1;; \ - esac -am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) -# Read a list of newline-separated strings from the standard input, -# and print each of them once, without duplicates. Input order is -# *not* preserved. -am__uniquify_input = $(AWK) '\ - BEGIN { nonempty = 0; } \ - { items[$$0] = 1; nonempty = 1; } \ - END { if (nonempty) { for (i in items) print i; }; } \ -' -# Make sure the list of sources is unique. This is necessary because, -# e.g., the same source file might be shared among _SOURCES variables -# for different programs/libraries. -am__define_uniq_tagged_files = \ - list='$(am__tagged_files)'; \ - unique=`for i in $$list; do \ - if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ - done | $(am__uniquify_input)` -ETAGS = etags -CTAGS = ctags -am__DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/build.xml.in \ - $(top_srcdir)/ac-aux/depcomp -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) -ACLOCAL = @ACLOCAL@ -AMTAR = @AMTAR@ -AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ -APPDEPS = @APPDEPS@ -AR = @AR@ -AUTOCONF = @AUTOCONF@ -AUTOHEADER = @AUTOHEADER@ -AUTOMAKE = @AUTOMAKE@ -AWK = @AWK@ -CADAVER = @CADAVER@ -CC = @CC@ -CCDEPMODE = @CCDEPMODE@ -CFLAGS = @CFLAGS@ -CONFIG_STATUS_DEPENDENCIES = @CONFIG_STATUS_DEPENDENCIES@ -CPP = @CPP@ -CPPFLAGS = @CPPFLAGS@ -CT_RUN = @CT_RUN@ -CURL = @CURL@ -CYGPATH_W = @CYGPATH_W@ -DEFAULT_CHARSET = @DEFAULT_CHARSET@ -DEFS = @DEFS@ -DEPDIR = @DEPDIR@ -DIALYZER = @DIALYZER@ -DLLTOOL = @DLLTOOL@ -DSYMUTIL = @DSYMUTIL@ -DUMPBIN = @DUMPBIN@ -DVILATEX = @DVILATEX@ -DVIPS = @DVIPS@ -ECHO_C = @ECHO_C@ -ECHO_N = @ECHO_N@ -ECHO_T = @ECHO_T@ -EGREP = @EGREP@ -EPAM_CFLAGS = @EPAM_CFLAGS@ -EPSTOPDF = @EPSTOPDF@ -ERL = @ERL@ -ERLANG_ERTS_DIR = @ERLANG_ERTS_DIR@ -ERLANG_ERTS_VER = @ERLANG_ERTS_VER@ -ERLANG_INSTALL_LIB_DIR = @ERLANG_INSTALL_LIB_DIR@ -ERLANG_INSTALL_LIB_DIR_yapp = @ERLANG_INSTALL_LIB_DIR_yapp@ -ERLANG_INSTALL_LIB_DIR_yaws = @ERLANG_INSTALL_LIB_DIR_yaws@ -ERLANG_LIB_DIR = @ERLANG_LIB_DIR@ -ERLANG_LIB_DIR_common_test = @ERLANG_LIB_DIR_common_test@ -ERLANG_LIB_DIR_compiler = @ERLANG_LIB_DIR_compiler@ -ERLANG_LIB_DIR_crypto = @ERLANG_LIB_DIR_crypto@ -ERLANG_LIB_DIR_erlsom = @ERLANG_LIB_DIR_erlsom@ -ERLANG_LIB_DIR_erts = @ERLANG_LIB_DIR_erts@ -ERLANG_LIB_DIR_eunit = @ERLANG_LIB_DIR_eunit@ -ERLANG_LIB_DIR_inets = @ERLANG_LIB_DIR_inets@ -ERLANG_LIB_DIR_kernel = @ERLANG_LIB_DIR_kernel@ -ERLANG_LIB_DIR_mnesia = @ERLANG_LIB_DIR_mnesia@ -ERLANG_LIB_DIR_public_key = @ERLANG_LIB_DIR_public_key@ -ERLANG_LIB_DIR_sasl = @ERLANG_LIB_DIR_sasl@ -ERLANG_LIB_DIR_ssl = @ERLANG_LIB_DIR_ssl@ -ERLANG_LIB_DIR_stdlib = @ERLANG_LIB_DIR_stdlib@ -ERLANG_LIB_DIR_tools = @ERLANG_LIB_DIR_tools@ -ERLANG_LIB_DIR_xmerl = @ERLANG_LIB_DIR_xmerl@ -ERLANG_LIB_DIR_xmlrpc = @ERLANG_LIB_DIR_xmlrpc@ -ERLANG_LIB_VER_common_test = @ERLANG_LIB_VER_common_test@ -ERLANG_LIB_VER_compiler = @ERLANG_LIB_VER_compiler@ -ERLANG_LIB_VER_crypto = @ERLANG_LIB_VER_crypto@ -ERLANG_LIB_VER_erlsom = @ERLANG_LIB_VER_erlsom@ -ERLANG_LIB_VER_erts = @ERLANG_LIB_VER_erts@ -ERLANG_LIB_VER_eunit = @ERLANG_LIB_VER_eunit@ -ERLANG_LIB_VER_inets = @ERLANG_LIB_VER_inets@ -ERLANG_LIB_VER_kernel = @ERLANG_LIB_VER_kernel@ -ERLANG_LIB_VER_mnesia = @ERLANG_LIB_VER_mnesia@ -ERLANG_LIB_VER_public_key = @ERLANG_LIB_VER_public_key@ -ERLANG_LIB_VER_sasl = @ERLANG_LIB_VER_sasl@ -ERLANG_LIB_VER_ssl = @ERLANG_LIB_VER_ssl@ -ERLANG_LIB_VER_stdlib = @ERLANG_LIB_VER_stdlib@ -ERLANG_LIB_VER_tools = @ERLANG_LIB_VER_tools@ -ERLANG_LIB_VER_xmerl = @ERLANG_LIB_VER_xmerl@ -ERLANG_LIB_VER_xmlrpc = @ERLANG_LIB_VER_xmlrpc@ -ERLANG_RELEASE = @ERLANG_RELEASE@ -ERLANG_ROOT_DIR = @ERLANG_ROOT_DIR@ -ERLC = @ERLC@ -ERLCFLAGS = @ERLCFLAGS@ -ERL_LIBS = @ERL_LIBS@ -ESCRIPT = @ESCRIPT@ -EXEEXT = @EXEEXT@ -EXTRAINCLUDE = @EXTRAINCLUDE@ -FGREP = @FGREP@ -GREP = @GREP@ -HAVE_SENDFILE = @HAVE_SENDFILE@ -INSTALL = @INSTALL@ -INSTALL_BUILDER = @INSTALL_BUILDER@ -INSTALL_DATA = @INSTALL_DATA@ -INSTALL_PROGRAM = @INSTALL_PROGRAM@ -INSTALL_SCRIPT = @INSTALL_SCRIPT@ -INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ -LD = @LD@ -LDFLAGS = @LDFLAGS@ -LIBOBJS = @LIBOBJS@ -LIBS = @LIBS@ -LIBTOOL = @LIBTOOL@ -LIPO = @LIPO@ -LN_S = @LN_S@ -LTLIBOBJS = @LTLIBOBJS@ -LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@ -MAKEINFO = @MAKEINFO@ -MAN = @MAN@ -MANIFEST_TOOL = @MANIFEST_TOOL@ -MKDIR_P = @MKDIR_P@ -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_URL = @PACKAGE_URL@ -PACKAGE_VERSION = @PACKAGE_VERSION@ -PATH_SEPARATOR = @PATH_SEPARATOR@ -PDFLATEX = @PDFLATEX@ -PS2PDF = @PS2PDF@ -RANLIB = @RANLIB@ -SED = @SED@ -SET_MAKE = @SET_MAKE@ -SHELL = @SHELL@ -STRIP = @STRIP@ -TODOS = @TODOS@ -UNIX2DOS = @UNIX2DOS@ -VERSION = @VERSION@ -WERL = @WERL@ -YAPP_VSN = @YAPP_VSN@ -YAWS_VSN = @YAWS_VSN@ -abs_builddir = @abs_builddir@ -abs_srcdir = @abs_srcdir@ -abs_top_builddir = @abs_top_builddir@ -abs_top_srcdir = @abs_top_srcdir@ -ac_ct_AR = @ac_ct_AR@ -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@ -appsdir = @appsdir@ -bindir = @bindir@ -build = @build@ -build_alias = @build_alias@ -build_cpu = @build_cpu@ -build_os = @build_os@ -build_vendor = @build_vendor@ -builddir = @builddir@ -confdir = @confdir@ -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@ -logdir = @logdir@ -mandir = @mandir@ -mkdir_p = @mkdir_p@ -oldincludedir = @oldincludedir@ -pdfdir = @pdfdir@ -prefix = @prefix@ -program_transform_name = @program_transform_name@ -psdir = @psdir@ -runstatedir = @runstatedir@ -sbindir = @sbindir@ -sharedstatedir = @sharedstatedir@ -srcdir = @srcdir@ -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@ -wwwdir = @wwwdir@ -yappdir = @yappdir@ -yawsdir = @yawsdir@ -EXTRA_DIST = README.txt README.developer license.xml \ - yaws.conf img - -yaws_CFLAGS = $(EXTRAINCLUDE) -yaws_LDFLAGS = -yaws_LDADD = -yaws_SOURCES = yaws.c -all: all-am - -.SUFFIXES: -.SUFFIXES: .c .lo .o .obj -$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) - @for dep in $?; do \ - case '$(am__configure_deps)' in \ - *$$dep*) \ - ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ - && { if test -f $@; then exit 0; else break; fi; }; \ - exit 1;; \ - esac; \ - done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign win32/Makefile'; \ - $(am__cd) $(top_srcdir) && \ - $(AUTOMAKE) --foreign win32/Makefile -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - @case '$?' in \ - *config.status*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ - *) \ - echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ - esac; - -$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh - -$(top_srcdir)/configure: $(am__configure_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(ACLOCAL_M4): $(am__aclocal_m4_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(am__aclocal_m4_deps): -build.xml: $(top_builddir)/config.status $(srcdir)/build.xml.in - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ -install-binPROGRAMS: $(bin_PROGRAMS) - @$(NORMAL_INSTALL) - @list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \ - if test -n "$$list"; then \ - echo " $(MKDIR_P) '$(DESTDIR)$(bindir)'"; \ - $(MKDIR_P) "$(DESTDIR)$(bindir)" || exit 1; \ - fi; \ - for p in $$list; do echo "$$p $$p"; done | \ - sed 's/$(EXEEXT)$$//' | \ - while read p p1; do if test -f $$p \ - || test -f $$p1 \ - ; then echo "$$p"; echo "$$p"; else :; fi; \ - done | \ - sed -e 'p;s,.*/,,;n;h' \ - -e 's|.*|.|' \ - -e 'p;x;s,.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/' | \ - sed 'N;N;N;s,\n, ,g' | \ - $(AWK) 'BEGIN { files["."] = ""; dirs["."] = 1 } \ - { d=$$3; if (dirs[d] != 1) { print "d", d; dirs[d] = 1 } \ - if ($$2 == $$4) files[d] = files[d] " " $$1; \ - else { print "f", $$3 "/" $$4, $$1; } } \ - END { for (d in files) print "f", d, files[d] }' | \ - while read type dir files; do \ - if test "$$dir" = .; then dir=; else dir=/$$dir; fi; \ - test -z "$$files" || { \ - echo " $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL_PROGRAM) $$files '$(DESTDIR)$(bindir)$$dir'"; \ - $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL_PROGRAM) $$files "$(DESTDIR)$(bindir)$$dir" || exit $$?; \ - } \ - ; done - -uninstall-binPROGRAMS: - @$(NORMAL_UNINSTALL) - @list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \ - files=`for p in $$list; do echo "$$p"; done | \ - sed -e 'h;s,^.*/,,;s/$(EXEEXT)$$//;$(transform)' \ - -e 's/$$/$(EXEEXT)/' \ - `; \ - test -n "$$list" || exit 0; \ - echo " ( cd '$(DESTDIR)$(bindir)' && rm -f" $$files ")"; \ - cd "$(DESTDIR)$(bindir)" && rm -f $$files - -clean-binPROGRAMS: - @list='$(bin_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 - -yaws$(EXEEXT): $(yaws_OBJECTS) $(yaws_DEPENDENCIES) $(EXTRA_yaws_DEPENDENCIES) - @rm -f yaws$(EXEEXT) - $(AM_V_CCLD)$(yaws_LINK) $(yaws_OBJECTS) $(yaws_LDADD) $(LIBS) - -mostlyclean-compile: - -rm -f *.$(OBJEXT) - -distclean-compile: - -rm -f *.tab.c - -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/yaws-yaws.Po@am__quote@ - -.c.o: -@am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ $< - -.c.obj: -@am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'` - -.c.lo: -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LTCOMPILE) -c -o $@ $< - -yaws-yaws.o: yaws.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(yaws_CFLAGS) $(CFLAGS) -MT yaws-yaws.o -MD -MP -MF $(DEPDIR)/yaws-yaws.Tpo -c -o yaws-yaws.o `test -f 'yaws.c' || echo '$(srcdir)/'`yaws.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/yaws-yaws.Tpo $(DEPDIR)/yaws-yaws.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='yaws.c' object='yaws-yaws.o' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(yaws_CFLAGS) $(CFLAGS) -c -o yaws-yaws.o `test -f 'yaws.c' || echo '$(srcdir)/'`yaws.c - -yaws-yaws.obj: yaws.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(yaws_CFLAGS) $(CFLAGS) -MT yaws-yaws.obj -MD -MP -MF $(DEPDIR)/yaws-yaws.Tpo -c -o yaws-yaws.obj `if test -f 'yaws.c'; then $(CYGPATH_W) 'yaws.c'; else $(CYGPATH_W) '$(srcdir)/yaws.c'; fi` -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/yaws-yaws.Tpo $(DEPDIR)/yaws-yaws.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='yaws.c' object='yaws-yaws.obj' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(yaws_CFLAGS) $(CFLAGS) -c -o yaws-yaws.obj `if test -f 'yaws.c'; then $(CYGPATH_W) 'yaws.c'; else $(CYGPATH_W) '$(srcdir)/yaws.c'; fi` - -mostlyclean-libtool: - -rm -f *.lo - -clean-libtool: - -rm -rf .libs _libs - -ID: $(am__tagged_files) - $(am__define_uniq_tagged_files); mkid -fID $$unique -tags: tags-am -TAGS: tags - -tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) - set x; \ - here=`pwd`; \ - $(am__define_uniq_tagged_files); \ - 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-am - -CTAGS: ctags -ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) - $(am__define_uniq_tagged_files); \ - 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" -cscopelist: cscopelist-am - -cscopelist-am: $(am__tagged_files) - list='$(am__tagged_files)'; \ - case "$(srcdir)" in \ - [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ - *) sdir=$(subdir)/$(srcdir) ;; \ - esac; \ - for i in $$list; do \ - if test -f "$$i"; then \ - echo "$(subdir)/$$i"; \ - else \ - echo "$$sdir/$$i"; \ - fi; \ - done >> $(top_builddir)/cscope.files - -distclean-tags: - -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags - -distdir: $(DISTFILES) - @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - list='$(DISTFILES)'; \ - 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 $(PROGRAMS) -installdirs: - for dir in "$(DESTDIR)$(bindir)"; do \ - test -z "$$dir" || $(MKDIR_P) "$$dir"; \ - done -install: install-am -install-exec: install-exec-am -install-data: install-data-am -uninstall: uninstall-am - -install-am: all-am - @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am - -installcheck: installcheck-am -install-strip: - if test -z '$(STRIP)'; then \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - install; \ - else \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ - fi -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-binPROGRAMS clean-generic clean-libtool mostlyclean-am - -distclean: distclean-am - -rm -rf ./$(DEPDIR) - -rm -f Makefile -distclean-am: clean-am distclean-compile distclean-generic \ - distclean-tags - -dvi: dvi-am - -dvi-am: - -html: html-am - -html-am: - -info: info-am - -info-am: - -install-data-am: install-data-local - -install-dvi: install-dvi-am - -install-dvi-am: - -install-exec-am: install-binPROGRAMS - -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 -rf ./$(DEPDIR) - -rm -f Makefile -maintainer-clean-am: distclean-am maintainer-clean-generic - -mostlyclean: mostlyclean-am - -mostlyclean-am: mostlyclean-compile mostlyclean-generic \ - mostlyclean-libtool - -pdf: pdf-am - -pdf-am: - -ps: ps-am - -ps-am: - -uninstall-am: uninstall-binPROGRAMS uninstall-local - -.MAKE: install-am install-strip - -.PHONY: CTAGS GTAGS TAGS all all-am check check-am clean \ - clean-binPROGRAMS clean-generic clean-libtool cscopelist-am \ - ctags ctags-am distclean distclean-compile distclean-generic \ - distclean-libtool distclean-tags distdir dvi dvi-am html \ - html-am info info-am install install-am install-binPROGRAMS \ - install-data install-data-am install-data-local install-dvi \ - install-dvi-am install-exec install-exec-am install-html \ - install-html-am install-info install-info-am install-man \ - install-pdf install-pdf-am install-ps install-ps-am \ - install-strip installcheck installcheck-am installdirs \ - maintainer-clean maintainer-clean-generic mostlyclean \ - mostlyclean-compile mostlyclean-generic mostlyclean-libtool \ - pdf pdf-am ps ps-am tags tags-am uninstall uninstall-am \ - uninstall-binPROGRAMS uninstall-local - -.PRECIOUS: Makefile - - -install-data-local: - $(AM_V_at)$(INSTALL) -m 644 @srcdir@/yaws.conf $(DESTDIR)$(yawsdir) - $(AM_V_at)$(INSTALL) -m 644 @srcdir@/README.txt $(DESTDIR)$(yawsdir) - $(AM_V_at)$(INSTALL) -m 644 @top_srcdir@/vsn.mk $(DESTDIR)$(yawsdir) - $(AM_V_at)$(INSTALL) -m 644 @top_srcdir@/LICENSE $(DESTDIR)$(yawsdir) - $(AM_V_at)cp -r @top_srcdir@/ssl $(DESTDIR)$(yawsdir) - -uninstall-local: - $(AM_V_at)rm -fr $(DESTDIR)$(yawsdir)/ssl - $(AM_V_at)rm -f $(DESTDIR)$(yawsdir)/yaws.conf \ - $(DESTDIR)$(yawsdir)/README.txt \ - $(DESTDIR)$(yawsdir)/LICENSE \ - $(DESTDIR)$(yawsdir)/vsn.mk - -mkinstaller: install - $(AM_V_at)[ -n $(UNIX2DOS) ] && CONV=$(UNIX2DOS) || CONV=$(TODOS); \ - $${CONV} $(DESTDIR)$(yawsdir)/LICENSE 2>/dev/null; \ - for ext in txt erl conf html yaws js pem; do \ - find $(DESTDIR)$(yawsdir) -name "*.$${ext}" -exec $${CONV} {} \; 2>/dev/null;\ - done - - $(AM_V_at)$(INSTALL) -m 644 @builddir@/build.xml $(DESTDIR)$(yawsdir) - $(AM_V_at)(cd $(DESTDIR)$(yawsdir) && $(INSTALL_BUILDER)/bin/builder build build.xml windows) - $(AM_V_at)mv $(INSTALL_BUILDER)/output/*.exe @top_srcdir@ - $(AM_V_at)rm -f $(DESTDIR)$(yawsdir)/build.xml - -# Local Variables: -# tab-width: 8 -# End: - -# Tell versions [3.59,3.63) of GNU make to not export all variables. -# Otherwise a system limit (for SysV at least) may be exceeded. -.NOEXPORT: diff -Nru yaws-2.0.6+dfsg/www/bindings.yaws yaws-2.0.7+dfsg/www/bindings.yaws --- yaws-2.0.6+dfsg/www/bindings.yaws 2016-07-03 10:01:00.000000000 +0000 +++ yaws-2.0.7+dfsg/www/bindings.yaws 2019-07-14 13:01:11.000000000 +0000 @@ -29,8 +29,16 @@

        All bindings can then be used in the rest of yaws code (in HTML source and - within erl tags). In HTML source %%Key%% is expanded to Value and - within erl tags yaws_api:get_binding(Key) can be used to extract Value.

        + within erl tags). In HTML source %%Key%% is expanded to Value and + within erl tags yaws_api:binding(Key) or + yaws_api:binding_find(Key) can be used to extract Value.

        + +

        By default, text that looks like %%Key%% is left as + is if Key is not included in the bindings list. To force Yaws to + treat all undefined bindings as empty strings, so it strips out + any text like %%Key%% when Key is not specified, + include the special directive strip_undefined in the + bindings list.

        With the binding feature it is easier to write transparent yaws code making it easier to to work together with Web people knowing little or diff -Nru yaws-2.0.6+dfsg/www/code/Makefile yaws-2.0.7+dfsg/www/code/Makefile --- yaws-2.0.6+dfsg/www/code/Makefile 2018-06-26 09:17:24.000000000 +0000 +++ yaws-2.0.7+dfsg/www/code/Makefile 1970-01-01 00:00:00.000000000 +0000 @@ -1,542 +0,0 @@ -# Makefile.in generated by automake 1.15.1 from Makefile.am. -# www/code/Makefile. Generated from Makefile.in by configure. - -# Copyright (C) 1994-2017 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. - - - -am__is_gnu_make = { \ - if test -z '$(MAKELEVEL)'; then \ - false; \ - elif test -n '$(MAKE_HOST)'; then \ - true; \ - elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ - true; \ - else \ - false; \ - fi; \ -} -am__make_running_with_option = \ - case $${target_option-} in \ - ?) ;; \ - *) echo "am__make_running_with_option: internal error: invalid" \ - "target option '$${target_option-}' specified" >&2; \ - exit 1;; \ - esac; \ - has_opt=no; \ - sane_makeflags=$$MAKEFLAGS; \ - if $(am__is_gnu_make); then \ - sane_makeflags=$$MFLAGS; \ - else \ - case $$MAKEFLAGS in \ - *\\[\ \ ]*) \ - bs=\\; \ - sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ - | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ - esac; \ - fi; \ - skip_next=no; \ - strip_trailopt () \ - { \ - flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ - }; \ - for flg in $$sane_makeflags; do \ - test $$skip_next = yes && { skip_next=no; continue; }; \ - case $$flg in \ - *=*|--*) continue;; \ - -*I) strip_trailopt 'I'; skip_next=yes;; \ - -*I?*) strip_trailopt 'I';; \ - -*O) strip_trailopt 'O'; skip_next=yes;; \ - -*O?*) strip_trailopt 'O';; \ - -*l) strip_trailopt 'l'; skip_next=yes;; \ - -*l?*) strip_trailopt 'l';; \ - -[dEDm]) skip_next=yes;; \ - -[JT]) skip_next=yes;; \ - esac; \ - case $$flg in \ - *$$target_option*) has_opt=yes; break;; \ - esac; \ - done; \ - test $$has_opt = yes -am__make_dryrun = (target_option=n; $(am__make_running_with_option)) -am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) -pkgdatadir = $(datadir)/yaws -pkgincludedir = $(includedir)/yaws -pkglibdir = $(libdir)/yaws -pkglibexecdir = $(libexecdir)/yaws -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 = x86_64-pc-linux-gnu -host_triplet = x86_64-pc-linux-gnu -target_triplet = x86_64-pc-linux-gnu -subdir = www/code -ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/m4/ax_compare_version.m4 \ - $(top_srcdir)/m4/colored-echo.m4 $(top_srcdir)/m4/erlang.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)/configure.ac -am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ - $(ACLOCAL_M4) -DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON) -mkinstalldirs = $(install_sh) -d -CONFIG_CLEAN_FILES = -CONFIG_CLEAN_VPATH_FILES = -AM_V_P = $(am__v_P_$(V)) -am__v_P_ = $(am__v_P_$(AM_DEFAULT_VERBOSITY)) -am__v_P_0 = false -am__v_P_1 = : -AM_V_GEN = $(am__v_GEN_$(V)) -am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY)) -am__v_GEN_0 = @echo " GEN " $@; -am__v_GEN_1 = -AM_V_at = $(am__v_at_$(V)) -am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY)) -am__v_at_0 = @ -am__v_at_1 = -SOURCES = -DIST_SOURCES = -am__can_run_installinfo = \ - case $$AM_UPDATE_INFO_DIR in \ - n|no|NO) false;; \ - *) (install-info --version) >/dev/null 2>&1;; \ - esac -am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) -am__DIST_COMMON = $(srcdir)/Makefile.in -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) -ACLOCAL = ${SHELL} /home/klacke/yaws/ac-aux/missing aclocal-1.15 -AMTAR = $${TAR-tar} -AM_DEFAULT_VERBOSITY = 0 -APPDEPS = -AR = ar -AUTOCONF = ${SHELL} /home/klacke/yaws/ac-aux/missing autoconf -AUTOHEADER = ${SHELL} /home/klacke/yaws/ac-aux/missing autoheader -AUTOMAKE = ${SHELL} /home/klacke/yaws/ac-aux/missing automake-1.15 -AWK = mawk -CADAVER = cadaver -CC = gcc -CCDEPMODE = depmode=gcc3 -CFLAGS = -Werror -Wall -O3 -CONFIG_STATUS_DEPENDENCIES = $(top_srcdir)/vsn.mk \ - $(top_srcdir)/erlang_deps.mk \ - $(top_srcdir)/include.mk \ - $(top_srcdir)/applications/yapp/vsn.mk \ - $(top_srcdir)/testsuite/run_common_test.in \ - $(top_srcdir)/testsuite/yaws.coverspec.in \ - $(top_srcdir)/testsuite/cover_to_html.sh.in \ - $(top_srcdir)/testsuite/analyze_coverdata.escript.in -CPP = gcc -E -CPPFLAGS = -CT_RUN = -CURL = curl -CYGPATH_W = echo -DEFAULT_CHARSET = undefined -DEFS = -DPACKAGE_NAME=\"yaws\" -DPACKAGE_TARNAME=\"yaws\" -DPACKAGE_VERSION=\"2.0.6\" -DPACKAGE_STRING=\"yaws\ 2.0.6\" -DPACKAGE_BUGREPORT=\"\" -DPACKAGE_URL=\"\" -DCPU_VENDOR_OS=\"x86_64-pc-linux-gnu\" -DPACKAGE=\"yaws\" -DVERSION=\"2.0.6\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1 -DLT_OBJDIR=\".libs/\" -DHAVE_SECURITY_PAM_APPL_H=1 -DHAVE_LIBPAM=1 -DEPDIR = .deps -DIALYZER = /home/klacke/bin/dialyzer -DLLTOOL = false -DSYMUTIL = -DUMPBIN = -DVILATEX = latex -DVIPS = dvips -ECHO_C = -ECHO_N = -n -ECHO_T = -EGREP = /bin/grep -E -EPAM_CFLAGS = -I/usr/include/security -EPSTOPDF = epstopdf -ERL = /usr/bin/erl -ERLANG_ERTS_DIR = /usr/lib/erlang/erts-9.2 -ERLANG_ERTS_VER = 9.2 -ERLANG_INSTALL_LIB_DIR = ${prefix}/lib -ERLANG_INSTALL_LIB_DIR_yapp = ${ERLANG_INSTALL_LIB_DIR}/yapp-${YAPP_VSN} -ERLANG_INSTALL_LIB_DIR_yaws = ${ERLANG_INSTALL_LIB_DIR}/yaws-${YAWS_VSN} -ERLANG_LIB_DIR = /usr/lib/erlang/lib -ERLANG_LIB_DIR_common_test = /usr/lib/erlang/lib/common_test-1.15.3 -ERLANG_LIB_DIR_compiler = /usr/lib/erlang/lib/compiler-7.1.4 -ERLANG_LIB_DIR_crypto = /usr/lib/erlang/lib/crypto-4.2 -ERLANG_LIB_DIR_erlsom = not found -ERLANG_LIB_DIR_erts = /usr/lib/erlang/lib/erts-9.2 -ERLANG_LIB_DIR_eunit = /usr/lib/erlang/lib/eunit-2.3.5 -ERLANG_LIB_DIR_inets = /usr/lib/erlang/lib/inets-6.4.5 -ERLANG_LIB_DIR_kernel = /usr/lib/erlang/lib/kernel-5.4.1 -ERLANG_LIB_DIR_mnesia = /usr/lib/erlang/lib/mnesia-4.15.3 -ERLANG_LIB_DIR_public_key = /usr/lib/erlang/lib/public_key-1.5.2 -ERLANG_LIB_DIR_sasl = /usr/lib/erlang/lib/sasl-3.1.1 -ERLANG_LIB_DIR_ssl = /usr/lib/erlang/lib/ssl-8.2.3 -ERLANG_LIB_DIR_stdlib = /usr/lib/erlang/lib/stdlib-3.4.3 -ERLANG_LIB_DIR_tools = not found -ERLANG_LIB_DIR_xmerl = /usr/lib/erlang/lib/xmerl-1.3.16 -ERLANG_LIB_DIR_xmlrpc = not found -ERLANG_LIB_VER_common_test = 1.15.3 -ERLANG_LIB_VER_compiler = 7.1.4 -ERLANG_LIB_VER_crypto = 4.2 -ERLANG_LIB_VER_erlsom = not found -ERLANG_LIB_VER_erts = 9.2 -ERLANG_LIB_VER_eunit = 2.3.5 -ERLANG_LIB_VER_inets = 6.4.5 -ERLANG_LIB_VER_kernel = 5.4.1 -ERLANG_LIB_VER_mnesia = 4.15.3 -ERLANG_LIB_VER_public_key = 1.5.2 -ERLANG_LIB_VER_sasl = 3.1.1 -ERLANG_LIB_VER_ssl = 8.2.3 -ERLANG_LIB_VER_stdlib = 3.4.3 -ERLANG_LIB_VER_tools = not found -ERLANG_LIB_VER_xmerl = 1.3.16 -ERLANG_LIB_VER_xmlrpc = not found -ERLANG_RELEASE = 20 -ERLANG_ROOT_DIR = /usr/lib/erlang -ERLC = /usr/bin/erlc -ERLCFLAGS = -ERL_LIBS = -ESCRIPT = /usr/bin/escript -EXEEXT = -EXTRAINCLUDE = -FGREP = /bin/grep -F -GREP = /bin/grep -HAVE_SENDFILE = true -INSTALL = /usr/bin/install -c -INSTALL_BUILDER = /home/klacke/installbuilder-5.4.14 -INSTALL_DATA = ${INSTALL} -m 644 -INSTALL_PROGRAM = ${INSTALL} -INSTALL_SCRIPT = ${INSTALL} -INSTALL_STRIP_PROGRAM = $(install_sh) -c -s -LD = /usr/bin/x86_64-linux-gnu-ld -m elf_x86_64 -LDFLAGS = -LIBOBJS = -LIBS = -lpam -LIBTOOL = $(SHELL) $(top_builddir)/libtool -LIPO = -LN_S = ln -s -LTLIBOBJS = -LT_SYS_LIBRARY_PATH = -MAKEINFO = ${SHELL} /home/klacke/yaws/ac-aux/missing makeinfo -MAN = man -MANIFEST_TOOL = : -MKDIR_P = /bin/mkdir -p -NM = /usr/bin/nm -B -NMEDIT = -OBJDUMP = objdump -OBJEXT = o -OTOOL = -OTOOL64 = -PACKAGE = yaws -PACKAGE_BUGREPORT = -PACKAGE_NAME = yaws -PACKAGE_STRING = yaws 2.0.6 -PACKAGE_TARNAME = yaws -PACKAGE_URL = -PACKAGE_VERSION = 2.0.6 -PATH_SEPARATOR = : -PDFLATEX = pdflatex -PS2PDF = ps2pdf -RANLIB = ranlib -SED = /bin/sed -SET_MAKE = -SHELL = /bin/bash -STRIP = strip -TODOS = todos -UNIX2DOS = -VERSION = 2.0.6 -WERL = -YAPP_VSN = 0.4.2 -YAWS_VSN = 2.0.6 -abs_builddir = /home/klacke/yaws/www/code -abs_srcdir = /home/klacke/yaws/www/code -abs_top_builddir = /home/klacke/yaws -abs_top_srcdir = /home/klacke/yaws -ac_ct_AR = ar -ac_ct_CC = gcc -ac_ct_DUMPBIN = -am__include = include -am__leading_dot = . -am__quote = -am__tar = $${TAR-tar} chof - "$$tardir" -am__untar = $${TAR-tar} xf - -appsdir = $(localstatedir)/yaws -bindir = ${exec_prefix}/bin -build = x86_64-pc-linux-gnu -build_alias = -build_cpu = x86_64 -build_os = linux-gnu -build_vendor = pc -builddir = . -confdir = $(sysconfdir)/yaws -datadir = ${datarootdir} -datarootdir = ${prefix}/share -docdir = ${datarootdir}/doc/${PACKAGE_TARNAME} -dvidir = ${docdir} -exec_prefix = ${prefix} -host = x86_64-pc-linux-gnu -host_alias = -host_cpu = x86_64 -host_os = linux-gnu -host_vendor = pc -htmldir = ${docdir} -includedir = ${prefix}/include -infodir = ${datarootdir}/info -install_sh = ${SHELL} /home/klacke/yaws/ac-aux/install-sh -libdir = ${exec_prefix}/lib -libexecdir = ${exec_prefix}/libexec -localedir = ${datarootdir}/locale -localstatedir = ${prefix}/var -logdir = $(localstatedir)/log/yaws -mandir = ${datarootdir}/man -mkdir_p = $(MKDIR_P) -oldincludedir = /usr/include -pdfdir = ${docdir} -prefix = /home/klacke/yaws/_inst -program_transform_name = s,x,x, -psdir = ${docdir} -runstatedir = ${localstatedir}/run -sbindir = ${exec_prefix}/sbin -sharedstatedir = ${prefix}/com -srcdir = . -sysconfdir = ${prefix}/etc -target = x86_64-pc-linux-gnu -target_alias = -target_cpu = x86_64 -target_os = linux-gnu -target_vendor = pc -top_build_prefix = ../../ -top_builddir = ../.. -top_srcdir = ../.. -wwwdir = $(localstatedir)/yaws/www -yappdir = $(libdir)/yapp -yawsdir = $(libdir)/yaws -MODULES = myappmod.erl -EXTRA_DIST = $(MODULES) -EBIN_DIR = ../../examples/ebin -EBIN_FILES = $(MODULES:%.erl=$(EBIN_DIR)/%.beam) -ERLC_FLAGS = $(ERLC_GENERIC_FLAGS) -all: all-am - -.SUFFIXES: -$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) - @for dep in $?; do \ - case '$(am__configure_deps)' in \ - *$$dep*) \ - ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ - && { if test -f $@; then exit 0; else break; fi; }; \ - exit 1;; \ - esac; \ - done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign www/code/Makefile'; \ - $(am__cd) $(top_srcdir) && \ - $(AUTOMAKE) --foreign www/code/Makefile -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - @case '$?' in \ - *config.status*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ - *) \ - echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ - esac; - -$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh - -$(top_srcdir)/configure: $(am__configure_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(ACLOCAL_M4): $(am__aclocal_m4_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(am__aclocal_m4_deps): - -mostlyclean-libtool: - -rm -f *.lo - -clean-libtool: - -rm -rf .libs _libs -tags TAGS: - -ctags CTAGS: - -cscope cscopelist: - - -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 all-local -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: - if test -z '$(STRIP)'; then \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - install; \ - else \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ - fi -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 distclean-local - -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 all-local check check-am clean clean-generic \ - clean-libtool cscopelist-am ctags-am distclean \ - distclean-generic distclean-libtool distclean-local 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 tags-am uninstall \ - uninstall-am - -.PRECIOUS: Makefile - -include ../../include.mk - -include ../../erlang_deps.mk - -all-local: $(EBIN_FILES) - -$(EBIN_DIR)/%.beam: %.erl - $(AM_V_at)$(ERLC) $(ERLC_FLAGS) -M -MF $(@:$(EBIN_DIR)/%.beam=$(DEPDIR)/%.Pbeam) -MT $@ $< - $(AM_V_ERLC)$(ERLC) $(ERLC_FLAGS) -o $(EBIN_DIR) $< - -distclean-local: - $(AM_V_at)rm -fr $(DEPDIR) - -# Local Variables: -# tab-width: 8 -# End: - -# Tell versions [3.59,3.63) of GNU make to not export all variables. -# Otherwise a system limit (for SysV at least) may be exceeded. -.NOEXPORT: diff -Nru yaws-2.0.6+dfsg/www/code/Makefile.in yaws-2.0.7+dfsg/www/code/Makefile.in --- yaws-2.0.6+dfsg/www/code/Makefile.in 2018-06-26 09:17:09.000000000 +0000 +++ yaws-2.0.7+dfsg/www/code/Makefile.in 1970-01-01 00:00:00.000000000 +0000 @@ -1,535 +0,0 @@ -# Makefile.in generated by automake 1.15.1 from Makefile.am. -# @configure_input@ - -# Copyright (C) 1994-2017 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@ -am__is_gnu_make = { \ - if test -z '$(MAKELEVEL)'; then \ - false; \ - elif test -n '$(MAKE_HOST)'; then \ - true; \ - elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ - true; \ - else \ - false; \ - fi; \ -} -am__make_running_with_option = \ - case $${target_option-} in \ - ?) ;; \ - *) echo "am__make_running_with_option: internal error: invalid" \ - "target option '$${target_option-}' specified" >&2; \ - exit 1;; \ - esac; \ - has_opt=no; \ - sane_makeflags=$$MAKEFLAGS; \ - if $(am__is_gnu_make); then \ - sane_makeflags=$$MFLAGS; \ - else \ - case $$MAKEFLAGS in \ - *\\[\ \ ]*) \ - bs=\\; \ - sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ - | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ - esac; \ - fi; \ - skip_next=no; \ - strip_trailopt () \ - { \ - flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ - }; \ - for flg in $$sane_makeflags; do \ - test $$skip_next = yes && { skip_next=no; continue; }; \ - case $$flg in \ - *=*|--*) continue;; \ - -*I) strip_trailopt 'I'; skip_next=yes;; \ - -*I?*) strip_trailopt 'I';; \ - -*O) strip_trailopt 'O'; skip_next=yes;; \ - -*O?*) strip_trailopt 'O';; \ - -*l) strip_trailopt 'l'; skip_next=yes;; \ - -*l?*) strip_trailopt 'l';; \ - -[dEDm]) skip_next=yes;; \ - -[JT]) skip_next=yes;; \ - esac; \ - case $$flg in \ - *$$target_option*) has_opt=yes; break;; \ - esac; \ - done; \ - test $$has_opt = yes -am__make_dryrun = (target_option=n; $(am__make_running_with_option)) -am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) -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 = www/code -ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/m4/ax_compare_version.m4 \ - $(top_srcdir)/m4/colored-echo.m4 $(top_srcdir)/m4/erlang.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)/configure.ac -am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ - $(ACLOCAL_M4) -DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON) -mkinstalldirs = $(install_sh) -d -CONFIG_CLEAN_FILES = -CONFIG_CLEAN_VPATH_FILES = -AM_V_P = $(am__v_P_@AM_V@) -am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) -am__v_P_0 = false -am__v_P_1 = : -AM_V_GEN = $(am__v_GEN_@AM_V@) -am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) -am__v_GEN_0 = @echo " GEN " $@; -am__v_GEN_1 = -AM_V_at = $(am__v_at_@AM_V@) -am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) -am__v_at_0 = @ -am__v_at_1 = -SOURCES = -DIST_SOURCES = -am__can_run_installinfo = \ - case $$AM_UPDATE_INFO_DIR in \ - n|no|NO) false;; \ - *) (install-info --version) >/dev/null 2>&1;; \ - esac -am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) -am__DIST_COMMON = $(srcdir)/Makefile.in -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) -ACLOCAL = @ACLOCAL@ -AMTAR = @AMTAR@ -AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ -APPDEPS = @APPDEPS@ -AR = @AR@ -AUTOCONF = @AUTOCONF@ -AUTOHEADER = @AUTOHEADER@ -AUTOMAKE = @AUTOMAKE@ -AWK = @AWK@ -CADAVER = @CADAVER@ -CC = @CC@ -CCDEPMODE = @CCDEPMODE@ -CFLAGS = @CFLAGS@ -CONFIG_STATUS_DEPENDENCIES = @CONFIG_STATUS_DEPENDENCIES@ -CPP = @CPP@ -CPPFLAGS = @CPPFLAGS@ -CT_RUN = @CT_RUN@ -CURL = @CURL@ -CYGPATH_W = @CYGPATH_W@ -DEFAULT_CHARSET = @DEFAULT_CHARSET@ -DEFS = @DEFS@ -DEPDIR = @DEPDIR@ -DIALYZER = @DIALYZER@ -DLLTOOL = @DLLTOOL@ -DSYMUTIL = @DSYMUTIL@ -DUMPBIN = @DUMPBIN@ -DVILATEX = @DVILATEX@ -DVIPS = @DVIPS@ -ECHO_C = @ECHO_C@ -ECHO_N = @ECHO_N@ -ECHO_T = @ECHO_T@ -EGREP = @EGREP@ -EPAM_CFLAGS = @EPAM_CFLAGS@ -EPSTOPDF = @EPSTOPDF@ -ERL = @ERL@ -ERLANG_ERTS_DIR = @ERLANG_ERTS_DIR@ -ERLANG_ERTS_VER = @ERLANG_ERTS_VER@ -ERLANG_INSTALL_LIB_DIR = @ERLANG_INSTALL_LIB_DIR@ -ERLANG_INSTALL_LIB_DIR_yapp = @ERLANG_INSTALL_LIB_DIR_yapp@ -ERLANG_INSTALL_LIB_DIR_yaws = @ERLANG_INSTALL_LIB_DIR_yaws@ -ERLANG_LIB_DIR = @ERLANG_LIB_DIR@ -ERLANG_LIB_DIR_common_test = @ERLANG_LIB_DIR_common_test@ -ERLANG_LIB_DIR_compiler = @ERLANG_LIB_DIR_compiler@ -ERLANG_LIB_DIR_crypto = @ERLANG_LIB_DIR_crypto@ -ERLANG_LIB_DIR_erlsom = @ERLANG_LIB_DIR_erlsom@ -ERLANG_LIB_DIR_erts = @ERLANG_LIB_DIR_erts@ -ERLANG_LIB_DIR_eunit = @ERLANG_LIB_DIR_eunit@ -ERLANG_LIB_DIR_inets = @ERLANG_LIB_DIR_inets@ -ERLANG_LIB_DIR_kernel = @ERLANG_LIB_DIR_kernel@ -ERLANG_LIB_DIR_mnesia = @ERLANG_LIB_DIR_mnesia@ -ERLANG_LIB_DIR_public_key = @ERLANG_LIB_DIR_public_key@ -ERLANG_LIB_DIR_sasl = @ERLANG_LIB_DIR_sasl@ -ERLANG_LIB_DIR_ssl = @ERLANG_LIB_DIR_ssl@ -ERLANG_LIB_DIR_stdlib = @ERLANG_LIB_DIR_stdlib@ -ERLANG_LIB_DIR_tools = @ERLANG_LIB_DIR_tools@ -ERLANG_LIB_DIR_xmerl = @ERLANG_LIB_DIR_xmerl@ -ERLANG_LIB_DIR_xmlrpc = @ERLANG_LIB_DIR_xmlrpc@ -ERLANG_LIB_VER_common_test = @ERLANG_LIB_VER_common_test@ -ERLANG_LIB_VER_compiler = @ERLANG_LIB_VER_compiler@ -ERLANG_LIB_VER_crypto = @ERLANG_LIB_VER_crypto@ -ERLANG_LIB_VER_erlsom = @ERLANG_LIB_VER_erlsom@ -ERLANG_LIB_VER_erts = @ERLANG_LIB_VER_erts@ -ERLANG_LIB_VER_eunit = @ERLANG_LIB_VER_eunit@ -ERLANG_LIB_VER_inets = @ERLANG_LIB_VER_inets@ -ERLANG_LIB_VER_kernel = @ERLANG_LIB_VER_kernel@ -ERLANG_LIB_VER_mnesia = @ERLANG_LIB_VER_mnesia@ -ERLANG_LIB_VER_public_key = @ERLANG_LIB_VER_public_key@ -ERLANG_LIB_VER_sasl = @ERLANG_LIB_VER_sasl@ -ERLANG_LIB_VER_ssl = @ERLANG_LIB_VER_ssl@ -ERLANG_LIB_VER_stdlib = @ERLANG_LIB_VER_stdlib@ -ERLANG_LIB_VER_tools = @ERLANG_LIB_VER_tools@ -ERLANG_LIB_VER_xmerl = @ERLANG_LIB_VER_xmerl@ -ERLANG_LIB_VER_xmlrpc = @ERLANG_LIB_VER_xmlrpc@ -ERLANG_RELEASE = @ERLANG_RELEASE@ -ERLANG_ROOT_DIR = @ERLANG_ROOT_DIR@ -ERLC = @ERLC@ -ERLCFLAGS = @ERLCFLAGS@ -ERL_LIBS = @ERL_LIBS@ -ESCRIPT = @ESCRIPT@ -EXEEXT = @EXEEXT@ -EXTRAINCLUDE = @EXTRAINCLUDE@ -FGREP = @FGREP@ -GREP = @GREP@ -HAVE_SENDFILE = @HAVE_SENDFILE@ -INSTALL = @INSTALL@ -INSTALL_BUILDER = @INSTALL_BUILDER@ -INSTALL_DATA = @INSTALL_DATA@ -INSTALL_PROGRAM = @INSTALL_PROGRAM@ -INSTALL_SCRIPT = @INSTALL_SCRIPT@ -INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ -LD = @LD@ -LDFLAGS = @LDFLAGS@ -LIBOBJS = @LIBOBJS@ -LIBS = @LIBS@ -LIBTOOL = @LIBTOOL@ -LIPO = @LIPO@ -LN_S = @LN_S@ -LTLIBOBJS = @LTLIBOBJS@ -LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@ -MAKEINFO = @MAKEINFO@ -MAN = @MAN@ -MANIFEST_TOOL = @MANIFEST_TOOL@ -MKDIR_P = @MKDIR_P@ -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_URL = @PACKAGE_URL@ -PACKAGE_VERSION = @PACKAGE_VERSION@ -PATH_SEPARATOR = @PATH_SEPARATOR@ -PDFLATEX = @PDFLATEX@ -PS2PDF = @PS2PDF@ -RANLIB = @RANLIB@ -SED = @SED@ -SET_MAKE = @SET_MAKE@ -SHELL = @SHELL@ -STRIP = @STRIP@ -TODOS = @TODOS@ -UNIX2DOS = @UNIX2DOS@ -VERSION = @VERSION@ -WERL = @WERL@ -YAPP_VSN = @YAPP_VSN@ -YAWS_VSN = @YAWS_VSN@ -abs_builddir = @abs_builddir@ -abs_srcdir = @abs_srcdir@ -abs_top_builddir = @abs_top_builddir@ -abs_top_srcdir = @abs_top_srcdir@ -ac_ct_AR = @ac_ct_AR@ -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@ -appsdir = @appsdir@ -bindir = @bindir@ -build = @build@ -build_alias = @build_alias@ -build_cpu = @build_cpu@ -build_os = @build_os@ -build_vendor = @build_vendor@ -builddir = @builddir@ -confdir = @confdir@ -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@ -logdir = @logdir@ -mandir = @mandir@ -mkdir_p = @mkdir_p@ -oldincludedir = @oldincludedir@ -pdfdir = @pdfdir@ -prefix = @prefix@ -program_transform_name = @program_transform_name@ -psdir = @psdir@ -runstatedir = @runstatedir@ -sbindir = @sbindir@ -sharedstatedir = @sharedstatedir@ -srcdir = @srcdir@ -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@ -wwwdir = @wwwdir@ -yappdir = @yappdir@ -yawsdir = @yawsdir@ -MODULES = myappmod.erl -EXTRA_DIST = $(MODULES) -EBIN_DIR = @top_builddir@/examples/ebin -EBIN_FILES = $(MODULES:%.erl=$(EBIN_DIR)/%.beam) -ERLC_FLAGS = $(ERLC_GENERIC_FLAGS) -all: all-am - -.SUFFIXES: -$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) - @for dep in $?; do \ - case '$(am__configure_deps)' in \ - *$$dep*) \ - ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ - && { if test -f $@; then exit 0; else break; fi; }; \ - exit 1;; \ - esac; \ - done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign www/code/Makefile'; \ - $(am__cd) $(top_srcdir) && \ - $(AUTOMAKE) --foreign www/code/Makefile -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - @case '$?' in \ - *config.status*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ - *) \ - echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ - esac; - -$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh - -$(top_srcdir)/configure: $(am__configure_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(ACLOCAL_M4): $(am__aclocal_m4_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(am__aclocal_m4_deps): - -mostlyclean-libtool: - -rm -f *.lo - -clean-libtool: - -rm -rf .libs _libs -tags TAGS: - -ctags CTAGS: - -cscope cscopelist: - - -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 all-local -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: - if test -z '$(STRIP)'; then \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - install; \ - else \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ - fi -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 distclean-local - -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 all-local check check-am clean clean-generic \ - clean-libtool cscopelist-am ctags-am distclean \ - distclean-generic distclean-libtool distclean-local 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 tags-am uninstall \ - uninstall-am - -.PRECIOUS: Makefile - -include @top_srcdir@/include.mk - -include @top_srcdir@/erlang_deps.mk - -all-local: $(EBIN_FILES) - -$(EBIN_DIR)/%.beam: %.erl - $(AM_V_at)$(ERLC) $(ERLC_FLAGS) -M -MF $(@:$(EBIN_DIR)/%.beam=$(DEPDIR)/%.Pbeam) -MT $@ $< - $(AM_V_ERLC)$(ERLC) $(ERLC_FLAGS) -o $(EBIN_DIR) $< - -distclean-local: - $(AM_V_at)rm -fr $(DEPDIR) - -# Local Variables: -# tab-width: 8 -# End: - -# Tell versions [3.59,3.63) of GNU make to not export all variables. -# Otherwise a system limit (for SysV at least) may be exceeded. -.NOEXPORT: diff -Nru yaws-2.0.6+dfsg/www/configuration.yaws yaws-2.0.7+dfsg/www/configuration.yaws --- yaws-2.0.6+dfsg/www/configuration.yaws 2016-09-22 09:50:54.000000000 +0000 +++ yaws-2.0.7+dfsg/www/configuration.yaws 2019-07-14 13:01:11.000000000 +0000 @@ -30,7 +30,7 @@ are required. (All code example below on Ubuntu)

        - NOTE: Erlang/OTP R16B01 or higher is required. + NOTE: Erlang/OTP R17 or higher is required.

        • diff -Nru yaws-2.0.6+dfsg/www/internals.yaws yaws-2.0.7+dfsg/www/internals.yaws --- yaws-2.0.6+dfsg/www/internals.yaws 2018-04-11 14:14:36.000000000 +0000 +++ yaws-2.0.7+dfsg/www/internals.yaws 2019-07-14 13:01:11.000000000 +0000 @@ -155,53 +155,56 @@
          - %%global conf - record(gconf,{ - yaws_dir, % topdir of Yaws installation - trace, % false | {true,http} | {true,traffic} - flags = ?GC_DEF, % boolean flags - logdir, - ebin_dir = [], - runmods = [], % runmods for entire server - keepalive_timeout = 30000, - keepalive_maxuses = nolimit, % nolimit or non negative integer - max_num_cached_files = 400, - max_num_cached_bytes = 1000000, % 1 MEG - max_size_cached_file = 8000, - max_connections = nolimit, % max number of TCP connections - - %% Override default connection handler processes spawn options for - %% performance/memory tuning. - %% [] | [{fullsweep_after,Number}, {min_heap_size, Size}] - %% other options such as monitor, link are ignored. - process_options = [], - - large_file_chunk_size = 10240, - mnesia_dir = [], - log_wrap_size = 10000000, % wrap logs after 10M - cache_refresh_secs = 30, % seconds (auto zero when debug) - include_dir = [], % list of inc dirs for .yaws files - phpexe = "/usr/bin/php-cgi", % cgi capable php executable - - yaws, % server string - id = "default", % string identifying this instance of yaws - - enable_soap = false, % start yaws_soap_srv iff true - - %% a list of - %% {{Mod, Func}, WsdlFile, Prefix} | {{Mod, Func}, WsdlFile} - %% automatically setup in yaws_soap_srv init. - soap_srv_mods = [], - - acceptor_pool_size = 8, % size of acceptor proc pool - - mime_types_info, % undefined | #mime_types_info{} - nslookup_pref = [inet], % [inet | inet6] - ysession_mod = yaws_session_server, % storage module for ysession - ysession_cookiegen, % ysession cookie generation MFA - ysession_idle_timeout = 2*60*1000, % default 2 minutes - ysession_long_timeout = 60*60*1000 % default 1 hour - }). + %% global conf + -record(gconf,{ + yaws_dir, % topdir of Yaws installation + trace, % false | {true,http} | {true,traffic} + flags = ?GC_DEF, % boolean flags + logdir, + ebin_dir = [], + src_dir = [], + runmods = [], % runmods for entire server + keepalive_timeout = 30000, + keepalive_maxuses = nolimit, % nolimit or non negative integer + max_num_cached_files = 400, + max_num_cached_bytes = 1000000, % 1 MEG + max_size_cached_file = 8000, + max_connections = nolimit, % max number of TCP connections + + %% Override default connection handler processes spawn options for + %% performance/memory tuning. + %% [] | [{fullsweep_after,Number}, {min_heap_size, Size}] + %% other options such as monitor, link are ignored. + process_options = [], + + large_file_chunk_size = 10240, + mnesia_dir = [], + log_wrap_size = 1000000, % wrap logs after 1M + cache_refresh_secs = 30, % seconds (auto zero when debug) + include_dir = [], % list of inc dirs for .yaws files + phpexe = "/usr/bin/php-cgi", % cgi capable php executable + + yaws, % server string + id = "default", % string identifying this instance of yaws + + enable_soap = false, % start yaws_soap_srv iff true + + %% a list of + %% {{Mod, Func}, WsdlFile, Prefix} | {{Mod, Func}, WsdlFile} + %% automatically setup in yaws_soap_srv init. + soap_srv_mods = [], + + acceptor_pool_size = 8, % size of acceptor proc pool + + mime_types_info, % undefined | #mime_types_info{} + nslookup_pref = [inet], % [inet | inet6] + ysession_mod = yaws_session_server, % storage module for ysession + ysession_cookiegen, % ysession cookie generation module + ysession_idle_timeout = 2*60*1000, % default 2 minutes + ysession_long_timeout = 60*60*1000, % default 1 hour + + sni = disable % disable | enable | strict + }).
          @@ -230,54 +233,55 @@ %% server conf -record(sconf, { - port = 8000, % which port is this server listening to - flags = ?SC_DEF, - redirect_map=[], % a list of - % {Prefix, #url{}, append|noappend} - % #url{} can be partially populated - - rhost, % forced redirect host (+ optional port) - rmethod, % forced redirect method - docroot, % path to the docs - xtra_docroots = [], % if we have additional pseudo docroots - listen = [{127,0,0,1}], % bind to this IP, {0,0,0,0} is possible - servername = "localhost", % servername is what Host: header is - yaws, % server string for this vhost - ets, % local store for this server - ssl, % undefined | #ssl{} - authdirs = [], % [{docroot, [#auth{}]}] - partial_post_size = 10240, - - %% An item in the appmods list can be either of the - %% following, this is all due to backwards compat issues. - %% 1. an atom - this is the equivalent to {atom, atom} - %% 2 . A two tuple {Path, Mod} - %% 3 A three tuple {Path, Mod, [ExcludeDir ....]} - appmods = [], - - expires = [], - errormod_401 = yaws_outmod, % the default 401 error module - errormod_404 = yaws_outmod, % the default 404 error module - errormod_crash = yaws_outmod, % use the same module for crashes - arg_rewrite_mod = yaws, - logger_mod = yaws_log, % access/auth logging module - opaque = [], % useful in embedded mode - start_mod, % user provided module to be started - allowed_scripts = [yaws,php,cgi,fcgi], - tilde_allowed_scripts = [], - index_files = ["index.yaws", "index.html", "index.php"], - revproxy = [], - soptions = [], - extra_cgi_vars = [], - stats, % raw traffic statistics - fcgi_app_server, % FastCGI application server {host,port} - php_handler = {cgi, "/usr/bin/php-cgi"}, - shaper, - deflate_options, % undefined | #deflate{} - mime_types_info, % undefined | #mime_types_info{} - % if undefined, global config is used - dispatch_mod % custom dispatch module - }). + port = 8000, % which port is this server listening to + flags = ?SC_DEF, + redirect_map=[], % a list of + % {Prefix, #url{}, append|noappend} + % #url{} can be partially populated + + rhost, % forced redirect host (+ optional port) + rmethod, % forced redirect method + docroot, % path to the docs + xtra_docroots = [], % if we have additional pseudo docroots + listen = [{127,0,0,1}], % bind to this IP, {0,0,0,0} is possible + servername = "localhost", % servername is what Host: header is + serveralias = [], % Alternate names for this vhost + yaws, % server string for this vhost + ets, % local store for this server + ssl, % undefined | #ssl{} + authdirs = [], % [{docroot, [#auth{}]}] + partial_post_size = 10240, + + %% An item in the appmods list can be either of the + %% following, this is all due to backwards compat issues. + %% 1. an atom - this is the equivalent to {atom, atom} + %% 2 . A two tuple {Path, Mod} + %% 3 A three tuple {Path, Mod, [ExcludeDir ....]} + appmods = [], + + expires = [], + errormod_401 = yaws_outmod, % the default 401 error module + errormod_404 = yaws_outmod, % the default 404 error module + errormod_crash = yaws_outmod, % use the same module for crashes + arg_rewrite_mod = yaws, + logger_mod = yaws_log, % access/auth logging module + opaque = [], % useful in embedded mode + start_mod, % user provided module to be started + allowed_scripts = [yaws,php,cgi,fcgi], + tilde_allowed_scripts = [], + index_files = ["index.yaws", "index.html", "index.php"], + revproxy = [], + soptions = [{listen_opts, [{backlog, 1024}]}], + extra_cgi_vars = [], + stats, % raw traffic statistics + fcgi_app_server, % FastCGI application server {host,port} + php_handler = {cgi, "/usr/bin/php-cgi"}, + shaper, + deflate_options, % undefined | #deflate{} + mime_types_info, % undefined | #mime_types_info{} + % if undefined, global config is used + dispatch_mod % custom dispatch module + }). diff -Nru yaws-2.0.6+dfsg/www/json_intro.yaws yaws-2.0.7+dfsg/www/json_intro.yaws --- yaws-2.0.6+dfsg/www/json_intro.yaws 2016-07-03 10:01:01.000000000 +0000 +++ yaws-2.0.7+dfsg/www/json_intro.yaws 2019-07-14 13:01:11.000000000 +0000 @@ -165,12 +165,12 @@ - -