diff -Nru ocaml-dtools-0.4.1/bootstrap ocaml-dtools-0.4.2/bootstrap --- ocaml-dtools-0.4.1/bootstrap 2018-09-11 05:09:44.000000000 +0000 +++ ocaml-dtools-0.4.2/bootstrap 1970-01-01 00:00:00.000000000 +0000 @@ -1,17 +0,0 @@ -#!/bin/sh -e - -if [ -d m4 ]; then - OPTIONS="-I m4" - aclocal -I m4 -fi -autoreconf -f -i $OPTIONS $1 -# autoconf maintainers have not yet implemented -# a function to install missing files from autoconf -# itself, so we need to fake a call to automake here.. -automake -a -c -f 2>/dev/null || true -if [ -d examples ]; then - if [ -f examples/configure.ac ]; then - cd examples - autoreconf -f -i - fi -fi diff -Nru ocaml-dtools-0.4.1/CHANGES ocaml-dtools-0.4.2/CHANGES --- ocaml-dtools-0.4.1/CHANGES 2018-09-11 05:09:44.000000000 +0000 +++ ocaml-dtools-0.4.2/CHANGES 2020-03-28 00:34:27.000000000 +0000 @@ -1,3 +1,8 @@ +0.4.2 (27-02-2020) +===== +* Added `Conf` values validation API, thanks to @CyberDomovoy +* Switched to dune + 0.4.1 (09-11-2018) ===== * Use seperate thread for logging, finer-grained critical section to avoid diff -Nru ocaml-dtools-0.4.1/config.guess ocaml-dtools-0.4.2/config.guess --- ocaml-dtools-0.4.1/config.guess 2018-09-11 05:09:44.000000000 +0000 +++ ocaml-dtools-0.4.2/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 ocaml-dtools-0.4.1/config.sub ocaml-dtools-0.4.2/config.sub --- ocaml-dtools-0.4.1/config.sub 2018-09-11 05:09:44.000000000 +0000 +++ ocaml-dtools-0.4.2/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 ocaml-dtools-0.4.1/configure ocaml-dtools-0.4.2/configure --- ocaml-dtools-0.4.1/configure 2018-09-11 05:09:44.000000000 +0000 +++ ocaml-dtools-0.4.2/configure 1970-01-01 00:00:00.000000000 +0000 @@ -1,6830 +0,0 @@ -#! /bin/sh -# Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.69 for ocaml-dtools 0.4.1. -# -# Report bugs to . -# -# -# 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" - 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 and -$0: savonet-users@lists.sourceforge.net 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'" - -as_awk_strverscmp=' - # Use only awk features that work with 7th edition Unix awk (1978). - # My, what an old awk you have, Mr. Solaris! - END { - while (length(v1) && length(v2)) { - # Set d1 to be the next thing to compare from v1, and likewise for d2. - # Normally this is a single character, but if v1 and v2 contain digits, - # compare them as integers and fractions as strverscmp does. - if (v1 ~ /^[0-9]/ && v2 ~ /^[0-9]/) { - # Split v1 and v2 into their leading digit string components d1 and d2, - # and advance v1 and v2 past the leading digit strings. - for (len1 = 1; substr(v1, len1 + 1) ~ /^[0-9]/; len1++) continue - for (len2 = 1; substr(v2, len2 + 1) ~ /^[0-9]/; len2++) continue - d1 = substr(v1, 1, len1); v1 = substr(v1, len1 + 1) - d2 = substr(v2, 1, len2); v2 = substr(v2, len2 + 1) - if (d1 ~ /^0/) { - if (d2 ~ /^0/) { - # Compare two fractions. - while (d1 ~ /^0/ && d2 ~ /^0/) { - d1 = substr(d1, 2); len1-- - d2 = substr(d2, 2); len2-- - } - if (len1 != len2 && ! (len1 && len2 && substr(d1, 1, 1) == substr(d2, 1, 1))) { - # The two components differ in length, and the common prefix - # contains only leading zeros. Consider the longer to be less. - d1 = -len1 - d2 = -len2 - } else { - # Otherwise, compare as strings. - d1 = "x" d1 - d2 = "x" d2 - } - } else { - # A fraction is less than an integer. - exit 1 - } - } else { - if (d2 ~ /^0/) { - # An integer is greater than a fraction. - exit 2 - } else { - # Compare two integers. - d1 += 0 - d2 += 0 - } - } - } else { - # The normal case, without worrying about digits. - d1 = substr(v1, 1, 1); v1 = substr(v1, 2) - d2 = substr(v2, 1, 1); v2 = substr(v2, 2) - } - if (d1 < d2) exit 1 - if (d1 > d2) exit 2 - } - # Beware Solaris /usr/xgp4/bin/awk (at least through Solaris 10), - # which mishandles some comparisons of empty strings to integers. - if (length(v2)) exit 1 - if (length(v1)) exit 2 - } -' - -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='ocaml-dtools' -PACKAGE_TARNAME='ocaml-dtools' -PACKAGE_VERSION='0.4.1' -PACKAGE_STRING='ocaml-dtools 0.4.1' -PACKAGE_BUGREPORT='savonet-users@lists.sourceforge.net' -PACKAGE_URL='' - -ac_subst_vars='LTLIBOBJS -LIBOBJS -VERSION -INC -SYSLOG_FILES -REQUIRES -W_SYSLOG -PIC_FLAGS -OCAMLFLAGS -CAMLLIBPATH -OCAMLNCFLAGS -OCAML_STDLIB -OCAMLFIND -CAMLP4RF -CAMLP4R -CAMLP4PROF -CAMLP4ORF -CAMLP4OOF -CAMLP4OF -CAMLP4O -CAMLP4BOOT -CAMLP4 -OCAMLYACC -OCAMLLEXDOTOPT -OCAMLLEX -CAMLIDL -OCAMLBUILD -OCAMLDOCOPT -OCAMLDOC -OCAMLMKLIB -OCAMLMKTOP -OCAMLDEPOPT -OCAMLDEP -OCAML -OCAMLOPTDOTOPT -OCAMLCDOTOPT -OCAML_DYNLINK -OCAMLBEST -OCAMLOPT -OCAMLLIB -OCAMLVERSION -OCAML_HAS_FIRST_CLASS_MODULES -OCAMLC -OCAMLFIND_LDCONF -AR -INSTALL_DATA -INSTALL_SCRIPT -INSTALL_PROGRAM -AUTOCONF_INSTALL_FILES -TARGET_TOOLCHAIN -host_os -host_vendor -host_cpu -host -build_os -build_vendor -build_cpu -build -OBJEXT -EXEEXT -ac_ct_CC -CPPFLAGS -LDFLAGS -CFLAGS -CC -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_ldconf -enable_camlp4 -enable_debugging -with_ocaml_warnings -enable_profiling -enable_nativecode -enable_custom -enable_pic -with_syslog_dir -enable_syslog -enable_syslog_dynamic_plugin -' - ac_precious_vars='build_alias -host_alias -target_alias -CC -CFLAGS -LDFLAGS -LIBS -CPPFLAGS -PIC_FLAGS' - - -# 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 ocaml-dtools 0.4.1 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/ocaml-dtools] - --htmldir=DIR html documentation [DOCDIR] - --dvidir=DIR dvi documentation [DOCDIR] - --pdfdir=DIR pdf documentation [DOCDIR] - --psdir=DIR ps documentation [DOCDIR] -_ACEOF - - cat <<\_ACEOF - -System types: - --build=BUILD configure for building on BUILD [guessed] - --host=HOST cross-compile to build programs to run on HOST [BUILD] -_ACEOF -fi - -if test -n "$ac_init_help"; then - case $ac_init_help in - short | recursive ) echo "Configuration of ocaml-dtools 0.4.1:";; - 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] - --disable-ldconf don't modify the dynamic loader configuration file - (default is enable) - --disable-camlp4 disable camlp4 auto-detection. - --disable-debugging disable debugging information (backtrace printing in - particular) - --enable-profiling compile to generate profiling infomation - --disable-nativecode compile in bytecode - --disable-custom disable custom mode for bytecode compilation (use if - you know what you are doing) - --disable-pic compile PIC objects [default=enabled for shared - builds on supported platforms] - --disable-syslog "don't use ocaml-syslog" - --enable-syslog-dynamic-plugin - Compile syslog as an optional dynamic plugin. - -Optional Packages: - --with-PACKAGE[=ARG] use PACKAGE [ARG=yes] - --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no) - --with-ocaml-warnings=WARNINGS - Enable specific list of ocaml compiler warnings. - --with-syslog-dir=path look for ocaml-syslog library in "path" - (autodetected by default) - --with-syslog-dir=path look for ocaml-syslog library in "path" - (autodetected by default) - -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 - PIC_FLAGS compiler flags for PIC code - -Use these variables to override the choices made by `configure' or to help -it to find libraries and programs with nonstandard names/locations. - -Report bugs to . -_ACEOF -ac_status=$? -fi - -if test "$ac_init_help" = "recursive"; then - # If there are subdirs, report their specific --help. - for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue - test -d "$ac_dir" || - { cd "$srcdir" && ac_pwd=`pwd` && srcdir=. && test -d "$ac_dir"; } || - continue - ac_builddir=. - -case "$ac_dir" in -.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; -*) - ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'` - # A ".." for each directory in $ac_dir_suffix. - ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'` - case $ac_top_builddir_sub in - "") ac_top_builddir_sub=. ac_top_build_prefix= ;; - *) ac_top_build_prefix=$ac_top_builddir_sub/ ;; - esac ;; -esac -ac_abs_top_builddir=$ac_pwd -ac_abs_builddir=$ac_pwd$ac_dir_suffix -# for backward compatibility: -ac_top_builddir=$ac_top_build_prefix - -case $srcdir in - .) # We are building in place. - ac_srcdir=. - ac_top_srcdir=$ac_top_builddir_sub - ac_abs_top_srcdir=$ac_pwd ;; - [\\/]* | ?:[\\/]* ) # Absolute name. - ac_srcdir=$srcdir$ac_dir_suffix; - ac_top_srcdir=$srcdir - ac_abs_top_srcdir=$srcdir ;; - *) # Relative name. - ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix - ac_top_srcdir=$ac_top_build_prefix$srcdir - ac_abs_top_srcdir=$ac_pwd/$srcdir ;; -esac -ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix - - cd "$ac_dir" || { ac_status=$?; continue; } - # Check for guested configure. - if test -f "$ac_srcdir/configure.gnu"; then - echo && - $SHELL "$ac_srcdir/configure.gnu" --help=recursive - elif test -f "$ac_srcdir/configure"; then - echo && - $SHELL "$ac_srcdir/configure" --help=recursive - else - $as_echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2 - fi || ac_status=$? - cd "$ac_pwd" || { ac_status=$?; break; } - done -fi - -test -n "$ac_init_help" && exit $ac_status -if $ac_init_version; then - cat <<\_ACEOF -ocaml-dtools configure 0.4.1 -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_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 -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 ocaml-dtools $as_me 0.4.1, 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 - - -VERSION=$PACKAGE_VERSION -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: configuring $PACKAGE_STRING" >&5 -$as_echo "configuring $PACKAGE_STRING" >&6; } - -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_aux_dir= -for ac_dir in "$srcdir" "$srcdir/.." "$srcdir/../.."; do - if test -f "$ac_dir/install-sh"; then - ac_aux_dir=$ac_dir - ac_install_sh="$ac_aux_dir/install-sh -c" - break - elif test -f "$ac_dir/install.sh"; then - ac_aux_dir=$ac_dir - ac_install_sh="$ac_aux_dir/install.sh -c" - break - elif test -f "$ac_dir/shtool"; then - ac_aux_dir=$ac_dir - ac_install_sh="$ac_aux_dir/shtool install -c" - break - fi -done -if test -z "$ac_aux_dir"; then - as_fn_error $? "cannot find install-sh, install.sh, or shtool in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" "$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 - - -# 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 target toolchain" >&5 -$as_echo_n "checking target toolchain... " >&6; } -case "${host_os}" in - linux*) - TARGET_TOOLCHAIN="linux" - ;; - mingw*) - TARGET_TOOLCHAIN="mingw" - ;; - cygwin*) - TARGET_TOOLCHAIN="cygwin" - ;; - darwin*) - TARGET_TOOLCHAIN="darwin" - ;; - *) - TARGET_TOOLCHAIN="other" - ;; -esac -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $TARGET_TOOLCHAIN" >&5 -$as_echo "$TARGET_TOOLCHAIN" >&6; } - - -# AC_CANONICAL_HOST needs those files -AUTOCONF_INSTALL_FILES="config.guess config.sub install-sh m4/*.m4" - - -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 - - -if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}ar", so it can be a program name with args. -set dummy ${ac_tool_prefix}ar; ac_word=$2 -{ $as_echo "$as_me:${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}ar" - $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 - - -fi -if test -z "$ac_cv_prog_AR"; then - ac_ct_AR=$AR - # Extract the first word of "ar", so it can be a program name with args. -set dummy ar; ac_word=$2 -{ $as_echo "$as_me:${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="ar" - $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 - - if test "x$ac_ct_AR" = x; then - AR="no" - 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 -else - AR="$ac_cv_prog_AR" -fi - - - -OCAMLFIND_LDCONF="" -# Check whether --enable-ldconf was given. -if test "${enable_ldconf+set}" = set; then : - enableval=$enable_ldconf; ac_enable_ldconf=$enableval -else - ac_enable_ldconf=$enableval -fi - -if test "$ac_enable_ldconf" = no ; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: disabling modification of ld.conf" >&5 -$as_echo "disabling modification of ld.conf" >&6; } - OCAMLFIND_LDCONF=dummy -fi - - -# Check for Ocaml compilers - - # checking for ocamlc - if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}ocamlc", so it can be a program name with args. -set dummy ${ac_tool_prefix}ocamlc; 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_OCAMLC+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$OCAMLC"; then - ac_cv_prog_OCAMLC="$OCAMLC" # 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_OCAMLC="${ac_tool_prefix}ocamlc" - $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 -OCAMLC=$ac_cv_prog_OCAMLC -if test -n "$OCAMLC"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OCAMLC" >&5 -$as_echo "$OCAMLC" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - -fi -if test -z "$ac_cv_prog_OCAMLC"; then - ac_ct_OCAMLC=$OCAMLC - # Extract the first word of "ocamlc", so it can be a program name with args. -set dummy ocamlc; 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_OCAMLC+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_OCAMLC"; then - ac_cv_prog_ac_ct_OCAMLC="$ac_ct_OCAMLC" # 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_OCAMLC="ocamlc" - $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_OCAMLC=$ac_cv_prog_ac_ct_OCAMLC -if test -n "$ac_ct_OCAMLC"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OCAMLC" >&5 -$as_echo "$ac_ct_OCAMLC" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - if test "x$ac_ct_OCAMLC" = x; then - OCAMLC="no" - 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 - OCAMLC=$ac_ct_OCAMLC - fi -else - OCAMLC="$ac_cv_prog_OCAMLC" -fi - - - if test "$OCAMLC" = "no"; then - as_fn_error $? "Cannot find ocamlc." "$LINENO" 5 - fi - - - - OCAMLVERSION=`$OCAMLC -v | sed -n -e 's|.*version* *\(.*\)$|\1|p'` - { $as_echo "$as_me:${as_lineno-$LINENO}: result: OCaml version is $OCAMLVERSION" >&5 -$as_echo "OCaml version is $OCAMLVERSION" >&6; } - # Check if version is >= 3.12.0 - { $as_echo "$as_me:${as_lineno-$LINENO}: checking if ocaml compiler supports first-class modules" >&5 -$as_echo_n "checking if ocaml compiler supports first-class modules... " >&6; } - as_arg_v1=$OCAMLVERSION -as_arg_v2=3.12.0 -awk "$as_awk_strverscmp" v1="$as_arg_v1" v2="$as_arg_v2" /dev/null -case $? in #( - 1) : - ;; #( - 0) : - OCAML_HAS_FIRST_CLASS_MODULES="yes" ;; #( - 2) : - OCAML_HAS_FIRST_CLASS_MODULES="yes" ;; #( - *) : - ;; -esac - if test -n "${OCAML_HAS_FIRST_CLASS_MODULES}"; 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" >&5 -$as_echo "no" >&6; } - fi - - - # If OCAMLLIB is set, use it - if test "$OCAMLLIB" = ""; then - OCAMLLIB=`$OCAMLC -where 2>/dev/null || $OCAMLC -v|tail -1|cut -d ' ' -f 4` - else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: OCAMLLIB previously set; preserving it." >&5 -$as_echo "OCAMLLIB previously set; preserving it." >&6; } - fi - { $as_echo "$as_me:${as_lineno-$LINENO}: result: OCaml library path is $OCAMLLIB" >&5 -$as_echo "OCaml library path is $OCAMLLIB" >&6; } - - - - - # checking for ocamlopt - # Extract the first word of "${ac_tool_prefix}ocamlopt", so it can be a program name with args. -set dummy ${ac_tool_prefix}ocamlopt; 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_OCAMLOPT+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$OCAMLOPT"; then - ac_cv_prog_OCAMLOPT="$OCAMLOPT" # 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_OCAMLOPT="${ac_tool_prefix}ocamlopt" - $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 - - test -z "$ac_cv_prog_OCAMLOPT" && ac_cv_prog_OCAMLOPT="no" -fi -fi -OCAMLOPT=$ac_cv_prog_OCAMLOPT -if test -n "$OCAMLOPT"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OCAMLOPT" >&5 -$as_echo "$OCAMLOPT" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - - OCAMLBEST=byte - OCAML_DYNLINK=byte-dyn - if test "$OCAMLOPT" = "no"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Cannot find ocamlopt; bytecode compilation only." >&5 -$as_echo "$as_me: WARNING: Cannot find ocamlopt; bytecode compilation only." >&2;} - else - TMPVERSION=`$OCAMLOPT -v | sed -n -e 's|.*version* *\(.*\)$|\1|p' ` - if test "$TMPVERSION" != "$OCAMLVERSION" ; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: versions differs from ocamlc; ocamlopt discarded." >&5 -$as_echo "versions differs from ocamlc; ocamlopt discarded." >&6; } - OCAMLOPT=no - else - OCAMLBEST="byte opt" - OCAML_DYNLINK="byte-dyn opt-dyn" - fi - fi - - - - - # checking for ocamlc.opt - # Extract the first word of "${ac_tool_prefix}ocamlc.opt", so it can be a program name with args. -set dummy ${ac_tool_prefix}ocamlc.opt; 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_OCAMLCDOTOPT+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$OCAMLCDOTOPT"; then - ac_cv_prog_OCAMLCDOTOPT="$OCAMLCDOTOPT" # 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_OCAMLCDOTOPT="${ac_tool_prefix}ocamlc.opt" - $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 - - test -z "$ac_cv_prog_OCAMLCDOTOPT" && ac_cv_prog_OCAMLCDOTOPT="no" -fi -fi -OCAMLCDOTOPT=$ac_cv_prog_OCAMLCDOTOPT -if test -n "$OCAMLCDOTOPT"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OCAMLCDOTOPT" >&5 -$as_echo "$OCAMLCDOTOPT" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - - if test "$OCAMLCDOTOPT" != "no"; then - TMPVERSION=`$OCAMLCDOTOPT -v | sed -n -e 's|.*version* *\(.*\)$|\1|p' ` - if test "$TMPVERSION" != "$OCAMLVERSION" ; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: versions differs from ocamlc; ocamlc.opt discarded." >&5 -$as_echo "versions differs from ocamlc; ocamlc.opt discarded." >&6; } - else - OCAMLC=$OCAMLCDOTOPT - fi - fi - - # checking for ocamlopt.opt - if test "$OCAMLOPT" != "no" ; then - # Extract the first word of "${ac_tool_prefix}ocamlopt.opt", so it can be a program name with args. -set dummy ${ac_tool_prefix}ocamlopt.opt; 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_OCAMLOPTDOTOPT+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$OCAMLOPTDOTOPT"; then - ac_cv_prog_OCAMLOPTDOTOPT="$OCAMLOPTDOTOPT" # 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_OCAMLOPTDOTOPT="${ac_tool_prefix}ocamlopt.opt" - $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 - - test -z "$ac_cv_prog_OCAMLOPTDOTOPT" && ac_cv_prog_OCAMLOPTDOTOPT="no" -fi -fi -OCAMLOPTDOTOPT=$ac_cv_prog_OCAMLOPTDOTOPT -if test -n "$OCAMLOPTDOTOPT"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OCAMLOPTDOTOPT" >&5 -$as_echo "$OCAMLOPTDOTOPT" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - - if test "$OCAMLOPTDOTOPT" != "no"; then - TMPVERSION=`$OCAMLOPTDOTOPT -v | sed -n -e 's|.*version* *\(.*\)$|\1|p' ` - if test "$TMPVERSION" != "$OCAMLVERSION" ; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: version differs from ocamlc; ocamlopt.opt discarded." >&5 -$as_echo "version differs from ocamlc; ocamlopt.opt discarded." >&6; } - else - OCAMLOPT=$OCAMLOPTDOTOPT - fi - fi - fi - - - - # checking for ocaml toplevel - # Extract the first word of "${ac_tool_prefix}ocaml", so it can be a program name with args. -set dummy ${ac_tool_prefix}ocaml; 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_OCAML+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$OCAML"; then - ac_cv_prog_OCAML="$OCAML" # 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_OCAML="${ac_tool_prefix}ocaml" - $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 - - test -z "$ac_cv_prog_OCAML" && ac_cv_prog_OCAML="no" -fi -fi -OCAML=$ac_cv_prog_OCAML -if test -n "$OCAML"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OCAML" >&5 -$as_echo "$OCAML" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - - - - - # checking for ocamldep - # Extract the first word of "${ac_tool_prefix}ocamldep", so it can be a program name with args. -set dummy ${ac_tool_prefix}ocamldep; 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_OCAMLDEP+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$OCAMLDEP"; then - ac_cv_prog_OCAMLDEP="$OCAMLDEP" # 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_OCAMLDEP="${ac_tool_prefix}ocamldep" - $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 - - test -z "$ac_cv_prog_OCAMLDEP" && ac_cv_prog_OCAMLDEP="no" -fi -fi -OCAMLDEP=$ac_cv_prog_OCAMLDEP -if test -n "$OCAMLDEP"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OCAMLDEP" >&5 -$as_echo "$OCAMLDEP" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - - if test "$OCAMLDEP" = "no"; then - as_fn_error $? "Cannot find ocamlmklib." "$LINENO" 5 - else - # Extract the first word of "${ac_tool_prefix}ocamldep.opt", so it can be a program name with args. -set dummy ${ac_tool_prefix}ocamldep.opt; 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_OCAMLDEPOPT+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$OCAMLDEPOPT"; then - ac_cv_prog_OCAMLDEPOPT="$OCAMLDEPOPT" # 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_OCAMLDEPOPT="${ac_tool_prefix}ocamldep.opt" - $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 - - test -z "$ac_cv_prog_OCAMLDEPOPT" && ac_cv_prog_OCAMLDEPOPT="no" -fi -fi -OCAMLDEPOPT=$ac_cv_prog_OCAMLDEPOPT -if test -n "$OCAMLDEPOPT"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OCAMLDEPOPT" >&5 -$as_echo "$OCAMLDEPOPT" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - - if test "$OCAMLDEPOPT" != "no"; then - OCAMLDEP=$OCAMLDEPOPT - fi - fi - - - - # checking for ocamlmktop - # Extract the first word of "${ac_tool_prefix}ocamlmktop", so it can be a program name with args. -set dummy ${ac_tool_prefix}ocamlmktop; 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_OCAMLMKTOP+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$OCAMLMKTOP"; then - ac_cv_prog_OCAMLMKTOP="$OCAMLMKTOP" # 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_OCAMLMKTOP="${ac_tool_prefix}ocamlmktop" - $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 - - test -z "$ac_cv_prog_OCAMLMKTOP" && ac_cv_prog_OCAMLMKTOP="no" -fi -fi -OCAMLMKTOP=$ac_cv_prog_OCAMLMKTOP -if test -n "$OCAMLMKTOP"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OCAMLMKTOP" >&5 -$as_echo "$OCAMLMKTOP" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - - - - - # checking for ocamlmklib - # Extract the first word of "${ac_tool_prefix}ocamlmklib", so it can be a program name with args. -set dummy ${ac_tool_prefix}ocamlmklib; 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_OCAMLMKLIB+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$OCAMLMKLIB"; then - ac_cv_prog_OCAMLMKLIB="$OCAMLMKLIB" # 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_OCAMLMKLIB="${ac_tool_prefix}ocamlmklib" - $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 - - test -z "$ac_cv_prog_OCAMLMKLIB" && ac_cv_prog_OCAMLMKLIB="no" -fi -fi -OCAMLMKLIB=$ac_cv_prog_OCAMLMKLIB -if test -n "$OCAMLMKLIB"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OCAMLMKLIB" >&5 -$as_echo "$OCAMLMKLIB" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - - if test "$OCAMLMKLIB" = "no"; then - as_fn_error $? "Cannot find ocamlmklib." "$LINENO" 5 - fi - - - - # checking for ocamldoc - if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}ocamldoc", so it can be a program name with args. -set dummy ${ac_tool_prefix}ocamldoc; 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_OCAMLDOC+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$OCAMLDOC"; then - ac_cv_prog_OCAMLDOC="$OCAMLDOC" # 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_OCAMLDOC="${ac_tool_prefix}ocamldoc" - $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 -OCAMLDOC=$ac_cv_prog_OCAMLDOC -if test -n "$OCAMLDOC"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OCAMLDOC" >&5 -$as_echo "$OCAMLDOC" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - -fi -if test -z "$ac_cv_prog_OCAMLDOC"; then - ac_ct_OCAMLDOC=$OCAMLDOC - # Extract the first word of "ocamldoc", so it can be a program name with args. -set dummy ocamldoc; 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_OCAMLDOC+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_OCAMLDOC"; then - ac_cv_prog_ac_ct_OCAMLDOC="$ac_ct_OCAMLDOC" # 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_OCAMLDOC="ocamldoc" - $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_OCAMLDOC=$ac_cv_prog_ac_ct_OCAMLDOC -if test -n "$ac_ct_OCAMLDOC"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OCAMLDOC" >&5 -$as_echo "$ac_ct_OCAMLDOC" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - if test "x$ac_ct_OCAMLDOC" = x; then - OCAMLDOC="no" - 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 - OCAMLDOC=$ac_ct_OCAMLDOC - fi -else - OCAMLDOC="$ac_cv_prog_OCAMLDOC" -fi - - if test "$OCAMLDOC" != "no"; then - if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}ocamldoc.opt", so it can be a program name with args. -set dummy ${ac_tool_prefix}ocamldoc.opt; 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_OCAMLDOCOPT+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$OCAMLDOCOPT"; then - ac_cv_prog_OCAMLDOCOPT="$OCAMLDOCOPT" # 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_OCAMLDOCOPT="${ac_tool_prefix}ocamldoc.opt" - $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 -OCAMLDOCOPT=$ac_cv_prog_OCAMLDOCOPT -if test -n "$OCAMLDOCOPT"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OCAMLDOCOPT" >&5 -$as_echo "$OCAMLDOCOPT" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - -fi -if test -z "$ac_cv_prog_OCAMLDOCOPT"; then - ac_ct_OCAMLDOCOPT=$OCAMLDOCOPT - # Extract the first word of "ocamldoc.opt", so it can be a program name with args. -set dummy ocamldoc.opt; 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_OCAMLDOCOPT+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_OCAMLDOCOPT"; then - ac_cv_prog_ac_ct_OCAMLDOCOPT="$ac_ct_OCAMLDOCOPT" # 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_OCAMLDOCOPT="ocamldoc.opt" - $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_OCAMLDOCOPT=$ac_cv_prog_ac_ct_OCAMLDOCOPT -if test -n "$ac_ct_OCAMLDOCOPT"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OCAMLDOCOPT" >&5 -$as_echo "$ac_ct_OCAMLDOCOPT" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - if test "x$ac_ct_OCAMLDOCOPT" = x; then - OCAMLDOCOPT="no" - 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 - OCAMLDOCOPT=$ac_ct_OCAMLDOCOPT - fi -else - OCAMLDOCOPT="$ac_cv_prog_OCAMLDOCOPT" -fi - - if test "$OCAMLDOCOPT" != "no"; then - OCAMLDOC=$OCAMLDOCOPT - fi - fi - - - - # checking for ocamlbuild - if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}ocamlbuild", so it can be a program name with args. -set dummy ${ac_tool_prefix}ocamlbuild; 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_OCAMLBUILD+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$OCAMLBUILD"; then - ac_cv_prog_OCAMLBUILD="$OCAMLBUILD" # 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_OCAMLBUILD="${ac_tool_prefix}ocamlbuild" - $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 -OCAMLBUILD=$ac_cv_prog_OCAMLBUILD -if test -n "$OCAMLBUILD"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OCAMLBUILD" >&5 -$as_echo "$OCAMLBUILD" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - -fi -if test -z "$ac_cv_prog_OCAMLBUILD"; then - ac_ct_OCAMLBUILD=$OCAMLBUILD - # Extract the first word of "ocamlbuild", so it can be a program name with args. -set dummy ocamlbuild; 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_OCAMLBUILD+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_OCAMLBUILD"; then - ac_cv_prog_ac_ct_OCAMLBUILD="$ac_ct_OCAMLBUILD" # 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_OCAMLBUILD="ocamlbuild" - $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_OCAMLBUILD=$ac_cv_prog_ac_ct_OCAMLBUILD -if test -n "$ac_ct_OCAMLBUILD"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OCAMLBUILD" >&5 -$as_echo "$ac_ct_OCAMLBUILD" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - if test "x$ac_ct_OCAMLBUILD" = x; then - OCAMLBUILD="no" - 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 - OCAMLBUILD=$ac_ct_OCAMLBUILD - fi -else - OCAMLBUILD="$ac_cv_prog_OCAMLBUILD" -fi - - - - - - if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}camlidl", so it can be a program name with args. -set dummy ${ac_tool_prefix}camlidl; 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_CAMLIDL+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$CAMLIDL"; then - ac_cv_prog_CAMLIDL="$CAMLIDL" # 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_CAMLIDL="${ac_tool_prefix}camlidl" - $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 -CAMLIDL=$ac_cv_prog_CAMLIDL -if test -n "$CAMLIDL"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CAMLIDL" >&5 -$as_echo "$CAMLIDL" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - -fi -if test -z "$ac_cv_prog_CAMLIDL"; then - ac_ct_CAMLIDL=$CAMLIDL - # Extract the first word of "camlidl", so it can be a program name with args. -set dummy camlidl; 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_CAMLIDL+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_CAMLIDL"; then - ac_cv_prog_ac_ct_CAMLIDL="$ac_ct_CAMLIDL" # 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_CAMLIDL="camlidl" - $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_CAMLIDL=$ac_cv_prog_ac_ct_CAMLIDL -if test -n "$ac_ct_CAMLIDL"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CAMLIDL" >&5 -$as_echo "$ac_ct_CAMLIDL" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - if test "x$ac_ct_CAMLIDL" = x; then - CAMLIDL="no" - 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 - CAMLIDL=$ac_ct_CAMLIDL - fi -else - CAMLIDL="$ac_cv_prog_CAMLIDL" -fi - - - - - # checking for ocamllex - if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}ocamllex", so it can be a program name with args. -set dummy ${ac_tool_prefix}ocamllex; 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_OCAMLLEX+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$OCAMLLEX"; then - ac_cv_prog_OCAMLLEX="$OCAMLLEX" # 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_OCAMLLEX="${ac_tool_prefix}ocamllex" - $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 -OCAMLLEX=$ac_cv_prog_OCAMLLEX -if test -n "$OCAMLLEX"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OCAMLLEX" >&5 -$as_echo "$OCAMLLEX" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - -fi -if test -z "$ac_cv_prog_OCAMLLEX"; then - ac_ct_OCAMLLEX=$OCAMLLEX - # Extract the first word of "ocamllex", so it can be a program name with args. -set dummy ocamllex; 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_OCAMLLEX+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_OCAMLLEX"; then - ac_cv_prog_ac_ct_OCAMLLEX="$ac_ct_OCAMLLEX" # 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_OCAMLLEX="ocamllex" - $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_OCAMLLEX=$ac_cv_prog_ac_ct_OCAMLLEX -if test -n "$ac_ct_OCAMLLEX"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OCAMLLEX" >&5 -$as_echo "$ac_ct_OCAMLLEX" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - if test "x$ac_ct_OCAMLLEX" = x; then - OCAMLLEX="no" - 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 - OCAMLLEX=$ac_ct_OCAMLLEX - fi -else - OCAMLLEX="$ac_cv_prog_OCAMLLEX" -fi - - if test "$OCAMLLEX" != "no"; then - if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}ocamllex.opt", so it can be a program name with args. -set dummy ${ac_tool_prefix}ocamllex.opt; 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_OCAMLLEXDOTOPT+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$OCAMLLEXDOTOPT"; then - ac_cv_prog_OCAMLLEXDOTOPT="$OCAMLLEXDOTOPT" # 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_OCAMLLEXDOTOPT="${ac_tool_prefix}ocamllex.opt" - $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 -OCAMLLEXDOTOPT=$ac_cv_prog_OCAMLLEXDOTOPT -if test -n "$OCAMLLEXDOTOPT"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OCAMLLEXDOTOPT" >&5 -$as_echo "$OCAMLLEXDOTOPT" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - -fi -if test -z "$ac_cv_prog_OCAMLLEXDOTOPT"; then - ac_ct_OCAMLLEXDOTOPT=$OCAMLLEXDOTOPT - # Extract the first word of "ocamllex.opt", so it can be a program name with args. -set dummy ocamllex.opt; 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_OCAMLLEXDOTOPT+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_OCAMLLEXDOTOPT"; then - ac_cv_prog_ac_ct_OCAMLLEXDOTOPT="$ac_ct_OCAMLLEXDOTOPT" # 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_OCAMLLEXDOTOPT="ocamllex.opt" - $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_OCAMLLEXDOTOPT=$ac_cv_prog_ac_ct_OCAMLLEXDOTOPT -if test -n "$ac_ct_OCAMLLEXDOTOPT"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OCAMLLEXDOTOPT" >&5 -$as_echo "$ac_ct_OCAMLLEXDOTOPT" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - if test "x$ac_ct_OCAMLLEXDOTOPT" = x; then - OCAMLLEXDOTOPT="no" - 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 - OCAMLLEXDOTOPT=$ac_ct_OCAMLLEXDOTOPT - fi -else - OCAMLLEXDOTOPT="$ac_cv_prog_OCAMLLEXDOTOPT" -fi - - if test "$OCAMLLEXDOTOPT" != "no"; then - OCAMLLEX=$OCAMLLEXDOTOPT - fi - fi - - - - if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}ocamlyacc", so it can be a program name with args. -set dummy ${ac_tool_prefix}ocamlyacc; 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_OCAMLYACC+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$OCAMLYACC"; then - ac_cv_prog_OCAMLYACC="$OCAMLYACC" # 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_OCAMLYACC="${ac_tool_prefix}ocamlyacc" - $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 -OCAMLYACC=$ac_cv_prog_OCAMLYACC -if test -n "$OCAMLYACC"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OCAMLYACC" >&5 -$as_echo "$OCAMLYACC" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - -fi -if test -z "$ac_cv_prog_OCAMLYACC"; then - ac_ct_OCAMLYACC=$OCAMLYACC - # Extract the first word of "ocamlyacc", so it can be a program name with args. -set dummy ocamlyacc; 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_OCAMLYACC+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_OCAMLYACC"; then - ac_cv_prog_ac_ct_OCAMLYACC="$ac_ct_OCAMLYACC" # 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_OCAMLYACC="ocamlyacc" - $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_OCAMLYACC=$ac_cv_prog_ac_ct_OCAMLYACC -if test -n "$ac_ct_OCAMLYACC"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OCAMLYACC" >&5 -$as_echo "$ac_ct_OCAMLYACC" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - if test "x$ac_ct_OCAMLYACC" = x; then - OCAMLYACC="no" - 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 - OCAMLYACC=$ac_ct_OCAMLYACC - fi -else - OCAMLYACC="$ac_cv_prog_OCAMLYACC" -fi - - - - - - - # Check whether --enable-camlp4 was given. -if test "${enable_camlp4+set}" = set; then : - enableval=$enable_camlp4; -fi - - - # checking for camlp4 - if test "x$enable_camlp4" != "xno"; then - # Extract the first word of "${ac_tool_prefix}camlp4", so it can be a program name with args. -set dummy ${ac_tool_prefix}camlp4; 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_CAMLP4+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$CAMLP4"; then - ac_cv_prog_CAMLP4="$CAMLP4" # 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_CAMLP4="${ac_tool_prefix}camlp4" - $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 - - test -z "$ac_cv_prog_CAMLP4" && ac_cv_prog_CAMLP4="no" -fi -fi -CAMLP4=$ac_cv_prog_CAMLP4 -if test -n "$CAMLP4"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CAMLP4" >&5 -$as_echo "$CAMLP4" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - - if test "$CAMLP4" != "no"; then - TMPVERSION=`$CAMLP4 -v 2>&1| sed -n -e 's|.*version *\(.*\)$|\1|p' | tr -d '\r'` - if test "$TMPVERSION" != "$OCAMLVERSION" ; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: versions differs from ocamlc" >&5 -$as_echo "versions differs from ocamlc" >&6; } - CAMLP4=no - fi - fi - - - # checking for companion tools - # Extract the first word of "${ac_tool_prefix}camlp4boot", so it can be a program name with args. -set dummy ${ac_tool_prefix}camlp4boot; 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_CAMLP4BOOT+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$CAMLP4BOOT"; then - ac_cv_prog_CAMLP4BOOT="$CAMLP4BOOT" # 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_CAMLP4BOOT="${ac_tool_prefix}camlp4boot" - $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 - - test -z "$ac_cv_prog_CAMLP4BOOT" && ac_cv_prog_CAMLP4BOOT="no" -fi -fi -CAMLP4BOOT=$ac_cv_prog_CAMLP4BOOT -if test -n "$CAMLP4BOOT"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CAMLP4BOOT" >&5 -$as_echo "$CAMLP4BOOT" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - - # Extract the first word of "${ac_tool_prefix}camlp4o", so it can be a program name with args. -set dummy ${ac_tool_prefix}camlp4o; 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_CAMLP4O+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$CAMLP4O"; then - ac_cv_prog_CAMLP4O="$CAMLP4O" # 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_CAMLP4O="${ac_tool_prefix}camlp4o" - $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 - - test -z "$ac_cv_prog_CAMLP4O" && ac_cv_prog_CAMLP4O="no" -fi -fi -CAMLP4O=$ac_cv_prog_CAMLP4O -if test -n "$CAMLP4O"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CAMLP4O" >&5 -$as_echo "$CAMLP4O" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - - # Extract the first word of "${ac_tool_prefix}camlp4of", so it can be a program name with args. -set dummy ${ac_tool_prefix}camlp4of; 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_CAMLP4OF+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$CAMLP4OF"; then - ac_cv_prog_CAMLP4OF="$CAMLP4OF" # 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_CAMLP4OF="${ac_tool_prefix}camlp4of" - $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 - - test -z "$ac_cv_prog_CAMLP4OF" && ac_cv_prog_CAMLP4OF="no" -fi -fi -CAMLP4OF=$ac_cv_prog_CAMLP4OF -if test -n "$CAMLP4OF"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CAMLP4OF" >&5 -$as_echo "$CAMLP4OF" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - - # Extract the first word of "${ac_tool_prefix}camlp4oof", so it can be a program name with args. -set dummy ${ac_tool_prefix}camlp4oof; 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_CAMLP4OOF+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$CAMLP4OOF"; then - ac_cv_prog_CAMLP4OOF="$CAMLP4OOF" # 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_CAMLP4OOF="${ac_tool_prefix}camlp4oof" - $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 - - test -z "$ac_cv_prog_CAMLP4OOF" && ac_cv_prog_CAMLP4OOF="no" -fi -fi -CAMLP4OOF=$ac_cv_prog_CAMLP4OOF -if test -n "$CAMLP4OOF"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CAMLP4OOF" >&5 -$as_echo "$CAMLP4OOF" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - - # Extract the first word of "${ac_tool_prefix}camlp4orf", so it can be a program name with args. -set dummy ${ac_tool_prefix}camlp4orf; 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_CAMLP4ORF+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$CAMLP4ORF"; then - ac_cv_prog_CAMLP4ORF="$CAMLP4ORF" # 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_CAMLP4ORF="${ac_tool_prefix}camlp4orf" - $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 - - test -z "$ac_cv_prog_CAMLP4ORF" && ac_cv_prog_CAMLP4ORF="no" -fi -fi -CAMLP4ORF=$ac_cv_prog_CAMLP4ORF -if test -n "$CAMLP4ORF"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CAMLP4ORF" >&5 -$as_echo "$CAMLP4ORF" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - - # Extract the first word of "${ac_tool_prefix}camlp4prof", so it can be a program name with args. -set dummy ${ac_tool_prefix}camlp4prof; 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_CAMLP4PROF+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$CAMLP4PROF"; then - ac_cv_prog_CAMLP4PROF="$CAMLP4PROF" # 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_CAMLP4PROF="${ac_tool_prefix}camlp4prof" - $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 - - test -z "$ac_cv_prog_CAMLP4PROF" && ac_cv_prog_CAMLP4PROF="no" -fi -fi -CAMLP4PROF=$ac_cv_prog_CAMLP4PROF -if test -n "$CAMLP4PROF"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CAMLP4PROF" >&5 -$as_echo "$CAMLP4PROF" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - - # Extract the first word of "${ac_tool_prefix}camlp4r", so it can be a program name with args. -set dummy ${ac_tool_prefix}camlp4r; 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_CAMLP4R+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$CAMLP4R"; then - ac_cv_prog_CAMLP4R="$CAMLP4R" # 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_CAMLP4R="${ac_tool_prefix}camlp4r" - $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 - - test -z "$ac_cv_prog_CAMLP4R" && ac_cv_prog_CAMLP4R="no" -fi -fi -CAMLP4R=$ac_cv_prog_CAMLP4R -if test -n "$CAMLP4R"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CAMLP4R" >&5 -$as_echo "$CAMLP4R" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - - # Extract the first word of "${ac_tool_prefix}camlp4rf", so it can be a program name with args. -set dummy ${ac_tool_prefix}camlp4rf; 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_CAMLP4RF+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$CAMLP4RF"; then - ac_cv_prog_CAMLP4RF="$CAMLP4RF" # 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_CAMLP4RF="${ac_tool_prefix}camlp4rf" - $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 - - test -z "$ac_cv_prog_CAMLP4RF" && ac_cv_prog_CAMLP4RF="no" -fi -fi -CAMLP4RF=$ac_cv_prog_CAMLP4RF -if test -n "$CAMLP4RF"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CAMLP4RF" >&5 -$as_echo "$CAMLP4RF" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - - else - CAMLP4=no - CAMLP4BOOT=no - CAMLP4O=no - CAMLP4OF=no - CAMLP4OOF=no - CAMLP4ORF=no - CAMLP4PROF=no - CAMLP4R=no - CAMLP4RF=no - fi - - - - - - - - - - - - - # checking for ocamlfind - if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}ocamlfind", so it can be a program name with args. -set dummy ${ac_tool_prefix}ocamlfind; 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_OCAMLFIND+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$OCAMLFIND"; then - ac_cv_prog_OCAMLFIND="$OCAMLFIND" # 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_OCAMLFIND="${ac_tool_prefix}ocamlfind" - $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 -OCAMLFIND=$ac_cv_prog_OCAMLFIND -if test -n "$OCAMLFIND"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OCAMLFIND" >&5 -$as_echo "$OCAMLFIND" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - -fi -if test -z "$ac_cv_prog_OCAMLFIND"; then - ac_ct_OCAMLFIND=$OCAMLFIND - # Extract the first word of "ocamlfind", so it can be a program name with args. -set dummy ocamlfind; 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_OCAMLFIND+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_OCAMLFIND"; then - ac_cv_prog_ac_ct_OCAMLFIND="$ac_ct_OCAMLFIND" # 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_OCAMLFIND="ocamlfind" - $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_OCAMLFIND=$ac_cv_prog_ac_ct_OCAMLFIND -if test -n "$ac_ct_OCAMLFIND"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OCAMLFIND" >&5 -$as_echo "$ac_ct_OCAMLFIND" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - if test "x$ac_ct_OCAMLFIND" = x; then - OCAMLFIND="no" - 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 - OCAMLFIND=$ac_ct_OCAMLFIND - fi -else - OCAMLFIND="$ac_cv_prog_OCAMLFIND" -fi - - - - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ocaml standard library path" >&5 -$as_echo_n "checking for ocaml standard library path... " >&6; } - OCAML_STDLIB=`$OCAMLFIND printconf stdlib` - - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OCAML_STDLIB" >&5 -$as_echo "$OCAML_STDLIB" >&6; } - - -# Check if caml/threads.h is present -old_CFLAGS=$CFLAGS -CFLAGS="$CFLAGS -I${OCAML_STDLIB}" -ac_fn_c_check_header_compile "$LINENO" "caml/threads.h" "ac_cv_header_caml_threads_h" "#include -" -if test "x$ac_cv_header_caml_threads_h" = xyes; then : - CAML_THREADS=yes -fi - - -CFLAGS=${old_CFLAGS} - -# Check whether --enable-debugging was given. -if test "${enable_debugging+set}" = set; then : - enableval=$enable_debugging; -fi - - -if test "$enable_debugging" \!= "no" ; then - OCAMLFLAGS="$OCAMLFLAGS -g" -fi - - -# Check whether --with-ocaml-warnings was given. -if test "${with_ocaml_warnings+set}" = set; then : - withval=$with_ocaml_warnings; -fi - - -if test -n "${with_ocaml_warnings}" ; then - OCAMLFLAGS="$OCAMLFLAGS -w +${with_ocaml_warnings}" -else - OCAMLFLAGS="$OCAMLFLAGS -w +A-4@5-7@8-9@11@12@20-35-44-45-50" -fi - -# Check whether --enable-profiling was given. -if test "${enable_profiling+set}" = set; then : - enableval=$enable_profiling; -fi - -if test "x$enable_profiling" = "xyes" ; then - OCAMLNCFLAGS="$OCAMLNCFLAGS -p" -fi - - -# Check whether --enable-nativecode was given. -if test "${enable_nativecode+set}" = set; then : - enableval=$enable_nativecode; -fi - - -# Check whether --enable-custom was given. -if test "${enable_custom+set}" = set; then : - enableval=$enable_custom; -fi - - -CAMLLIBPATH=$OCAMLLIB - - - - - - - -# Check whether --enable-pic was given. -if test "${enable_pic+set}" = set; then : - enableval=$enable_pic; enable_pic="$enableval" - test "x$enable_pic" = x && enable_pic=auto -else - enable_pic=auto -fi - -if test "$enable_pic" = auto && test "$enable_static" = yes; then - enable_pic=no -fi -if test "$enable_pic" != no; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $CC option to produce PIC" >&5 -$as_echo_n "checking for $CC option to produce PIC... " >&6; } - if test "x$PIC_FLAGS" = "x"; then - if test "x$GCC" = "xyes"; then - case "$host_os" in - aix*|beos*|cygwin*|irix5*|irix6*|osf3*|osf4*|osf5*) - ;; - mingw*|os2*|pw32*) - PIC_FLAGS="-DDLL_EXPORT" - ;; - darwin*|rhapsody*) - PIC_FLAGS="-fno-common" - ;; - hpux*) - case $host_cpu in - hppa*64*|ia64*) - ;; - *) - PIC_FLAGS="-fPIC" - ;; - esac - ;; - *) - PIC_FLAGS="-fPIC" - ;; - esac - else case "$host_os" in - hpux9*|hpux10*|hpux11*) - case "$host_cpu" in - hppa*64*|ia64*) - ;; - *) - PIC_FLAGS="+Z" - ;; - esac - ;; - linux*|k*bsd*-gnu) - case `basename "$CC"` in - icc*|ecc*|ifort*) - PIC_FLAGS="-KPIC" - ;; - pgcc*|pgf77*|pgf90*|pgf95*) - PIC_FLAGS="-fpic" - ;; - ccc*) - ;; - xl*) - PIC_FLAGS="-qpic" - ;; - *) - case `$CC -V 2>&1 | sed 5q` in - *Sun\ C*|*Sun\ F*) - PIC_FLAGS="-KPIC" - ;; - esac - esac - ;; - solaris*) - PIC_FLAGS="-KPIC" - ;; - sunos4*) - PIC_FLAGS="-PIC" - ;; - esac - fi - fi - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PIC_FLAGS" >&5 -$as_echo "$PIC_FLAGS" >&6; } -fi - - - -CXXFLAGS="$CXXFLAGS $PIC_FLAGS" -CPPFLAGS="$CPPFLAGS $PIC_FLAGS" - -# Add prefix to compilation variables -# if passed -if test "x$prefix" != "xNONE"; then - CFLAGS="$CFLAGS -I$prefix/include" - LDFLAGS="$LDFLAGS -L$prefix/lib" - CPPFLAGS="$CPPFLAGS -I$prefix/include" - CXXFLAGS="$CXXFLAGS -I$prefix/include" -fi - - -REQUIRES="str unix threads" -# -# Syslog -# - - -# Check whether --with-syslog-dir was given. -if test "${with_syslog_dir+set}" = set; then : - withval=$with_syslog_dir; -fi - -# Check whether --enable-syslog was given. -if test "${enable_syslog+set}" = set; then : - enableval=$enable_syslog; -fi - - -if test "x$enable_syslog" != "xno" ; then - - - - - -if test -n ""; then - BINDING_PKGS="" -else - BINDING_PKGS="syslog" -fi - - -# Check whether --with-syslog-dir was given. -if test "${with_syslog_dir+set}" = set; then : - withval=$with_syslog_dir; -fi - - -# Check whether --enable-syslog-dynamic-plugin was given. -if test "${enable_syslog_dynamic_plugin+set}" = set; then : - enableval=$enable_syslog_dynamic_plugin; -fi - - - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ocaml syslog module" >&5 -$as_echo_n "checking for ocaml syslog module... " >&6; } - -OCAML_CHECK="${OCAMLFIND} query syslog" - - -if test "x$enable_syslog_dynamic_plugin" = "xyes" ; then - SYSLOG_SHARED="yes" - PLUGINS="$PLUGINS syslog" -fi - - -DEPS_CHECK=yes -for i in ; do - eval "dep_check=\$W_$i" - if test -z "${dep_check}"; then - DEPS_CHECK= - break - fi -done -if test -z $DEPS_CHECK; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: syslog needs " >&5 -$as_echo "syslog needs " >&6; } -else - if test -z "${with_syslog_dir}" ; then - if ! ${OCAML_CHECK} > /dev/null 2>&1 ; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: Not found." >&5 -$as_echo "Not found." >&6; } - else - SYSLOG_version="`${OCAMLFIND} query -format "%v" syslog 2>/dev/null`" - if test -z "" ; then - VERSION_OK=yes - else - as_arg_v1=${SYSLOG_version} -as_arg_v2= -awk "$as_awk_strverscmp" v1="$as_arg_v1" v2="$as_arg_v2" /dev/null -case $? in #( - 1) : - VERSION_OK= ;; #( - 0) : - VERSION_OK=yes ;; #( - 2) : - VERSION_OK=yes ;; #( - *) : - ;; -esac -fi - if test -z "${VERSION_OK}"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: requires version >= found ${SYSLOG_version}." >&5 -$as_echo "requires version >= found ${SYSLOG_version}." >&6; } - else - if test -z "${SYSLOG_SHARED}"; then - SYSLOG_PACKAGES="`${OCAMLFIND} query -separator " " -format "-package %p" $BINDING_PKGS 2>/dev/null`" - liquidsoap_ocamlcflags="${liquidsoap_ocamlcflags} ${SYSLOG_PACKAGES}" - W_SYSLOG=yes - else - syslog_packages="`${OCAMLFIND} query -r -separator " " -format "%p" $BINDING_PKGS 2>/dev/null`" - W_SYSLOG=syslog - fi - LIBS_VERSIONS="${LIBS_VERSIONS} syslog=$SYSLOG_version" - { $as_echo "$as_me:${as_lineno-$LINENO}: result: ok" >&5 -$as_echo "ok" >&6; } - fi - fi - else - SYSLOG_STOP_CHECK= - SYSLOG_version="[unknown version]" - SYSLOG_requires= - if test -r ${with_syslog_dir}/META >/dev/null 2>&1; then - # Grab version - SYSLOG_version=`cat "${with_syslog_dir}/META" | grep version | cut -d'=' -f 2 | tr -d ' ' | tr -d '"' | head -n 1` - if test -z "" ; then - VERSION_OK=yes - else - as_arg_v1=${SYSLOG_version} -as_arg_v2= -awk "$as_awk_strverscmp" v1="$as_arg_v1" v2="$as_arg_v2" /dev/null -case $? in #( - 1) : - VERSION_OK= ;; #( - 0) : - VERSION_OK=yes ;; #( - 2) : - VERSION_OK=yes ;; #( - *) : - ;; -esac -fi - if test -z "${VERSION_OK}"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: requires version >= found ${SYSLOG_version}." >&5 -$as_echo "requires version >= found ${SYSLOG_version}." >&6; } - SYSLOG_STOP_CHECK=yes - fi - SYSLOG_requires=`cat "${with_syslog_dir}/META" | grep 'requires' | cut -d '=' -f 2 | tr -d '"'` - SYSLOG_path="${with_syslog_dir}" - else - SYSLOG_path=`${OCAMLFIND} -query syslog 2>/dev/null` - if ! test -z ""; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: cannot find version from META file." >&5 -$as_echo "cannot find version from META file." >&6; } - SYSLOG_STOP_CHECK=yes - fi - fi - if test -z "${SYSLOG_STOP_CHECK}"; then - SYSLOG_PACKAGES="`${OCAMLFIND} query -separator " " -format "-package %p" $BINGING_PKGS 2>/dev/null`" - echo ${with_syslog_dir} | grep ^/ > /dev/null 2>&1 \ - || with_syslog_dir=${PWD}/${with_syslog_dir} - if test -z "${SYSLOG_SHARED}"; then - liquidsoap_ocamlcflags="${liquidsoap_ocamlcflags} -I ${with_syslog_dir} ${SYSLOG_PACKAGES}" - else - syslog_ocamlcflags="-I ${with_syslog_dir} ${SYSLOG_PACKAGES}" - fi - # We need to recurse here because - # some package may not be registered using ocamlfind - if test -n ""; then - SYSLOG_CMA=.${cma} - else - SYSLOG_CMA=syslog.${cma} - fi - for i in ${SYSLOG_requires}; do - SYSLOG_PACKAGES="${SYSLOG_PACKAGES} `${OCAMLFIND} query -separator " " -format "-package %p" $i 2>/dev/null`" - done - if test -z "${SYSLOG_SHARED}"; then - liquidsoap_ocamllflags="${liquidsoap_ocamllflags} ${SYSLOG_PACKAGES} ${SYSLOG_CMA}" - W_SYSLOG=yes - else - syslog_ocamllflags="${SYSLOG_PACKAGES} ${SYSLOG_CMA}" - W_SYSLOG=syslog - fi - LIBS_VERSIONS="${LIBS_VERSIONS} syslog=$SYSLOG_version" - { $as_echo "$as_me:${as_lineno-$LINENO}: result: ok" >&5 -$as_echo "ok" >&6; } - fi - fi -fi - - -if test -z "${W_SYSLOG}" ; then - w_SYSLOG="no (requires syslog)" -else - if test -z "${SYSLOG_SHARED}"; then - w_SYSLOG=yes - else - PLUGINS_DATA="$PLUGINS_DATA -syslog_ocamlcflags=${syslog_ocamlcflags} -syslog_ocamllflags=${syslog_ocamllflags} -syslog_packages=${syslog_packages}" - w_SYSLOG=plugin - fi -fi -fi - -if test "$W_SYSLOG" != ""; then - SYSLOG_FILES="dtools_syslog.ml" - REQUIRES="$REQUIRES syslog" - INC="$INC `$OCAMLFIND query syslog`" -fi - -# substitutions to perform - - - - - -# Finally create the Makefile and samples -ac_config_files="$ac_config_files src/Makefile" - -ac_config_files="$ac_config_files src/META" - -ac_config_files="$ac_config_files 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 - - - -: "${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 ocaml-dtools $as_me 0.4.1, 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" - -_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 - -Report bugs to ." - -_ACEOF -cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 -ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" -ac_cs_version="\\ -ocaml-dtools config.status 0.4.1 -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' -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 -_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 - "src/Makefile") CONFIG_FILES="$CONFIG_FILES src/Makefile" ;; - "src/META") CONFIG_FILES="$CONFIG_FILES src/META" ;; - "Makefile") CONFIG_FILES="$CONFIG_FILES 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 -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 " -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 -_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 -$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 - ;; - - - - esac - - - case $ac_file$ac_mode in - "src/Makefile":F) chmod a-w src/Makefile ;; - "Makefile":F) chmod a-w Makefile ;; - - 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 - diff -Nru ocaml-dtools-0.4.1/configure.ac ocaml-dtools-0.4.2/configure.ac --- ocaml-dtools-0.4.1/configure.ac 2018-09-11 05:09:44.000000000 +0000 +++ ocaml-dtools-0.4.2/configure.ac 1970-01-01 00:00:00.000000000 +0000 @@ -1,37 +0,0 @@ -AC_INIT([ocaml-dtools],[0.4.1],[savonet-users@lists.sourceforge.net]) -VERSION=$PACKAGE_VERSION -AC_MSG_RESULT(configuring $PACKAGE_STRING) - -AC_BASE_CHECKS() - -REQUIRES="str unix threads" -# -# Syslog -# - -AC_ARG_WITH([syslog-dir], - AS_HELP_STRING([--with-syslog-dir=path],[look for ocaml-syslog library in "path" (autodetected by default)])) -AC_ARG_ENABLE([syslog], - AS_HELP_STRING([--disable-syslog],["don't use ocaml-syslog"])) - -if test "x$enable_syslog" != "xno" ; then -AC_CHECK_OCAML_BINDING([syslog]) -fi - -if test "$W_SYSLOG" != ""; then - SYSLOG_FILES="dtools_syslog.ml" - REQUIRES="$REQUIRES syslog" - INC="$INC `$OCAMLFIND query syslog`" -fi - -# substitutions to perform -AC_SUBST(REQUIRES) -AC_SUBST(SYSLOG_FILES) -AC_SUBST(INC) -AC_SUBST(VERSION) - -# Finally create the Makefile and samples -AC_CONFIG_FILES([src/Makefile],[chmod a-w src/Makefile]) -AC_CONFIG_FILES([src/META]) -AC_CONFIG_FILES([Makefile],[chmod a-w Makefile]) -AC_OUTPUT diff -Nru ocaml-dtools-0.4.1/COPYRIGHT ocaml-dtools-0.4.2/COPYRIGHT --- ocaml-dtools-0.4.1/COPYRIGHT 1970-01-01 00:00:00.000000000 +0000 +++ ocaml-dtools-0.4.2/COPYRIGHT 2020-03-28 00:34:27.000000000 +0000 @@ -0,0 +1,20 @@ + + ocaml-dtools + + OCaml daemon tools library. + + Copyright (C) 2003-2006 The Savonet Team + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA diff -Nru ocaml-dtools-0.4.1/debian/changelog ocaml-dtools-0.4.2/debian/changelog --- ocaml-dtools-0.4.1/debian/changelog 2020-02-21 07:29:15.000000000 +0000 +++ ocaml-dtools-0.4.2/debian/changelog 2020-05-25 09:50:01.000000000 +0000 @@ -1,14 +1,12 @@ -ocaml-dtools (0.4.1-1build2) focal; urgency=medium +ocaml-dtools (0.4.2-1) unstable; urgency=medium - * No-change rebuild against ocaml-nox-4.08.1 + * New upstream version 0.4.2 + * Update uploader email + * Update watch file + * Move buildsystem to dune + * Bump Standards-Version to 4.5.0 (R-R-R, debhelper-compat) - -- Steve Langasek Fri, 21 Feb 2020 07:29:15 +0000 - -ocaml-dtools (0.4.1-1build1) eoan; urgency=medium - - * Rebuild against new OCAML ABIs. - - -- Gianfranco Costamagna Tue, 10 Sep 2019 11:22:55 +0200 + -- Kyle Robbertze Mon, 25 May 2020 11:50:01 +0200 ocaml-dtools (0.4.1-1) unstable; urgency=low diff -Nru ocaml-dtools-0.4.1/debian/compat ocaml-dtools-0.4.2/debian/compat --- ocaml-dtools-0.4.1/debian/compat 2018-05-04 18:09:41.000000000 +0000 +++ ocaml-dtools-0.4.2/debian/compat 1970-01-01 00:00:00.000000000 +0000 @@ -1 +0,0 @@ -10 diff -Nru ocaml-dtools-0.4.1/debian/control ocaml-dtools-0.4.2/debian/control --- ocaml-dtools-0.4.1/debian/control 2020-02-21 07:29:15.000000000 +0000 +++ ocaml-dtools-0.4.2/debian/control 2020-05-25 09:46:42.000000000 +0000 @@ -1,21 +1,21 @@ Source: ocaml-dtools Section: ocaml Priority: optional -Maintainer: Ubuntu Developers -XSBC-Original-Maintainer: Debian OCaml Maintainers -Uploaders: Kyle Robbertze , +Maintainer: Debian OCaml Maintainers +Uploaders: Kyle Robbertze , Romain Beauxis , Samuel Mimram -Build-Depends: cdbs (>= 0.4.53), - debhelper (>= 10), - ocaml-nox, +Build-Depends: debhelper-compat (= 13), dh-ocaml (>= 0.9), + dune, + ocaml-nox, ocaml-findlib (>= 1.2.4), libsyslog-ocaml-dev -Standards-Version: 4.2.1 +Standards-Version: 4.5.0 Homepage: http://liquidsoap.fm/ Vcs-Git: https://salsa.debian.org/ocaml-team/ocaml-dtools.git Vcs-Browser: https://salsa.debian.org/ocaml-team/ocaml-dtools +Rules-Requires-Root: no Package: libdtools-ocaml-dev Architecture: any diff -Nru ocaml-dtools-0.4.1/debian/copyright ocaml-dtools-0.4.2/debian/copyright --- ocaml-dtools-0.4.1/debian/copyright 2018-09-13 09:45:39.000000000 +0000 +++ ocaml-dtools-0.4.2/debian/copyright 2020-05-25 09:44:42.000000000 +0000 @@ -6,18 +6,6 @@ Copyright: 2003-2010 The Savonet Team License: GPL-2+ -Files: m4/ocaml.m4 -Copyright: 2009 Richard W.M. Jones - 2009 Stefano Zacchiroli - 2000-2005 Olivier Andrieu - 2000-2005 Jean-Christophe Filliâtre - 2000-2005 Georges Mariano -License: GPL-2+ - -Files: m4/pkg_config.m4 -Copyright: 2005 Scott James Remnant -License: GPL-2+ - Files: debian/* Copyright: 2005-2009 Samuel Mimram 2007-2013 Romain Beauxis diff -Nru ocaml-dtools-0.4.1/debian/libdtools-ocaml-dev.doc-base ocaml-dtools-0.4.2/debian/libdtools-ocaml-dev.doc-base --- ocaml-dtools-0.4.1/debian/libdtools-ocaml-dev.doc-base 2018-05-04 18:09:41.000000000 +0000 +++ ocaml-dtools-0.4.2/debian/libdtools-ocaml-dev.doc-base 1970-01-01 00:00:00.000000000 +0000 @@ -1,9 +0,0 @@ -Document: libdtools-ocaml-dev -Title: OCaml daemon tools API documentation -Author: Stéphane Gimenez -Abstract: Documentation of the OCaml daemon tools API -Section: Programming/OCaml - -Format: HTML -Index: /usr/share/doc/libdtools-ocaml-dev/html/index.html -Files: /usr/share/doc/libdtools-ocaml-dev/html/* diff -Nru ocaml-dtools-0.4.1/debian/libdtools-ocaml-dev.docs ocaml-dtools-0.4.2/debian/libdtools-ocaml-dev.docs --- ocaml-dtools-0.4.1/debian/libdtools-ocaml-dev.docs 2018-05-04 18:09:41.000000000 +0000 +++ ocaml-dtools-0.4.2/debian/libdtools-ocaml-dev.docs 2020-05-25 09:43:09.000000000 +0000 @@ -1,2 +1,2 @@ -README -doc/html +usr/doc/dtools/README.md +usr/doc/dtools/CHANGES diff -Nru ocaml-dtools-0.4.1/debian/libdtools-ocaml-dev.install.in ocaml-dtools-0.4.2/debian/libdtools-ocaml-dev.install.in --- ocaml-dtools-0.4.1/debian/libdtools-ocaml-dev.install.in 2018-08-27 07:56:43.000000000 +0000 +++ ocaml-dtools-0.4.2/debian/libdtools-ocaml-dev.install.in 2020-05-25 09:42:15.000000000 +0000 @@ -1,2 +1 @@ -src/META src/*.cm* src/*.mli src/dtools_syslog.ml @OCamlStdlibDir@/dtools -OPT: src/*.a @OCamlStdlibDir@/dtools +@OCamlStdlibDir@/dtools/* diff -Nru ocaml-dtools-0.4.1/debian/rules ocaml-dtools-0.4.2/debian/rules --- ocaml-dtools-0.4.1/debian/rules 2018-05-04 18:09:41.000000000 +0000 +++ ocaml-dtools-0.4.2/debian/rules 2020-05-25 09:32:46.000000000 +0000 @@ -1,12 +1,22 @@ #!/usr/bin/make -f -include /usr/share/cdbs/1/rules/debhelper.mk -include /usr/share/cdbs/1/class/autotools.mk -include /usr/share/cdbs/1/rules/ocaml.mk +export DEB_BUILD_MAINT_OPTIONS = hardening=+all +DPKG_EXPORT_BUILDFLAGS = 1 +include /usr/share/dpkg/buildflags.mk +include /usr/share/ocaml/ocamlvars.mk -DESTDIR = $(CURDIR)/debian/tmp/$(OCAML_STDLIB_DIR) -DEB_MAKE_INSTALL_TARGET := install OCAMLFIND_DESTDIR=$(DESTDIR) OCAMLFIND_LDCONF=ignore +DESTDIR := $(CURDIR)/debian/tmp +export OCAMLFIND_DESTDIR=$(DESTDIR)$(OCAML_STDLIB_DIR) +export PKG_CONFIG_PATH=/usr/lib/$(DEB_BUILD_ARCH)/pkgconfig +export DEB_BUILD_MAINT_OPTIONS = hardening=+all -build/libdtools-ocaml-dev:: - mkdir -p $(DESTDIR) - make doc +%: + dh $@ --with ocaml + +override_dh_auto_build: + dune build @install --verbose + +override_dh_auto_install: + mkdir -p $(DESTDIR)/$(OCAML_STDLIB_DIR) + dune install --prefix=$(DESTDIR)/usr --libdir=$(OCAMLFIND_DESTDIR) --verbose + dh_install diff -Nru ocaml-dtools-0.4.1/debian/watch ocaml-dtools-0.4.2/debian/watch --- ocaml-dtools-0.4.1/debian/watch 2018-05-04 18:09:41.000000000 +0000 +++ ocaml-dtools-0.4.2/debian/watch 2020-05-25 09:29:32.000000000 +0000 @@ -1,3 +1,3 @@ version=4 -opts=filenamemangle=s/.+\/(\d\S+)\/// \ - https://github.com/savonet/ocaml-dtools/releases .*download/\d\S+/ocaml-dtools-(\d\S+).tar.gz +opts=filenamemangle=s/.+\/v?(\d\S+)\.tar\.gz/ocaml-dtools-$1\.tar\.gz/ \ + https://github.com/savonet/ocaml-dtools/tags .*/v?(\d\S+)\.tar\.gz diff -Nru ocaml-dtools-0.4.1/doc/html/Dtools.Conf.html ocaml-dtools-0.4.2/doc/html/Dtools.Conf.html --- ocaml-dtools-0.4.1/doc/html/Dtools.Conf.html 2018-09-11 05:09:44.000000000 +0000 +++ ocaml-dtools-0.4.2/doc/html/Dtools.Conf.html 1970-01-01 00:00:00.000000000 +0000 @@ -1,330 +0,0 @@ - - - - - - - - - - - - -Dtools.Conf - - - -

Module Dtools.Conf

- -
module Conf: sig .. end
-Configuration management module.
-
-
- -
type link = string 
-
-Type for links between keys
-
- - -
type path = link list 
-
-Type for paths between keys
-
- - -
type ut = <
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-   -comments : string list;
-   -descr : string;
-   -kind : string option;
-   -path : path -> ut;
-   -plug : link -> ut -> unit;
-   -routes : ut -> path list;
-   -subs : link list;
-   -ut : ut;
-> - - -
-Type for untyped keys (or keys with unknown type)
    -
  • kind: a string describing the type of this key
  • -
  • descr: a key description/title
  • -
  • comments: some comments on the key purposes
  • -
  • plug: a way to plug subkeys
  • -
  • subs: the list of link names to subkeys
  • -
  • path: a way to access subkeys
  • -
  • routes: a way to find paths to an other key
  • -
-
- -
type 'a t = <
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-   -alias : ?comments:string list ->
?descr:string -> (ut -> unit) -> 'a t
;
-   -comments : string list;
-   -descr : string;
-   -get : 'a;
-   -get_d : 'a option;
-   -kind : string option;
-   -on_change : ('a -> unit) -> unit;
-   -path : path -> ut;
-   -plug : link -> ut -> unit;
-   -routes : ut -> path list;
-   -set : 'a -> unit;
-   -set_d : 'a option -> unit;
-   -subs : link list;
-   -ut : ut;
-> - - -
-Type for 'a keys
    -
  • ut: cast to un untyped key
  • -
  • set_d: set the default value associated to the key
  • -
  • get_d: get the default value associated to the key
  • -
  • set: set the key value according to a user demmand
  • -
  • get: retrieve the resulting key value
  • -
-
- -
type links = (link * ut) list 
-
-A set of connections to others keys
-
- - -
exception Undefined of ut
-
-Raised on access to an undefined key (without default value)
-
- -
exception Invalid of string
-
-Raised when an invalid link has been specified
-
- -
exception Unbound of ut * string
-
-Raised when a specified link does not exist
-
- -
exception Bound of ut * string
-
-Raised when a specified link already exist
-
- -
exception Mismatch of ut
-
-Raised on access to a key with a mismatching type
-
- -
exception Cyclic of ut * ut
-
-Raised on cyclic plug
-
- -
exception Wrong_Conf of string * string
-
-Raised when bad configuration assignations are encountered
-
- -
exception File_Wrong_Conf of string * int * string
-
-Raised when bad configuration assignations are encountered - inside configuration files
-
- -
type 'a builder = ?d:'a ->
?p:(ut -> unit) ->
?l:links -> ?comments:string list -> string -> 'a t
-
-Receipt to build a 'a key
-
- - -
val unit : unit builder
-
val int : int builder
-
val float : float builder
-
val bool : bool builder
-
val string : string builder
-
val list : string list builder
-Some key builders
-
- -
val void : ?p:(ut -> unit) ->
?l:links -> ?comments:string list -> string -> ut
-A structural key builder
-
- -
val as_unit : ut -> unit t
-
val as_int : ut -> int t
-
val as_float : ut -> float t
-
val as_bool : ut -> bool t
-
val as_string : ut -> string t
-
val as_list : ut -> string list t
-Casts to specificaly typed keys. - Raises Mismatch on mismatching cast.
-
- -
val path_of_string : string -> path
-Convert a dot separated string to a path
-
- -
val string_of_path : path -> string
-Convert a path to a dot separated string
-
- -
val descr : ?prefix:path -> ut -> string
-Generate a description table of a (sub)key
-
- -
val dump : ?prefix:path -> ut -> string
-Dump the configuration table for a (sub)key
-
- -
val conf_set : ut -> string -> unit
-Add a value to the configuration keys, according to the given - correctly formated string: "type key :value" - Raises Wrong_Conf in badly formated cases.
-
- -
val conf_file : ut -> string -> unit
-Read configuration values from the file associated with the given - filename. - Raises File_Wrong_Conf with filename line and and error message - in case of a bad configuration file.
-
- -
val args : ut -> (string list * Arg.spec * string) list
-A set of command line options to be used with the Arg module.
-
- \ No newline at end of file diff -Nru ocaml-dtools-0.4.1/doc/html/Dtools.html ocaml-dtools-0.4.2/doc/html/Dtools.html --- ocaml-dtools-0.4.1/doc/html/Dtools.html 2018-09-11 05:09:44.000000000 +0000 +++ ocaml-dtools-0.4.2/doc/html/Dtools.html 1970-01-01 00:00:00.000000000 +0000 @@ -1,33 +0,0 @@ - - - - - - - - - - - -Dtools - - - -

Module Dtools

- -
module Dtools: sig .. end
-ocaml-dtools.
-Author(s): Stephane Gimenez
-
-
- -
module Conf: sig .. end
-Configuration management module. -
- -
module Init: sig .. end
-Initialisation management module. -
- -
module Log: sig .. end
\ No newline at end of file diff -Nru ocaml-dtools-0.4.1/doc/html/Dtools.Init.html ocaml-dtools-0.4.2/doc/html/Dtools.Init.html --- ocaml-dtools-0.4.1/doc/html/Dtools.Init.html 2018-09-11 05:09:44.000000000 +0000 +++ ocaml-dtools-0.4.2/doc/html/Dtools.Init.html 1970-01-01 00:00:00.000000000 +0000 @@ -1,89 +0,0 @@ - - - - - - - - - - - - - -Dtools.Init - - - -

Module Dtools.Init

- -
module Init: sig .. end
-Initialisation management module. - Allow to define procedures that must be executed at start up, and - procedures that are to be executed at exit to have a clean quit.
-
-
- -
type t 
- - -
val start : t
-Root start atom
-
- -
val stop : t
-Root stop atom
-
- -
val make : ?name:string ->
?depends:t list ->
?triggers:t list ->
?after:t list ->
?before:t list -> (unit -> unit) -> t
-Define a init atom associated with the given (unit -> unit) - procedure, which eventualy depends on others atoms (these atoms - will be executed before the one currently defined) an triggers - other atoms (these atoms will be executed after the one currently - defined). after and before allow to register the currently - defined atom in the depend and triggers lists of other atoms.
-
- -
val at_start : ?name:string ->
?depends:t list ->
?triggers:t list ->
?after:t list ->
?before:t list -> (unit -> unit) -> t
-Same as make plus a shortcut for "after Init.start".
-
- -
val at_stop : ?name:string ->
?depends:t list ->
?triggers:t list ->
?after:t list ->
?before:t list -> (unit -> unit) -> t
-Same as make plus a shortcut for "before Init.stop".
-
- -
val exec : t -> unit
-Launch the execution of a given init atom.
-
- -
exception Root_prohibited of [ `Both | `Group | `User ]
- -
val init : ?prohibit_root:bool -> (unit -> unit) -> unit
-This fuction must be used to launch the main procedure of the - program. It first execute the registered start atoms, then call - the main procedure, then execute the registered stop atoms. - Exceptions raised by the main procedure are catched, in order to - close properly even in such cases. Exceptions are raised again - after cleaning. - When invoqued with ~prohibit_root:true, it checks for root access - rights (euid, egid) and exit in this case.
-
- -
exception StartError of exn
- -
exception StopError of exn
- -
val conf : Dtools.Conf.ut
-
val conf_daemon : bool Dtools.Conf.t
-
val conf_daemon_pidfile : bool Dtools.Conf.t
-
val conf_daemon_pidfile_path : string Dtools.Conf.t
-
val conf_concurrent : bool Dtools.Conf.t
-
val conf_trace : bool Dtools.Conf.t
-
val conf_catch_exn : bool Dtools.Conf.t
-
val args : (string list * Arg.spec * string) list
-A set of command line options to be used with the Arg module.
-
- \ No newline at end of file diff -Nru ocaml-dtools-0.4.1/doc/html/Dtools.Log.html ocaml-dtools-0.4.2/doc/html/Dtools.Log.html --- ocaml-dtools-0.4.1/doc/html/Dtools.Log.html 2018-09-11 05:09:44.000000000 +0000 +++ ocaml-dtools-0.4.2/doc/html/Dtools.Log.html 1970-01-01 00:00:00.000000000 +0000 @@ -1,95 +0,0 @@ - - - - - - - - - - - - -Dtools.Log - - - -

Module Dtools.Log

- -
module Log: sig .. end

- -
type t = <
- - - - - - - - - -
-   -active : int -> bool;
-   -f : 'a. int -> ('a, unit, string, unit) Pervasives.format4 -> 'a;
-> - -
-Type for loggers.
-
- - -
type custom_log = {
- - - - - - - - - -
-   -timestamp : bool;
-   -exec : string -> unit;
-} - - - -
val add_custom_log : string -> custom_log -> unit
-Add a custom logging functions.
-
- -
val rm_custom_log : string -> unit
-Remove a custom logging functions.
-
- -
val make : Dtools.Conf.path -> t
-Make a logger labeled according to the given path.
-
- -
val start : Dtools.Init.t
-An atom that starts the logging.
-
- -
val stop : Dtools.Init.t
-An atom that stops the logging.
-
- -
val conf : Dtools.Conf.ut
-
val conf_level : int Dtools.Conf.t
-
val conf_unix_timestamps : bool Dtools.Conf.t
-
val conf_stdout : bool Dtools.Conf.t
-
val conf_file : bool Dtools.Conf.t
-
val conf_file_path : string Dtools.Conf.t
-
val conf_file_append : bool Dtools.Conf.t
-
val conf_file_perms : int Dtools.Conf.t
-
val args : (string list * Arg.spec * string) list
-A set of command line options to be used with the Arg module.
-
- \ No newline at end of file diff -Nru ocaml-dtools-0.4.1/doc/html/index_attributes.html ocaml-dtools-0.4.2/doc/html/index_attributes.html --- ocaml-dtools-0.4.1/doc/html/index_attributes.html 2018-09-11 05:09:44.000000000 +0000 +++ ocaml-dtools-0.4.2/doc/html/index_attributes.html 1970-01-01 00:00:00.000000000 +0000 @@ -1,19 +0,0 @@ - - - - - - - - - -Index of class attributes - - - -

Index of class attributes

- -
- - \ No newline at end of file diff -Nru ocaml-dtools-0.4.1/doc/html/index_classes.html ocaml-dtools-0.4.2/doc/html/index_classes.html --- ocaml-dtools-0.4.1/doc/html/index_classes.html 2018-09-11 05:09:44.000000000 +0000 +++ ocaml-dtools-0.4.2/doc/html/index_classes.html 1970-01-01 00:00:00.000000000 +0000 @@ -1,19 +0,0 @@ - - - - - - - - - -Index of classes - - - -

Index of classes

- -
- - \ No newline at end of file diff -Nru ocaml-dtools-0.4.1/doc/html/index_class_types.html ocaml-dtools-0.4.2/doc/html/index_class_types.html --- ocaml-dtools-0.4.1/doc/html/index_class_types.html 2018-09-11 05:09:44.000000000 +0000 +++ ocaml-dtools-0.4.2/doc/html/index_class_types.html 1970-01-01 00:00:00.000000000 +0000 @@ -1,19 +0,0 @@ - - - - - - - - - -Index of class types - - - -

Index of class types

- -
- - \ No newline at end of file diff -Nru ocaml-dtools-0.4.1/doc/html/index_exceptions.html ocaml-dtools-0.4.2/doc/html/index_exceptions.html --- ocaml-dtools-0.4.1/doc/html/index_exceptions.html 2018-09-11 05:09:44.000000000 +0000 +++ ocaml-dtools-0.4.2/doc/html/index_exceptions.html 1970-01-01 00:00:00.000000000 +0000 @@ -1,75 +0,0 @@ - - - - - - - - - -Index of exceptions - - - -

Index of exceptions

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

B
Bound [Dtools.Conf]
-Raised when a specified link already exist -
-

C
Cyclic [Dtools.Conf]
-Raised on cyclic plug -
-

F
File_Wrong_Conf [Dtools.Conf]
-Raised when bad configuration assignations are encountered - inside configuration files -
-

I
Invalid [Dtools.Conf]
-Raised when an invalid link has been specified -
-

M
Mismatch [Dtools.Conf]
-Raised on access to a key with a mismatching type -
-

R
Root_prohibited [Dtools.Init]

S
StartError [Dtools.Init]
StopError [Dtools.Init]

U
Unbound [Dtools.Conf]
-Raised when a specified link does not exist -
-
Undefined [Dtools.Conf]
-Raised on access to an undefined key (without default value) -
-

W
Wrong_Conf [Dtools.Conf]
-Raised when bad configuration assignations are encountered -
-
- - \ No newline at end of file diff -Nru ocaml-dtools-0.4.1/doc/html/index_extensions.html ocaml-dtools-0.4.2/doc/html/index_extensions.html --- ocaml-dtools-0.4.1/doc/html/index_extensions.html 2018-09-11 05:09:44.000000000 +0000 +++ ocaml-dtools-0.4.2/doc/html/index_extensions.html 1970-01-01 00:00:00.000000000 +0000 @@ -1,19 +0,0 @@ - - - - - - - - - -Index of extensions - - - -

Index of extensions

- -
- - \ No newline at end of file diff -Nru ocaml-dtools-0.4.1/doc/html/index.html ocaml-dtools-0.4.2/doc/html/index.html --- ocaml-dtools-0.4.1/doc/html/index.html 2018-09-11 05:09:44.000000000 +0000 +++ ocaml-dtools-0.4.2/doc/html/index.html 1970-01-01 00:00:00.000000000 +0000 @@ -1,29 +0,0 @@ - - - - - - - - - - - - - -

- -

- - -
Dtools
-ocaml-dtools. -
-
- - \ No newline at end of file diff -Nru ocaml-dtools-0.4.1/doc/html/index_methods.html ocaml-dtools-0.4.2/doc/html/index_methods.html --- ocaml-dtools-0.4.1/doc/html/index_methods.html 2018-09-11 05:09:44.000000000 +0000 +++ ocaml-dtools-0.4.2/doc/html/index_methods.html 1970-01-01 00:00:00.000000000 +0000 @@ -1,19 +0,0 @@ - - - - - - - - - -Index of class methods - - - -

Index of class methods

- -
- - \ No newline at end of file diff -Nru ocaml-dtools-0.4.1/doc/html/index_modules.html ocaml-dtools-0.4.2/doc/html/index_modules.html --- ocaml-dtools-0.4.1/doc/html/index_modules.html 2018-09-11 05:09:44.000000000 +0000 +++ ocaml-dtools-0.4.2/doc/html/index_modules.html 1970-01-01 00:00:00.000000000 +0000 @@ -1,40 +0,0 @@ - - - - - - - - - -Index of modules - - - -

Index of modules

- - - - - - - - - - - - - -

C
Conf [Dtools]
-Configuration management module. -
-

D
Dtools
-ocaml-dtools. -
-

I
Init [Dtools]
-Initialisation management module. -
-

L
Log [Dtools]
- - \ No newline at end of file diff -Nru ocaml-dtools-0.4.1/doc/html/index_module_types.html ocaml-dtools-0.4.2/doc/html/index_module_types.html --- ocaml-dtools-0.4.1/doc/html/index_module_types.html 2018-09-11 05:09:44.000000000 +0000 +++ ocaml-dtools-0.4.2/doc/html/index_module_types.html 1970-01-01 00:00:00.000000000 +0000 @@ -1,19 +0,0 @@ - - - - - - - - - -Index of module types - - - -

Index of module types

- -
- - \ No newline at end of file diff -Nru ocaml-dtools-0.4.1/doc/html/index_types.html ocaml-dtools-0.4.2/doc/html/index_types.html --- ocaml-dtools-0.4.1/doc/html/index_types.html 2018-09-11 05:09:44.000000000 +0000 +++ ocaml-dtools-0.4.2/doc/html/index_types.html 1970-01-01 00:00:00.000000000 +0000 @@ -1,58 +0,0 @@ - - - - - - - - - -Index of types - - - -

Index of types

- - - - - - - - - - - - - - - - - - - - - - - - - -

B
builder [Dtools.Conf]
-Receipt to build a 'a key -
-

C
custom_log [Dtools.Log]

L
link [Dtools.Conf]
-Type for links between keys -
-
links [Dtools.Conf]
-A set of connections to others keys -
-

P
path [Dtools.Conf]
-Type for paths between keys -
-

T
t [Dtools.Log]
-Type for loggers. -
-
t [Dtools.Init]
t [Dtools.Conf]

U
ut [Dtools.Conf]
- - \ No newline at end of file diff -Nru ocaml-dtools-0.4.1/doc/html/index_values.html ocaml-dtools-0.4.2/doc/html/index_values.html --- ocaml-dtools-0.4.1/doc/html/index_values.html 2018-09-11 05:09:44.000000000 +0000 +++ ocaml-dtools-0.4.2/doc/html/index_values.html 1970-01-01 00:00:00.000000000 +0000 @@ -1,211 +0,0 @@ - - - - - - - - - -Index of values - - - -

Index of values

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

A
add_custom_log [Dtools.Log]
-Add a custom logging functions. -
-
args [Dtools.Log]
-A set of command line options to be used with the Arg module. -
-
args [Dtools.Init]
-A set of command line options to be used with the Arg module. -
-
args [Dtools.Conf]
-A set of command line options to be used with the Arg module. -
-
as_bool [Dtools.Conf]
as_float [Dtools.Conf]
as_int [Dtools.Conf]
as_list [Dtools.Conf]
-Casts to specificaly typed keys. -
-
as_string [Dtools.Conf]
as_unit [Dtools.Conf]
at_start [Dtools.Init]
-Same as make plus a shortcut for "after Init.start". -
-
at_stop [Dtools.Init]
-Same as make plus a shortcut for "before Init.stop". -
-

B
bool [Dtools.Conf]

C
conf [Dtools.Log]
conf [Dtools.Init]
conf_catch_exn [Dtools.Init]
conf_concurrent [Dtools.Init]
conf_daemon [Dtools.Init]
conf_daemon_pidfile [Dtools.Init]
conf_daemon_pidfile_path [Dtools.Init]
conf_file [Dtools.Log]
conf_file [Dtools.Conf]
-Read configuration values from the file associated with the given - filename. -
-
conf_file_append [Dtools.Log]
conf_file_path [Dtools.Log]
conf_file_perms [Dtools.Log]
conf_level [Dtools.Log]
conf_set [Dtools.Conf]
-Add a value to the configuration keys, according to the given - correctly formated string: "type key :value" - Raises Wrong_Conf in badly formated cases. -
-
conf_stdout [Dtools.Log]
conf_trace [Dtools.Init]
conf_unix_timestamps [Dtools.Log]

D
descr [Dtools.Conf]
-Generate a description table of a (sub)key -
-
dump [Dtools.Conf]
-Dump the configuration table for a (sub)key -
-

E
exec [Dtools.Init]
-Launch the execution of a given init atom. -
-

F
float [Dtools.Conf]

I
init [Dtools.Init]
-This fuction must be used to launch the main procedure of the - program. -
-
int [Dtools.Conf]

L
list [Dtools.Conf]
-Some key builders -
-

M
make [Dtools.Log]
-Make a logger labeled according to the given path. -
-
make [Dtools.Init]
-Define a init atom associated with the given (unit -> unit) - procedure, which eventualy depends on others atoms (these atoms - will be executed before the one currently defined) an triggers - other atoms (these atoms will be executed after the one currently - defined). -
-

P
path_of_string [Dtools.Conf]
-Convert a dot separated string to a path -
-

R
rm_custom_log [Dtools.Log]
-Remove a custom logging functions. -
-

S
start [Dtools.Log]
-An atom that starts the logging. -
-
start [Dtools.Init]
-Root start atom -
-
stop [Dtools.Log]
-An atom that stops the logging. -
-
stop [Dtools.Init]
-Root stop atom -
-
string [Dtools.Conf]
string_of_path [Dtools.Conf]
-Convert a path to a dot separated string -
-

U
unit [Dtools.Conf]

V
void [Dtools.Conf]
-A structural key builder -
-
- - \ No newline at end of file diff -Nru ocaml-dtools-0.4.1/doc/html/style.css ocaml-dtools-0.4.2/doc/html/style.css --- ocaml-dtools-0.4.1/doc/html/style.css 2018-09-11 05:09:44.000000000 +0000 +++ ocaml-dtools-0.4.2/doc/html/style.css 1970-01-01 00:00:00.000000000 +0000 @@ -1,41 +0,0 @@ -.keyword { font-weight : bold ; color : Red } -.keywordsign { color : #C04600 } -.superscript { font-size : 4 } -.subscript { font-size : 4 } -.comment { color : Green } -.constructor { color : Blue } -.type { color : #5C6585 } -.string { color : Maroon } -.warning { color : Red ; font-weight : bold } -.info { margin-left : 3em; margin-right: 3em } -.param_info { margin-top: 4px; margin-left : 3em; margin-right : 3em } -.code { color : #465F91 ; } -.typetable { border-style : hidden } -.paramstable { border-style : hidden ; padding: 5pt 5pt} -tr { background-color : White } -td.typefieldcomment { background-color : #FFFFFF ; font-size: smaller ;} -div.sig_block {margin-left: 2em} -*:target { background: yellow; } -body {font: 13px sans-serif; color: black; text-align: left; padding: 5px; margin: 0} -h1 { font-size : 20pt ; text-align: center; } -h2 { font-size : 20pt ; border: 1px solid #000000; margin-top: 5px; margin-bottom: 2px;text-align: center; background-color: #90BDFF ;padding: 2px; } -h3 { font-size : 20pt ; border: 1px solid #000000; margin-top: 5px; margin-bottom: 2px;text-align: center; background-color: #90DDFF ;padding: 2px; } -h4 { font-size : 20pt ; border: 1px solid #000000; margin-top: 5px; margin-bottom: 2px;text-align: center; background-color: #90EDFF ;padding: 2px; } -h5 { font-size : 20pt ; border: 1px solid #000000; margin-top: 5px; margin-bottom: 2px;text-align: center; background-color: #90FDFF ;padding: 2px; } -h6 { font-size : 20pt ; border: 1px solid #000000; margin-top: 5px; margin-bottom: 2px;text-align: center; background-color: #90BDFF ; padding: 2px; } -div.h7 { font-size : 20pt ; border: 1px solid #000000; margin-top: 5px; margin-bottom: 2px;text-align: center; background-color: #E0FFFF ; padding: 2px; } -div.h8 { font-size : 20pt ; border: 1px solid #000000; margin-top: 5px; margin-bottom: 2px;text-align: center; background-color: #F0FFFF ; padding: 2px; } -div.h9 { font-size : 20pt ; border: 1px solid #000000; margin-top: 5px; margin-bottom: 2px;text-align: center; background-color: #FFFFFF ; padding: 2px; } -a {color: #416DFF; text-decoration: none} -a:hover {background-color: #ddd; text-decoration: underline} -pre { margin-bottom: 4px; font-family: monospace; } -pre.verbatim, pre.codepre { } -.indextable {border: 1px #ddd solid; border-collapse: collapse} -.indextable td, .indextable th {border: 1px #ddd solid; min-width: 80px} -.indextable td.module {background-color: #eee ; padding-left: 2px; padding-right: 2px} -.indextable td.module a {color: 4E6272; text-decoration: none; display: block; width: 100%} -.indextable td.module a:hover {text-decoration: underline; background-color: transparent} -.deprecated {color: #888; font-style: italic} -.indextable tr td div.info { margin-left: 2px; margin-right: 2px } -ul.indexlist { margin-left: 0; padding-left: 0;} -ul.indexlist li { list-style-type: none ; margin-left: 0; padding-left: 0; } \ No newline at end of file diff -Nru ocaml-dtools-0.4.1/doc/html/type_Dtools.Conf.html ocaml-dtools-0.4.2/doc/html/type_Dtools.Conf.html --- ocaml-dtools-0.4.1/doc/html/type_Dtools.Conf.html 2018-09-11 05:09:44.000000000 +0000 +++ ocaml-dtools-0.4.2/doc/html/type_Dtools.Conf.html 1970-01-01 00:00:00.000000000 +0000 @@ -1,67 +0,0 @@ - - - - - - - - -Dtools.Conf - - -sig
-  type link = string
-  type path = Dtools.Conf.link list
-  type ut =
-      < comments : string list; descr : string; kind : string option;
-        path : Dtools.Conf.path -> Dtools.Conf.ut;
-        plug : Dtools.Conf.link -> Dtools.Conf.ut -> unit;
-        routes : Dtools.Conf.ut -> Dtools.Conf.path list;
-        subs : Dtools.Conf.link list; ut : Dtools.Conf.ut >
-  type 'a t =
-      < alias : ?comments:string list ->
-                ?descr:string -> (Dtools.Conf.ut -> unit) -> 'Dtools.Conf.t;
-        comments : string list; descr : string; get : 'a; get_d : 'a option;
-        kind : string option; on_change : ('-> unit) -> unit;
-        path : Dtools.Conf.path -> Dtools.Conf.ut;
-        plug : Dtools.Conf.link -> Dtools.Conf.ut -> unit;
-        routes : Dtools.Conf.ut -> Dtools.Conf.path list; set : '-> unit;
-        set_d : 'a option -> unit; subs : Dtools.Conf.link list;
-        ut : Dtools.Conf.ut >
-  type links = (Dtools.Conf.link * Dtools.Conf.ut) list
-  exception Undefined of Dtools.Conf.ut
-  exception Invalid of string
-  exception Unbound of Dtools.Conf.ut * string
-  exception Bound of Dtools.Conf.ut * string
-  exception Mismatch of Dtools.Conf.ut
-  exception Cyclic of Dtools.Conf.ut * Dtools.Conf.ut
-  exception Wrong_Conf of string * string
-  exception File_Wrong_Conf of string * int * string
-  type 'a builder =
-      ?d:'->
-      ?p:(Dtools.Conf.ut -> unit) ->
-      ?l:Dtools.Conf.links ->
-      ?comments:string list -> string -> 'Dtools.Conf.t
-  val unit : unit Dtools.Conf.builder
-  val int : int Dtools.Conf.builder
-  val float : float Dtools.Conf.builder
-  val bool : bool Dtools.Conf.builder
-  val string : string Dtools.Conf.builder
-  val list : string list Dtools.Conf.builder
-  val void :
-    ?p:(Dtools.Conf.ut -> unit) ->
-    ?l:Dtools.Conf.links -> ?comments:string list -> string -> Dtools.Conf.ut
-  val as_unit : Dtools.Conf.ut -> unit Dtools.Conf.t
-  val as_int : Dtools.Conf.ut -> int Dtools.Conf.t
-  val as_float : Dtools.Conf.ut -> float Dtools.Conf.t
-  val as_bool : Dtools.Conf.ut -> bool Dtools.Conf.t
-  val as_string : Dtools.Conf.ut -> string Dtools.Conf.t
-  val as_list : Dtools.Conf.ut -> string list Dtools.Conf.t
-  val path_of_string : string -> Dtools.Conf.path
-  val string_of_path : Dtools.Conf.path -> string
-  val descr : ?prefix:Dtools.Conf.path -> Dtools.Conf.ut -> string
-  val dump : ?prefix:Dtools.Conf.path -> Dtools.Conf.ut -> string
-  val conf_set : Dtools.Conf.ut -> string -> unit
-  val conf_file : Dtools.Conf.ut -> string -> unit
-  val args : Dtools.Conf.ut -> (string list * Arg.spec * string) list
-end
\ No newline at end of file diff -Nru ocaml-dtools-0.4.1/doc/html/type_Dtools.html ocaml-dtools-0.4.2/doc/html/type_Dtools.html --- ocaml-dtools-0.4.1/doc/html/type_Dtools.html 2018-09-11 05:09:44.000000000 +0000 +++ ocaml-dtools-0.4.2/doc/html/type_Dtools.html 1970-01-01 00:00:00.000000000 +0000 @@ -1,131 +0,0 @@ - - - - - - - - -Dtools - - -sig
-  module Conf :
-    sig
-      type link = string
-      type path = Dtools.Conf.link list
-      type ut =
-          < comments : string list; descr : string; kind : string option;
-            path : Dtools.Conf.path -> Dtools.Conf.ut;
-            plug : Dtools.Conf.link -> Dtools.Conf.ut -> unit;
-            routes : Dtools.Conf.ut -> Dtools.Conf.path list;
-            subs : Dtools.Conf.link list; ut : Dtools.Conf.ut >
-      type 'a t =
-          < alias : ?comments:string list ->
-                    ?descr:string ->
-                    (Dtools.Conf.ut -> unit) -> 'Dtools.Conf.t;
-            comments : string list; descr : string; get : 'a;
-            get_d : 'a option; kind : string option;
-            on_change : ('-> unit) -> unit;
-            path : Dtools.Conf.path -> Dtools.Conf.ut;
-            plug : Dtools.Conf.link -> Dtools.Conf.ut -> unit;
-            routes : Dtools.Conf.ut -> Dtools.Conf.path list;
-            set : '-> unit; set_d : 'a option -> unit;
-            subs : Dtools.Conf.link list; ut : Dtools.Conf.ut >
-      type links = (Dtools.Conf.link * Dtools.Conf.ut) list
-      exception Undefined of Dtools.Conf.ut
-      exception Invalid of string
-      exception Unbound of Dtools.Conf.ut * string
-      exception Bound of Dtools.Conf.ut * string
-      exception Mismatch of Dtools.Conf.ut
-      exception Cyclic of Dtools.Conf.ut * Dtools.Conf.ut
-      exception Wrong_Conf of string * string
-      exception File_Wrong_Conf of string * int * string
-      type 'a builder =
-          ?d:'->
-          ?p:(Dtools.Conf.ut -> unit) ->
-          ?l:Dtools.Conf.links ->
-          ?comments:string list -> string -> 'Dtools.Conf.t
-      val unit : unit Dtools.Conf.builder
-      val int : int Dtools.Conf.builder
-      val float : float Dtools.Conf.builder
-      val bool : bool Dtools.Conf.builder
-      val string : string Dtools.Conf.builder
-      val list : string list Dtools.Conf.builder
-      val void :
-        ?p:(Dtools.Conf.ut -> unit) ->
-        ?l:Dtools.Conf.links ->
-        ?comments:string list -> string -> Dtools.Conf.ut
-      val as_unit : Dtools.Conf.ut -> unit Dtools.Conf.t
-      val as_int : Dtools.Conf.ut -> int Dtools.Conf.t
-      val as_float : Dtools.Conf.ut -> float Dtools.Conf.t
-      val as_bool : Dtools.Conf.ut -> bool Dtools.Conf.t
-      val as_string : Dtools.Conf.ut -> string Dtools.Conf.t
-      val as_list : Dtools.Conf.ut -> string list Dtools.Conf.t
-      val path_of_string : string -> Dtools.Conf.path
-      val string_of_path : Dtools.Conf.path -> string
-      val descr : ?prefix:Dtools.Conf.path -> Dtools.Conf.ut -> string
-      val dump : ?prefix:Dtools.Conf.path -> Dtools.Conf.ut -> string
-      val conf_set : Dtools.Conf.ut -> string -> unit
-      val conf_file : Dtools.Conf.ut -> string -> unit
-      val args : Dtools.Conf.ut -> (string list * Arg.spec * string) list
-    end
-  module Init :
-    sig
-      type t
-      val start : Dtools.Init.t
-      val stop : Dtools.Init.t
-      val make :
-        ?name:string ->
-        ?depends:Dtools.Init.t list ->
-        ?triggers:Dtools.Init.t list ->
-        ?after:Dtools.Init.t list ->
-        ?before:Dtools.Init.t list -> (unit -> unit) -> Dtools.Init.t
-      val at_start :
-        ?name:string ->
-        ?depends:Dtools.Init.t list ->
-        ?triggers:Dtools.Init.t list ->
-        ?after:Dtools.Init.t list ->
-        ?before:Dtools.Init.t list -> (unit -> unit) -> Dtools.Init.t
-      val at_stop :
-        ?name:string ->
-        ?depends:Dtools.Init.t list ->
-        ?triggers:Dtools.Init.t list ->
-        ?after:Dtools.Init.t list ->
-        ?before:Dtools.Init.t list -> (unit -> unit) -> Dtools.Init.t
-      val exec : Dtools.Init.t -> unit
-      exception Root_prohibited of [ `Both | `Group | `User ]
-      val init : ?prohibit_root:bool -> (unit -> unit) -> unit
-      exception StartError of exn
-      exception StopError of exn
-      val conf : Dtools.Conf.ut
-      val conf_daemon : bool Dtools.Conf.t
-      val conf_daemon_pidfile : bool Dtools.Conf.t
-      val conf_daemon_pidfile_path : string Dtools.Conf.t
-      val conf_concurrent : bool Dtools.Conf.t
-      val conf_trace : bool Dtools.Conf.t
-      val conf_catch_exn : bool Dtools.Conf.t
-      val args : (string list * Arg.spec * string) list
-    end
-  module Log :
-    sig
-      type t =
-          < active : int -> bool;
-            f : 'a. int -> ('a, unit, string, unit) Pervasives.format4 -> 'a >
-      type custom_log = { timestamp : bool; exec : string -> unit; }
-      val add_custom_log : string -> Dtools.Log.custom_log -> unit
-      val rm_custom_log : string -> unit
-      val make : Dtools.Conf.path -> Dtools.Log.t
-      val start : Dtools.Init.t
-      val stop : Dtools.Init.t
-      val conf : Dtools.Conf.ut
-      val conf_level : int Dtools.Conf.t
-      val conf_unix_timestamps : bool Dtools.Conf.t
-      val conf_stdout : bool Dtools.Conf.t
-      val conf_file : bool Dtools.Conf.t
-      val conf_file_path : string Dtools.Conf.t
-      val conf_file_append : bool Dtools.Conf.t
-      val conf_file_perms : int Dtools.Conf.t
-      val args : (string list * Arg.spec * string) list
-    end
-end
\ No newline at end of file diff -Nru ocaml-dtools-0.4.1/doc/html/type_Dtools.Init.html ocaml-dtools-0.4.2/doc/html/type_Dtools.Init.html --- ocaml-dtools-0.4.1/doc/html/type_Dtools.Init.html 2018-09-11 05:09:44.000000000 +0000 +++ ocaml-dtools-0.4.2/doc/html/type_Dtools.Init.html 1970-01-01 00:00:00.000000000 +0000 @@ -1,47 +0,0 @@ - - - - - - - - -Dtools.Init - - -sig
-  type t
-  val start : Dtools.Init.t
-  val stop : Dtools.Init.t
-  val make :
-    ?name:string ->
-    ?depends:Dtools.Init.t list ->
-    ?triggers:Dtools.Init.t list ->
-    ?after:Dtools.Init.t list ->
-    ?before:Dtools.Init.t list -> (unit -> unit) -> Dtools.Init.t
-  val at_start :
-    ?name:string ->
-    ?depends:Dtools.Init.t list ->
-    ?triggers:Dtools.Init.t list ->
-    ?after:Dtools.Init.t list ->
-    ?before:Dtools.Init.t list -> (unit -> unit) -> Dtools.Init.t
-  val at_stop :
-    ?name:string ->
-    ?depends:Dtools.Init.t list ->
-    ?triggers:Dtools.Init.t list ->
-    ?after:Dtools.Init.t list ->
-    ?before:Dtools.Init.t list -> (unit -> unit) -> Dtools.Init.t
-  val exec : Dtools.Init.t -> unit
-  exception Root_prohibited of [ `Both | `Group | `User ]
-  val init : ?prohibit_root:bool -> (unit -> unit) -> unit
-  exception StartError of exn
-  exception StopError of exn
-  val conf : Dtools.Conf.ut
-  val conf_daemon : bool Dtools.Conf.t
-  val conf_daemon_pidfile : bool Dtools.Conf.t
-  val conf_daemon_pidfile_path : string Dtools.Conf.t
-  val conf_concurrent : bool Dtools.Conf.t
-  val conf_trace : bool Dtools.Conf.t
-  val conf_catch_exn : bool Dtools.Conf.t
-  val args : (string list * Arg.spec * string) list
-end
\ No newline at end of file diff -Nru ocaml-dtools-0.4.1/doc/html/type_Dtools.Log.html ocaml-dtools-0.4.2/doc/html/type_Dtools.Log.html --- ocaml-dtools-0.4.1/doc/html/type_Dtools.Log.html 2018-09-11 05:09:44.000000000 +0000 +++ ocaml-dtools-0.4.2/doc/html/type_Dtools.Log.html 1970-01-01 00:00:00.000000000 +0000 @@ -1,31 +0,0 @@ - - - - - - - - -Dtools.Log - - -sig
-  type t =
-      < active : int -> bool;
-        f : 'a. int -> ('a, unit, string, unit) Pervasives.format4 -> 'a >
-  type custom_log = { timestamp : bool; exec : string -> unit; }
-  val add_custom_log : string -> Dtools.Log.custom_log -> unit
-  val rm_custom_log : string -> unit
-  val make : Dtools.Conf.path -> Dtools.Log.t
-  val start : Dtools.Init.t
-  val stop : Dtools.Init.t
-  val conf : Dtools.Conf.ut
-  val conf_level : int Dtools.Conf.t
-  val conf_unix_timestamps : bool Dtools.Conf.t
-  val conf_stdout : bool Dtools.Conf.t
-  val conf_file : bool Dtools.Conf.t
-  val conf_file_path : string Dtools.Conf.t
-  val conf_file_append : bool Dtools.Conf.t
-  val conf_file_perms : int Dtools.Conf.t
-  val args : (string list * Arg.spec * string) list
-end
\ No newline at end of file diff -Nru ocaml-dtools-0.4.1/dtools.opam ocaml-dtools-0.4.2/dtools.opam --- ocaml-dtools-0.4.1/dtools.opam 1970-01-01 00:00:00.000000000 +0000 +++ ocaml-dtools-0.4.2/dtools.opam 2020-03-28 00:34:27.000000000 +0000 @@ -0,0 +1,29 @@ +# This file is generated by dune, edit dune-project instead +opam-version: "2.0" +version: "0.4.2" +synopsis: "BLibrary providing various helper functions to make daemons" +maintainer: ["Romain Beauxis "] +authors: ["The Savonet Team "] +license: "GPL" +homepage: "https://github.com/savonet/ocaml-dtools" +bug-reports: "https://github.com/savonet/ocaml-dtools/issues" +depends: [ + "ocaml" {>= "4.05.0"} + "dune" {>= "2.0"} +] +depopts: ["syslog"] +build: [ + ["dune" "subst"] {pinned} + [ + "dune" + "build" + "-p" + name + "-j" + jobs + "@install" + "@runtest" {with-test} + "@doc" {with-doc} + ] +] +dev-repo: "git+https://github.com/savonet/ocaml-dtools.git" diff -Nru ocaml-dtools-0.4.1/dune-project ocaml-dtools-0.4.2/dune-project --- ocaml-dtools-0.4.1/dune-project 1970-01-01 00:00:00.000000000 +0000 +++ ocaml-dtools-0.4.2/dune-project 2020-03-28 00:34:27.000000000 +0000 @@ -0,0 +1,18 @@ +(lang dune 2.0) + +(name dtools) +(version 0.4.2) +(source (github savonet/ocaml-dtools)) +(license GPL) +(authors "The Savonet Team ") +(maintainers "Romain Beauxis ") + +(generate_opam_files true) + +(package + (name dtools) + (synopsis "Library providing various helper functions to make daemons") + (depends + (ocaml (>= 4.05.0)) + (dune (>= 2.0))) + (depopts syslog)) diff -Nru ocaml-dtools-0.4.1/.github/workflows/ci.yml ocaml-dtools-0.4.2/.github/workflows/ci.yml --- ocaml-dtools-0.4.1/.github/workflows/ci.yml 1970-01-01 00:00:00.000000000 +0000 +++ ocaml-dtools-0.4.2/.github/workflows/ci.yml 2020-03-28 00:34:27.000000000 +0000 @@ -0,0 +1,19 @@ +name: CI + +on: [push] + +jobs: + build: + runs-on: ${{ matrix.os }} + strategy: + matrix: + os: [ubuntu-latest, macos-latest, windows-latest] + steps: + - uses: actions/checkout@v1 + - name: Setup OCaml + uses: avsm/setup-ocaml@v1.0 + - name: Install syslog + run: opam install -y syslog + if: matrix.os != 'windows-latest' + - name: Install locally + run: opam install -y . diff -Nru ocaml-dtools-0.4.1/.gitignore ocaml-dtools-0.4.2/.gitignore --- ocaml-dtools-0.4.1/.gitignore 1970-01-01 00:00:00.000000000 +0000 +++ ocaml-dtools-0.4.2/.gitignore 2020-03-28 00:34:27.000000000 +0000 @@ -0,0 +1,5 @@ +_build/ +*.install +.*sw* +.merlin +*~ \ No newline at end of file diff -Nru ocaml-dtools-0.4.1/install-sh ocaml-dtools-0.4.2/install-sh --- ocaml-dtools-0.4.1/install-sh 2018-09-11 05:09:44.000000000 +0000 +++ ocaml-dtools-0.4.2/install-sh 1970-01-01 00:00:00.000000000 +0000 @@ -1,518 +0,0 @@ -#!/bin/sh -# install - install a program, script, or datafile - -scriptversion=2018-03-11.20; # 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. - 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 - dstbase=`basename "$src"` - case $dst in - */) dst=$dst$dstbase;; - *) dst=$dst/$dstbase;; - esac - dstdir_status=0 - else - dstdir=`dirname "$dst"` - test -d "$dstdir" - dstdir_status=$? - fi - fi - - case $dstdir in - */) dstdirslash=$dstdir;; - *) dstdirslash=$dstdir/;; - esac - - 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. - ;; - *) - # Note that $RANDOM variable is not portable (e.g. dash); Use it - # here however when possible just to lower collision chance. - tmpdir=${TMPDIR-/tmp}/ins$RANDOM-$$ - - trap 'ret=$?; rmdir "$tmpdir/a/b" "$tmpdir/a" "$tmpdir" 2>/dev/null; exit $ret' 0 - - # Because "mkdir -p" follows existing symlinks and we likely work - # directly in world-writeable /tmp, make sure that the '$tmpdir' - # directory is successfully created first before we actually test - # 'mkdir -p' feature. - 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=${dstdirslash}_inst.$$_ - rmtmp=${dstdirslash}_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 'before-save-hook '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 ocaml-dtools-0.4.1/m4/base_checks.m4 ocaml-dtools-0.4.2/m4/base_checks.m4 --- ocaml-dtools-0.4.1/m4/base_checks.m4 2018-09-11 05:09:44.000000000 +0000 +++ ocaml-dtools-0.4.2/m4/base_checks.m4 1970-01-01 00:00:00.000000000 +0000 @@ -1,175 +0,0 @@ -AC_DEFUN([AC_BASE_CHECKS], -[AC_REQUIRE([AC_PROG_CC]) - -dnl check for base compilers -AC_CANONICAL_HOST() - -dnl Detect the target toolchain -AC_MSG_CHECKING([target toolchain]) -case "${host_os}" in - linux*) - TARGET_TOOLCHAIN="linux" - ;; - mingw*) - TARGET_TOOLCHAIN="mingw" - ;; - cygwin*) - TARGET_TOOLCHAIN="cygwin" - ;; - darwin*) - TARGET_TOOLCHAIN="darwin" - ;; - *) - TARGET_TOOLCHAIN="other" - ;; -esac -AC_MSG_RESULT([$TARGET_TOOLCHAIN]) -AC_SUBST(TARGET_TOOLCHAIN) - -# AC_CANONICAL_HOST needs those files -AUTOCONF_INSTALL_FILES="config.guess config.sub install-sh m4/*.m4" -AC_SUBST(AUTOCONF_INSTALL_FILES) - -AC_PROG_CC() -AC_PROG_INSTALL() -AC_CHECK_TOOL([AR],[ar],no) -AC_SUBST(AR) -AC_CHECK_OCAML_COMPILERS() - -dnl add some flags -AC_DETECT_PIC_FLAGS() - -CXXFLAGS="$CXXFLAGS $PIC_FLAGS" -CPPFLAGS="$CPPFLAGS $PIC_FLAGS" - -# Add prefix to compilation variables -# if passed -if test "x$prefix" != "xNONE"; then - CFLAGS="$CFLAGS -I$prefix/include" - LDFLAGS="$LDFLAGS -L$prefix/lib" - CPPFLAGS="$CPPFLAGS -I$prefix/include" - CXXFLAGS="$CXXFLAGS -I$prefix/include" -fi -]) - -dnl Check for basic stuff -dnl The following was stolen from mesa.. -dnl A few convenience macros for Mesa, mostly to keep all the platform -dnl specifics out of configure.ac. - -dnl AC_DETECT_PIC_FLAGS() -dnl -dnl Find out whether to build PIC code using the option --enable-pic and -dnl the configure enable_static/enable_shared settings. If PIC is needed, -dnl figure out the necessary flags for the platform and compiler. -dnl -dnl The platform checks have been shamelessly taken from libtool and -dnl stripped down to just what's needed for Mesa. See _LT_COMPILER_PIC in -dnl /usr/share/aclocal/libtool.m4 or -dnl http://git.savannah.gnu.org/gitweb/?p=libtool.git;a=blob;f=libltdl/m4/libtool.m4;hb=HEAD -dnl -AC_DEFUN([AC_DETECT_PIC_FLAGS], -[AC_ARG_VAR([PIC_FLAGS], [compiler flags for PIC code]) -AC_ARG_ENABLE([pic], - [AS_HELP_STRING([--disable-pic], - [compile PIC objects @<:@default=enabled for shared builds - on supported platforms@:>@])], - [enable_pic="$enableval" - test "x$enable_pic" = x && enable_pic=auto], - [enable_pic=auto]) -dnl disable PIC by default for static builds -if test "$enable_pic" = auto && test "$enable_static" = yes; then - enable_pic=no -fi -dnl if PIC hasn't been explicitly disabled, try to figure out the flags -if test "$enable_pic" != no; then - AC_MSG_CHECKING([for $CC option to produce PIC]) - dnl allow the user's flags to override - if test "x$PIC_FLAGS" = "x"; then - dnl see if we're using GCC - if test "x$GCC" = "xyes"; then - case "$host_os" in - aix*|beos*|cygwin*|irix5*|irix6*|osf3*|osf4*|osf5*) - dnl PIC is the default for these OSes. - ;; - mingw*|os2*|pw32*) - dnl This hack is so that the source file can tell whether - dnl it is being built for inclusion in a dll (and should - dnl export symbols for example). - PIC_FLAGS="-DDLL_EXPORT" - ;; - darwin*|rhapsody*) - dnl PIC is the default on this platform - dnl Common symbols not allowed in MH_DYLIB files - PIC_FLAGS="-fno-common" - ;; - hpux*) - dnl PIC is the default for IA64 HP-UX and 64-bit HP-UX, - dnl but not for PA HP-UX. - case $host_cpu in - hppa*64*|ia64*) - ;; - *) - PIC_FLAGS="-fPIC" - ;; - esac - ;; - *) - dnl Everyone else on GCC uses -fPIC - PIC_FLAGS="-fPIC" - ;; - esac - else dnl !GCC - case "$host_os" in - hpux9*|hpux10*|hpux11*) - dnl PIC is the default for IA64 HP-UX and 64-bit HP-UX, - dnl but not for PA HP-UX. - case "$host_cpu" in - hppa*64*|ia64*) - dnl +Z the default - ;; - *) - PIC_FLAGS="+Z" - ;; - esac - ;; - linux*|k*bsd*-gnu) - case `basename "$CC"` in - icc*|ecc*|ifort*) - PIC_FLAGS="-KPIC" - ;; - pgcc*|pgf77*|pgf90*|pgf95*) - dnl Portland Group compilers (*not* the Pentium gcc - dnl compiler, which looks to be a dead project) - PIC_FLAGS="-fpic" - ;; - ccc*) - dnl All Alpha code is PIC. - ;; - xl*) - dnl IBM XL C 8.0/Fortran 10.1 on PPC - PIC_FLAGS="-qpic" - ;; - *) - case `$CC -V 2>&1 | sed 5q` in - *Sun\ C*|*Sun\ F*) - dnl Sun C 5.9 or Sun Fortran - PIC_FLAGS="-KPIC" - ;; - esac - esac - ;; - solaris*) - PIC_FLAGS="-KPIC" - ;; - sunos4*) - PIC_FLAGS="-PIC" - ;; - esac - fi - fi - AC_MSG_RESULT([$PIC_FLAGS]) -fi -AC_SUBST([PIC_FLAGS]) -])dnl PIC_FLAGS - diff -Nru ocaml-dtools-0.4.1/m4/cpp_check_class.m4 ocaml-dtools-0.4.2/m4/cpp_check_class.m4 --- ocaml-dtools-0.4.1/m4/cpp_check_class.m4 2018-09-11 05:09:44.000000000 +0000 +++ ocaml-dtools-0.4.2/m4/cpp_check_class.m4 1970-01-01 00:00:00.000000000 +0000 @@ -1,24 +0,0 @@ -dnl $1: linker lib name -dnl $2: included file -dnl $3: tested class -dnl $4: emitted variable -AC_DEFUN([AC_CPP_CHECK_CLASS], -[AC_LANG_PUSH([C++]) - SAVED_LDFLAGS=$LDFLAGS - LDFLAGS="$LDFLAGS -l$1" - AC_MSG_CHECKING([for class $3 in $1 library]) - AC_LINK_IFELSE( - [AC_LANG_PROGRAM([#include <$2>], - [$3 *x = NULL])], - [TEST_LIBS="$TEST_LIBS -l$1"] [RESULT=1], - [RESULT=]) - if test -z $RESULT; then - AC_MSG_RESULT([not found]) - else - AC_DEFINE([$4], [1], [Defined if class $3 has been found in $1 library]) - AC_MSG_RESULT([ok]) - fi - $4=$RESULT - AC_SUBST([$4]) - LDFLAGS=$SAVED_LDFLAGS - AC_LANG_POP([C++])]) diff -Nru ocaml-dtools-0.4.1/m4/detect_binding.m4 ocaml-dtools-0.4.2/m4/detect_binding.m4 --- ocaml-dtools-0.4.1/m4/detect_binding.m4 2018-09-11 05:09:44.000000000 +0000 +++ ocaml-dtools-0.4.2/m4/detect_binding.m4 1970-01-01 00:00:00.000000000 +0000 @@ -1,186 +0,0 @@ -dnl =========================================================================== -dnl Helper macro to detect an optional binding - -m4_defun([AC_OCAML_COMPARE_VERSION], - [if test -z "$2" ; then - VERSION_OK=yes - else - AS_VERSION_COMPARE([$1],[$2], - [VERSION_OK=], - [VERSION_OK=yes], - [VERSION_OK=yes]) -fi]) - -m4_defun([AC_OCAML_CHECK_DEPS], - [dnl -m4_define([deps],[m4_translit([$1],['a-z'],['A-Z'])]) -DEPS_CHECK=yes -for i in deps(); do - eval "dep_check=\$W_$i" - if test -z "${dep_check}"; then - DEPS_CHECK= - break - fi -done]) - -m4_defun([AC_MSG_RESULT_NOT], - [ifelse([$1],[],[AC_MSG_RESULT($2)],[AC_MSG_ERROR($2)])]) - -m4_defun([AC_COND_PLUGIN], - [ifelse([$1],[], -[AC_ARG_ENABLE([$2-dynamic-plugin], - AC_HELP_STRING( - [--enable-$2-dynamic-plugin], - [Compile $2 as an optional dynamic plugin.]))])]) - -AC_DEFUN([AC_CHECK_OCAML_BINDING],[dnl - -m4_define([BINDING],[m4_translit([$1],['a-z.-'],['A-Z__'])]) -m4_define([binding],[m4_translit([$1],['A-Z.-'],['a-z__'])]) - -dnl $1 = PKG_NAME -dnl $2 = PKG_VERSION -dnl $3 = PKG_DEPS -dnl $4 = PKG_MANDATORY -dnl $5 = PKG_USED (for instance sdl.mixer au lieu of sdl. Should only be used for bindings not provided by us..) -dnl $6 = DYNAMIC_PLUGIN -dnl $7 = PKG_CMA (used for duppy.syntax and flac.ogg when locally compiled..) - -if test -n "$5"; then - BINDING_PKGS="$5" -else - BINDING_PKGS="$1" -fi - -AC_ARG_WITH([binding()-dir], - AC_HELP_STRING( - [--with-binding()-dir=path], - [look for ocaml-binding() library in "path" (autodetected by default)])) - -AC_COND_PLUGIN([$6],[$1]) - -dnl Version stuff -m4_define([VERSION_CHECK],[ifelse([$2],[],[],[ >= $2])]) - -AC_MSG_CHECKING([for ocaml $1 module[]VERSION_CHECK()]) - -OCAML_CHECK="${OCAMLFIND} query $1" - -dnl This (horrible) macro does the following: -dnl Detect optional binding -dnl If builtin and provided by ocamlfind, -dnl fills liquidsoap_ocamlcflags with "-package deps" for -dnl each dependency -dnl If builtin and provided by us, fills -dnl liquidsoap_ocamlcflags with "-I /path/to/ocaml-foo/src" -dnl and liquidsoap_ocamllfflags with "foo.cmxa" -dnl If plugin and provided by ocamlfind, -dnl fills plugin_packages with "deps" -dnl If plugin and provided by us, fills -dnl plugin_ocamlcflags with "-I /path/to/ocaml-foo/src" -dnl and plugin_ocamllflags with "foo.cmxa" -dnl Ultimately, plugin_ocamlcflags and plugin_ocamllflags -dnl are added to the global $PLUGINS_DATA variable and -dnl $PLUGINS is updated with the name of this plugin. -dnl W_plugin is set to "yes" for builtin compilation -dnl and "binding" for plugin compilation. - -if test "x$enable_[]binding()_dynamic_plugin" = "xyes" ; then - BINDING()_SHARED="yes" - PLUGINS="$PLUGINS binding()" -fi - -AC_OCAML_CHECK_DEPS([$3]) -if test -z $DEPS_CHECK; then - AC_MSG_RESULT([[]binding() needs $3]) -else - if test -z "${with_[]binding()_dir}" ; then - if ! ${OCAML_CHECK} > /dev/null 2>&1 ; then - AC_MSG_RESULT_NOT([$4],[Not found.]) - else - BINDING()_version="`${OCAMLFIND} query -format "%v" $1 2>/dev/null`" - AC_OCAML_COMPARE_VERSION([${[]BINDING()_version}],[$2]) - if test -z "${VERSION_OK}"; then - AC_MSG_RESULT_NOT([$4],[requires version >= $2 found ${[]BINDING()_version}.]) - else - if test -z "${[]BINDING()_SHARED}"; then - BINDING()_PACKAGES="`${OCAMLFIND} query -separator " " -format "-package %p" $BINDING_PKGS 2>/dev/null`" - liquidsoap_ocamlcflags="${liquidsoap_ocamlcflags} ${[]BINDING()_PACKAGES}" - W_[]BINDING()=yes - else - []binding()_packages="`${OCAMLFIND} query -r -separator " " -format "%p" $BINDING_PKGS 2>/dev/null`" - W_[]BINDING()=[]binding() - fi - LIBS_VERSIONS="${LIBS_VERSIONS} $1=$[]BINDING()_version" - AC_MSG_RESULT(ok) - fi - fi - else - BINDING()_STOP_CHECK= - BINDING()_version=changequote({,})"[unknown version]"changequote([,]) - BINDING()_requires= - if test -r ${with_[]binding()_dir}/META >/dev/null 2>&1; then - # Grab version - BINDING()_version=`cat "${with_[]binding()_dir}/META" | grep version | cut -d'=' -f 2 | tr -d ' ' | tr -d '"' | head -n 1` - AC_OCAML_COMPARE_VERSION([${[]BINDING()_version}],[$2]) - if test -z "${VERSION_OK}"; then - AC_MSG_RESULT_NOT([$4],[requires version >= $2 found ${[]BINDING()_version}.]) - BINDING()_STOP_CHECK=yes - fi - BINDING()_requires=`cat "${with_[]binding()_dir}/META" | grep 'requires' | cut -d '=' -f 2 | tr -d '"'` - BINDING()_path="${with_[]binding()_dir}" - else - BINDING()_path=`${OCAMLFIND} -query $1 2>/dev/null` - if ! test -z "$2"; then - AC_MSG_RESULT_NOT([$4],[cannot find version from META file.]) - BINDING()_STOP_CHECK=yes - fi - fi - if test -z "${BINDING()_STOP_CHECK}"; then - BINDING()_PACKAGES="`${OCAMLFIND} query -separator " " -format "-package %p" $BINGING_PKGS 2>/dev/null`" - echo ${with_[]binding()_dir} | grep ^/ > /dev/null 2>&1 \ - || with_[]binding()_dir=${PWD}/${with_[]binding()_dir} - if test -z "${[]BINDING()_SHARED}"; then - liquidsoap_ocamlcflags="${liquidsoap_ocamlcflags} -I ${with_[]binding()_dir} ${[]BINDING()_PACKAGES}" - else - []binding()_ocamlcflags="-I ${with_[]binding()_dir} ${[]BINDING()_PACKAGES}" - fi - # We need to recurse here because - # some package may not be registered using ocamlfind - if test -n "$7"; then - BINDING()_CMA=$7.${cma} - else - BINDING()_CMA=$1.${cma} - fi - for i in ${[]BINDING()_requires}; do - BINDING()_PACKAGES="${[]BINDING()_PACKAGES} `${OCAMLFIND} query -separator " " -format "-package %p" $i 2>/dev/null`" - done - if test -z "${[]BINDING()_SHARED}"; then - liquidsoap_ocamllflags="${liquidsoap_ocamllflags} ${[]BINDING()_PACKAGES} ${[]BINDING()_CMA}" - W_[]BINDING()=yes - else - []binding()_ocamllflags="${[]BINDING()_PACKAGES} ${[]BINDING()_CMA}" - W_[]BINDING()=[]binding() - fi - LIBS_VERSIONS="${LIBS_VERSIONS} $1=$[]BINDING()_version" - AC_MSG_RESULT(ok) - fi - fi -fi - -AC_SUBST(W_[]BINDING()) -if test -z "${W_[]BINDING()}" ; then - w_[]BINDING()="no (requires $1)" -else - if test -z "${[]BINDING()_SHARED}"; then - w_[]BINDING()=yes - else - PLUGINS_DATA="$PLUGINS_DATA -[]binding()_ocamlcflags=${[]binding()_ocamlcflags} -[]binding()_ocamllflags=${[]binding()_ocamllflags} -[]binding()_packages=${[]binding()_packages}" - w_[]BINDING()=plugin - fi -fi]) - - diff -Nru ocaml-dtools-0.4.1/m4/ocaml_compilers.m4 ocaml-dtools-0.4.2/m4/ocaml_compilers.m4 --- ocaml-dtools-0.4.1/m4/ocaml_compilers.m4 2018-09-11 05:09:44.000000000 +0000 +++ ocaml-dtools-0.4.2/m4/ocaml_compilers.m4 1970-01-01 00:00:00.000000000 +0000 @@ -1,76 +0,0 @@ -AC_DEFUN([AC_CHECK_OCAML_COMPILERS],[ -OCAMLFIND_LDCONF="" -AC_ARG_ENABLE([ldconf], AC_HELP_STRING([--disable-ldconf],[don't modify the dynamic loader configuration file (default is enable)]),[ac_enable_ldconf=$enableval],[ac_enable_ldconf=$enableval],[ac_enable_ldconf=yes]) -if test "$ac_enable_ldconf" = no ; then - AC_MSG_RESULT([disabling modification of ld.conf]) - OCAMLFIND_LDCONF=dummy -fi -AC_SUBST(OCAMLFIND_LDCONF) - -# Check for Ocaml compilers - -AC_PROG_OCAML() - -AC_PROG_CAMLIDL() - -AC_PROG_OCAMLLEX() - -AC_PROG_OCAMLYACC() - -AC_PROG_CAMLP4() - -AC_PROG_FINDLIB() - -AC_CHECK_OCAML_STDLIB() - -# Check if caml/threads.h is present -old_CFLAGS=$CFLAGS -CFLAGS="$CFLAGS -I${OCAML_STDLIB}" -AC_CHECK_HEADER([caml/threads.h],[CAML_THREADS=yes],[],[#include ]) -CFLAGS=${old_CFLAGS} - -AC_ARG_ENABLE([debugging], - AC_HELP_STRING( - [--disable-debugging], - [disable debugging information (backtrace printing in particular)])) - -if test "$enable_debugging" \!= "no" ; then - OCAMLFLAGS="$OCAMLFLAGS -g" -fi - -AC_ARG_WITH([ocaml-warnings], - AC_HELP_STRING( - [--with-ocaml-warnings=WARNINGS], - [Enable specific list of ocaml compiler warnings.])) - -if test -n "${with_ocaml_warnings}" ; then - OCAMLFLAGS="$OCAMLFLAGS -w +${with_ocaml_warnings}" -else - OCAMLFLAGS="$OCAMLFLAGS -w +A-4@5-7@8-9@11@12@20-35-44-45-50" -fi - -AC_ARG_ENABLE([profiling], - AC_HELP_STRING( - [--enable-profiling], - [compile to generate profiling infomation])) -if test "x$enable_profiling" = "xyes" ; then - OCAMLNCFLAGS="$OCAMLNCFLAGS -p" -fi -AC_SUBST(OCAMLNCFLAGS) - -AC_ARG_ENABLE([nativecode], - AC_HELP_STRING( - [--disable-nativecode], - [compile in bytecode])) - -AC_ARG_ENABLE([custom], - AC_HELP_STRING( - [--disable-custom], - [disable custom mode for bytecode compilation (use if you know what you are doing)])) - -CAMLLIBPATH=$OCAMLLIB -AC_SUBST(CAMLLIBPATH) - -AC_SUBST(CAMLIDL) -AC_SUBST(OCAMLFLAGS) -]) diff -Nru ocaml-dtools-0.4.1/m4/ocaml.m4 ocaml-dtools-0.4.2/m4/ocaml.m4 --- ocaml-dtools-0.4.1/m4/ocaml.m4 2018-09-11 05:09:44.000000000 +0000 +++ ocaml-dtools-0.4.2/m4/ocaml.m4 1970-01-01 00:00:00.000000000 +0000 @@ -1,329 +0,0 @@ -dnl autoconf macros for OCaml -dnl -dnl Copyright © 2009 Richard W.M. Jones -dnl Copyright © 2009 Stefano Zacchiroli -dnl Copyright © 2000-2005 Olivier Andrieu -dnl Copyright © 2000-2005 Jean-Christophe Filliâtre -dnl Copyright © 2000-2005 Georges Mariano -dnl -dnl For documentation, please read the ocaml.m4 man page. - -AC_DEFUN([AC_PROG_OCAML], -[dnl - # checking for ocamlc - AC_CHECK_TOOL([OCAMLC],[ocamlc],[no]) - - if test "$OCAMLC" = "no"; then - AC_MSG_ERROR(Cannot find ocamlc.) - fi - - AC_SUBST([OCAMLC]) - - OCAMLVERSION=`$OCAMLC -v | sed -n -e 's|.*version* *\(.*\)$|\1|p'` - AC_MSG_RESULT([OCaml version is $OCAMLVERSION]) - # Check if version is >= 3.12.0 - AC_MSG_CHECKING([if ocaml compiler supports first-class modules]) - AS_VERSION_COMPARE([$OCAMLVERSION],[3.12.0],[],[OCAML_HAS_FIRST_CLASS_MODULES="yes"],[OCAML_HAS_FIRST_CLASS_MODULES="yes"]) - if test -n "${OCAML_HAS_FIRST_CLASS_MODULES}"; then - AC_MSG_RESULT([yes]) - else - AC_MSG_RESULT([no]) - fi - AC_SUBST(OCAML_HAS_FIRST_CLASS_MODULES) - - # If OCAMLLIB is set, use it - if test "$OCAMLLIB" = ""; then - OCAMLLIB=`$OCAMLC -where 2>/dev/null || $OCAMLC -v|tail -1|cut -d ' ' -f 4` - else - AC_MSG_RESULT([OCAMLLIB previously set; preserving it.]) - fi - AC_MSG_RESULT([OCaml library path is $OCAMLLIB]) - - AC_SUBST([OCAMLVERSION]) - AC_SUBST([OCAMLLIB]) - - # checking for ocamlopt - AC_CHECK_TOOL_STRICT([OCAMLOPT],[ocamlopt],[no]) - OCAMLBEST=byte - OCAML_DYNLINK=byte-dyn - if test "$OCAMLOPT" = "no"; then - AC_MSG_WARN([Cannot find ocamlopt; bytecode compilation only.]) - else - TMPVERSION=`$OCAMLOPT -v | sed -n -e 's|.*version* *\(.*\)$|\1|p' ` - if test "$TMPVERSION" != "$OCAMLVERSION" ; then - AC_MSG_RESULT([versions differs from ocamlc; ocamlopt discarded.]) - OCAMLOPT=no - else - OCAMLBEST="byte opt" - OCAML_DYNLINK="byte-dyn opt-dyn" - fi - fi - - AC_SUBST([OCAMLBEST]) - AC_SUBST([OCAML_DYNLINK]) - - # checking for ocamlc.opt - AC_CHECK_TOOL_STRICT([OCAMLCDOTOPT],[ocamlc.opt],[no]) - if test "$OCAMLCDOTOPT" != "no"; then - TMPVERSION=`$OCAMLCDOTOPT -v | sed -n -e 's|.*version* *\(.*\)$|\1|p' ` - if test "$TMPVERSION" != "$OCAMLVERSION" ; then - AC_MSG_RESULT([versions differs from ocamlc; ocamlc.opt discarded.]) - else - OCAMLC=$OCAMLCDOTOPT - fi - fi - - # checking for ocamlopt.opt - if test "$OCAMLOPT" != "no" ; then - AC_CHECK_TOOL_STRICT([OCAMLOPTDOTOPT],[ocamlopt.opt],[no]) - if test "$OCAMLOPTDOTOPT" != "no"; then - TMPVERSION=`$OCAMLOPTDOTOPT -v | sed -n -e 's|.*version* *\(.*\)$|\1|p' ` - if test "$TMPVERSION" != "$OCAMLVERSION" ; then - AC_MSG_RESULT([version differs from ocamlc; ocamlopt.opt discarded.]) - else - OCAMLOPT=$OCAMLOPTDOTOPT - fi - fi - fi - - AC_SUBST([OCAMLOPT]) - - # checking for ocaml toplevel - AC_CHECK_TOOL_STRICT([OCAML],[ocaml],[no]) - - AC_SUBST([OCAML]) - - # checking for ocamldep - AC_CHECK_TOOL_STRICT([OCAMLDEP],[ocamldep],[no]) - if test "$OCAMLDEP" = "no"; then - AC_MSG_ERROR(Cannot find ocamlmklib.) - else - AC_CHECK_TOOL_STRICT([OCAMLDEPOPT],[ocamldep.opt],[no]) - if test "$OCAMLDEPOPT" != "no"; then - OCAMLDEP=$OCAMLDEPOPT - fi - fi - - AC_SUBST([OCAMLDEP]) - - # checking for ocamlmktop - AC_CHECK_TOOL_STRICT([OCAMLMKTOP],[ocamlmktop],[no]) - - AC_SUBST([OCAMLMKTOP]) - - # checking for ocamlmklib - AC_CHECK_TOOL_STRICT([OCAMLMKLIB],[ocamlmklib],[no]) - if test "$OCAMLMKLIB" = "no"; then - AC_MSG_ERROR(Cannot find ocamlmklib.) - fi - - AC_SUBST([OCAMLMKLIB]) - - # checking for ocamldoc - AC_CHECK_TOOL([OCAMLDOC],[ocamldoc],[no]) - if test "$OCAMLDOC" != "no"; then - AC_CHECK_TOOL([OCAMLDOCOPT],[ocamldoc.opt],[no]) - if test "$OCAMLDOCOPT" != "no"; then - OCAMLDOC=$OCAMLDOCOPT - fi - fi - - AC_SUBST([OCAMLDOC]) - - # checking for ocamlbuild - AC_CHECK_TOOL([OCAMLBUILD],[ocamlbuild],[no]) - - AC_SUBST([OCAMLBUILD]) -]) - - -AC_DEFUN([AC_PROG_OCAMLLEX], -[dnl - # checking for ocamllex - AC_CHECK_TOOL([OCAMLLEX],[ocamllex],[no]) - if test "$OCAMLLEX" != "no"; then - AC_CHECK_TOOL([OCAMLLEXDOTOPT],[ocamllex.opt],[no]) - if test "$OCAMLLEXDOTOPT" != "no"; then - OCAMLLEX=$OCAMLLEXDOTOPT - fi - fi - AC_SUBST([OCAMLLEX]) -]) - -AC_DEFUN([AC_PROG_OCAMLYACC], -[dnl - AC_CHECK_TOOL([OCAMLYACC],[ocamlyacc],[no]) - AC_SUBST([OCAMLYACC]) -]) - - -AC_DEFUN([AC_PROG_CAMLP4], -[dnl - AC_REQUIRE([AC_PROG_OCAML])dnl - - - AC_ARG_ENABLE([camlp4], - AC_HELP_STRING([--disable-camlp4], - [disable camlp4 auto-detection.])) - - # checking for camlp4 - if test "x$enable_camlp4" != "xno"; then - AC_CHECK_TOOL_STRICT([CAMLP4],[camlp4],[no]) - if test "$CAMLP4" != "no"; then - TMPVERSION=`$CAMLP4 -v 2>&1| sed -n -e 's|.*version *\(.*\)$|\1|p' | tr -d '\r'` - if test "$TMPVERSION" != "$OCAMLVERSION" ; then - AC_MSG_RESULT([versions differs from ocamlc]) - CAMLP4=no - fi - fi - AC_SUBST([CAMLP4]) - - # checking for companion tools - AC_CHECK_TOOL_STRICT([CAMLP4BOOT],[camlp4boot],[no]) - AC_CHECK_TOOL_STRICT([CAMLP4O],[camlp4o],[no]) - AC_CHECK_TOOL_STRICT([CAMLP4OF],[camlp4of],[no]) - AC_CHECK_TOOL_STRICT([CAMLP4OOF],[camlp4oof],[no]) - AC_CHECK_TOOL_STRICT([CAMLP4ORF],[camlp4orf],[no]) - AC_CHECK_TOOL_STRICT([CAMLP4PROF],[camlp4prof],[no]) - AC_CHECK_TOOL_STRICT([CAMLP4R],[camlp4r],[no]) - AC_CHECK_TOOL_STRICT([CAMLP4RF],[camlp4rf],[no]) - else - CAMLP4=no - CAMLP4BOOT=no - CAMLP4O=no - CAMLP4OF=no - CAMLP4OOF=no - CAMLP4ORF=no - CAMLP4PROF=no - CAMLP4R=no - CAMLP4RF=no - fi - - AC_SUBST([CAMLP4BOOT]) - AC_SUBST([CAMLP4O]) - AC_SUBST([CAMLP4OF]) - AC_SUBST([CAMLP4OOF]) - AC_SUBST([CAMLP4ORF]) - AC_SUBST([CAMLP4PROF]) - AC_SUBST([CAMLP4R]) - AC_SUBST([CAMLP4RF]) -]) - -AC_DEFUN([AC_PROG_CAMLIDL], -[dnl - AC_CHECK_TOOL(CAMLIDL,camlidl,no) - AC_SUBST(CAMLIDL) -]) - -AC_DEFUN([AC_PROG_FINDLIB], -[dnl - AC_REQUIRE([AC_PROG_OCAML])dnl - - # checking for ocamlfind - AC_CHECK_TOOL([OCAMLFIND],[ocamlfind],[no]) - AC_SUBST([OCAMLFIND]) -]) - -AC_DEFUN([AC_CHECK_OCAML_STDLIB], -[dnl - AC_REQUIRE([AC_PROG_FINDLIB])dnl - - AC_MSG_CHECKING([for ocaml standard library path]) - OCAML_STDLIB=`$OCAMLFIND printconf stdlib` - AC_SUBST(OCAML_STDLIB) - AC_MSG_RESULT([$OCAML_STDLIB]) -]) - -dnl Thanks to Jim Meyering for working this next bit out for us. -dnl XXX We should define AS_TR_SH if it's not defined already -dnl (eg. for old autoconf). -AC_DEFUN([AC_CHECK_OCAML_PKG], -[dnl - AC_REQUIRE([AC_PROG_FINDLIB])dnl - - AC_ARG_WITH([$1-dir],AC_HELP_STRING([--with-$1-dir=path], - [use "path" as the location of ocaml-$1 (autodetected by default)])) - AC_MSG_CHECKING([for OCaml library $1]) - - unset found - unset pkg - found=no - if test -z "$with_$1_dir"; then - for pkg in $1 $2 ; do - if $OCAMLFIND query $pkg >/dev/null 2>/dev/null; then - AC_MSG_RESULT([found]) - AS_TR_SH([OCAML_PKG_$1])=$pkg - AS_TR_SH([OCAML_DIR_$1])=`$OCAMLFIND query $1` - found=yes - break - fi - done - else - echo $with_$1_dir | grep ^/ > /dev/null 2>&1 || with_$1_dir=$PWD/$with_$1_dir - AS_TR_SH([OCAML_PKG_$1])=no - OCAML_DIR_$1="$with_$1_dir" - found=yes - fi - if test "$found" = "no" ; then - AC_MSG_RESULT([not found]) - AS_TR_SH([OCAML_HAS_$1])=no - AS_TR_SH([OCAML_PKG_$1])=no - else - AS_TR_SH([OCAML_HAS_$1])=yes - fi - - AC_SUBST(AS_TR_SH([OCAML_PKG_$1])) -]) - - -AC_DEFUN([AC_CHECK_OCAML_MODULE], -[dnl - AC_MSG_CHECKING([for OCaml module $2]) - - cat > conftest.ml <&5 2>&5 ; then - found=yes - break - fi - done - - if test "$found" ; then - AC_MSG_RESULT([$$1]) - else - AC_MSG_RESULT([not found]) - $1=no - fi - AC_SUBST([$1]) -]) - - -dnl XXX Cross-compiling -AC_DEFUN([AC_CHECK_OCAML_WORD_SIZE], -[dnl - AC_REQUIRE([AC_PROG_OCAML])dnl - AC_MSG_CHECKING([for OCaml compiler word size]) - cat > conftest.ml < conftest.ml <. -dnl -dnl This program is free software; you can redistribute it and/or modify -dnl it under the terms of the GNU General Public License as published by -dnl the Free Software Foundation; either version 2 of the License, or -dnl (at your option) any later version. -dnl -dnl This program is distributed in the hope that it will be useful, but -dnl WITHOUT ANY WARRANTY; without even the implied warranty of -dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -dnl General Public License for more details. -dnl -dnl You should have received a copy of the GNU General Public License -dnl along with this program; if not, write to the Free Software -dnl Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. -dnl -dnl As a special exception to the GNU General Public License, if you -dnl distribute this file as part of a program that contains a -dnl configuration script generated by Autoconf, you may include it under -dnl the same distribution terms that you use for the rest of that program. - -dnl PKG_PROG_PKG_CONFIG([MIN-VERSION]) -dnl ---------------------------------- -AC_DEFUN([PKG_PROG_PKG_CONFIG], -[m4_pattern_forbid([^_?PKG_[A-Z_]+$]) -m4_pattern_allow([^PKG_CONFIG(_PATH)?$]) -AC_ARG_VAR([PKG_CONFIG], [path to pkg-config utility])dnl -if test "x$ac_cv_env_PKG_CONFIG_set" != "xset"; then - AC_PATH_TOOL([PKG_CONFIG], [pkg-config]) -fi -if test -n "$PKG_CONFIG"; then - _pkg_min_version=m4_default([$1], [0.9.0]) - AC_MSG_CHECKING([pkg-config is at least version $_pkg_min_version]) - if $PKG_CONFIG --atleast-pkgconfig-version $_pkg_min_version; then - AC_MSG_RESULT([yes]) - else - AC_MSG_ERROR([no]) - PKG_CONFIG="" - fi - -fi[]dnl -])dnl PKG_PROG_PKG_CONFIG - -AC_ARG_VAR([PKG_CONFIG_OPTIONS], [Additional options passed when invoking pkg-config]) - -dnl PKG_CONFIG_CHECK_MODULE([name],[min-version]) -dnl min-version is optional -AC_DEFUN([PKG_CONFIG_CHECK_MODULE], -[if test -n "$2"; then - PKGCONFIG_CHECK_VERSION=" >= $2" -else - PKGCONFIG_CHECK_VERSION="" -fi -AC_MSG_CHECKING([whether pkg-config knows about $1${PKGCONFIG_CHECK_VERSION}]) -if ! $PKG_CONFIG $PKG_CONFIG_OPTIONS --exists $1; then - AC_MSG_ERROR([$1.pc not found.. Do you need to set PKG_CONFIG_PATH?]) -else - if test -n "$2"; then - if ! $PKG_CONFIG $PKG_CONFIG_OPTIONS --atleast-version=$2 $1; then - $1_VERSION="`$PKG_CONFIG $PKG_CONFIG_OPTIONS --modversion $1`" - AC_MSG_ERROR([requires version >= $2, found ${$1_VERSION}]) - else - AC_MSG_RESULT([ok]) - fi - else - AC_MSG_RESULT([ok]) - fi -fi -CFLAGS="$CFLAGS `$PKG_CONFIG $PKG_CONFIG_OPTIONS --cflags $1`" -CPPFLAGS="$CPPFLAGS `$PKG_CONFIG $PKG_CONFIG_OPTIONS --cflags $1`" -LIBS="$LIBS `$PKG_CONFIG $PKG_CONFIG_OPTIONS --libs-only-l $1`" -LDFLAGS="$LDFLAGS `$PKG_CONFIG $PKG_CONFIG_OPTIONS --libs-only-L $1`" -]) diff -Nru ocaml-dtools-0.4.1/m4/strict_check_tool.m4 ocaml-dtools-0.4.2/m4/strict_check_tool.m4 --- ocaml-dtools-0.4.1/m4/strict_check_tool.m4 2018-09-11 05:09:44.000000000 +0000 +++ ocaml-dtools-0.4.2/m4/strict_check_tool.m4 1970-01-01 00:00:00.000000000 +0000 @@ -1,7 +0,0 @@ -AC_DEFUN([AC_CHECK_TOOL_STRICT], -[AC_CHECK_PROG([$1], [${ac_tool_prefix}$2], [${ac_tool_prefix}$2], [$3], [$4])]) - -AC_DEFUN([AC_PATH_TOOL_STRICT], -[AC_PATH_PROG([$1], [${ac_tool_prefix}$2], [$3])]) - - diff -Nru ocaml-dtools-0.4.1/Makefile ocaml-dtools-0.4.2/Makefile --- ocaml-dtools-0.4.1/Makefile 2018-09-11 05:09:44.000000000 +0000 +++ ocaml-dtools-0.4.2/Makefile 1970-01-01 00:00:00.000000000 +0000 @@ -1,45 +0,0 @@ -# Copyright 2003-2007 Savonet team - -SRC := src -PROGNAME := ocaml-dtools -DISTFILES := config.guess config.sub install-sh m4/*.m4 bootstrap CHANGES configure configure.ac \ - COPYING Makefile README Makefile.in \ - src/OCamlMakefile src/*Makefile.in src/META.in src/*.ml src/*.mli \ - doc/html -VERSION := 0.4.1 - -all: - $(MAKE) -C $(SRC) - -clean: - $(MAKE) -C $(SRC) clean - -install: - $(MAKE) -C $(SRC) install - -uninstall: - $(MAKE) -C $(SRC) uninstall - -update: - $(MAKE) -C $(SRC) update - -distclean: clean - rm -rf autom4te.cache config.log config.status - rm -rf doc/html - rm -f src/META src/Makefile - -doc: - $(MAKE) -C src htdoc - mkdir -p doc - rm -rf doc/html - mv src/doc/dtools/html doc - rm -rf src/doc - -dist: doc - mkdir $(PROGNAME)-$(VERSION) - cp -R -L --parents $(DISTFILES) $(PROGNAME)-$(VERSION) - tar zcvf ../$(PROGNAME)-$(VERSION).tar.gz $(PROGNAME)-$(VERSION) - rm -rf $(PROGNAME)-$(VERSION) - -.PHONY: doc - diff -Nru ocaml-dtools-0.4.1/Makefile.in ocaml-dtools-0.4.2/Makefile.in --- ocaml-dtools-0.4.1/Makefile.in 2018-09-11 05:09:44.000000000 +0000 +++ ocaml-dtools-0.4.2/Makefile.in 1970-01-01 00:00:00.000000000 +0000 @@ -1,45 +0,0 @@ -# Copyright 2003-2007 Savonet team - -SRC := src -PROGNAME := ocaml-dtools -DISTFILES := @AUTOCONF_INSTALL_FILES@ bootstrap CHANGES configure configure.ac \ - COPYING Makefile README Makefile.in \ - src/OCamlMakefile src/*Makefile.in src/META.in src/*.ml src/*.mli \ - doc/html -VERSION := @VERSION@ - -all: - $(MAKE) -C $(SRC) - -clean: - $(MAKE) -C $(SRC) clean - -install: - $(MAKE) -C $(SRC) install - -uninstall: - $(MAKE) -C $(SRC) uninstall - -update: - $(MAKE) -C $(SRC) update - -distclean: clean - rm -rf autom4te.cache config.log config.status - rm -rf doc/html - rm -f src/META src/Makefile - -doc: - $(MAKE) -C src htdoc - mkdir -p doc - rm -rf doc/html - mv src/doc/dtools/html doc - rm -rf src/doc - -dist: doc - mkdir $(PROGNAME)-$(VERSION) - cp -R -L --parents $(DISTFILES) $(PROGNAME)-$(VERSION) - tar zcvf ../$(PROGNAME)-$(VERSION).tar.gz $(PROGNAME)-$(VERSION) - rm -rf $(PROGNAME)-$(VERSION) - -.PHONY: doc - diff -Nru ocaml-dtools-0.4.1/.ocamlformat ocaml-dtools-0.4.2/.ocamlformat --- ocaml-dtools-0.4.1/.ocamlformat 1970-01-01 00:00:00.000000000 +0000 +++ ocaml-dtools-0.4.2/.ocamlformat 2020-03-28 00:34:27.000000000 +0000 @@ -0,0 +1,9 @@ +profile = conventional +break-separators = after +space-around-lists = false +doc-comments = before +match-indent = 2 +match-indent-nested = always +parens-ite +exp-grouping = preserve +module-item-spacing = compact diff -Nru ocaml-dtools-0.4.1/README ocaml-dtools-0.4.2/README --- ocaml-dtools-0.4.1/README 2018-09-11 05:09:44.000000000 +0000 +++ ocaml-dtools-0.4.2/README 1970-01-01 00:00:00.000000000 +0000 @@ -1,48 +0,0 @@ -OCaml-dtools - OCaml daemon tools library -======================================================= - -Author: Gimenez Stéphane -Email: savonet-users@lists.sourceforge.net -Homepage: http://savonet.sourceforge.net/ - -Copyright (c) 2003-2006 the Savonet Team. - - -Dependencies -============ -To build this library you need to have OCaml 3.07. or later (available at -http://caml.inria.fr) and ocamlfind also called findlib (available at -http://www.ocaml-programming.de/packages/) - - -Installation -============ - -To compile the program type: - -./configure -make - -You can set specific build options with the configure script, see: - -./configure --help - -To install it, type as root: - -make install - -License -======= -This program is free software; you can redistribute it and/or -modify it under the terms of the GNU General Public License -as published by the Free Software Foundation; either version 2 -of the License, or (at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with this program; if not, write to the Free Software -Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. diff -Nru ocaml-dtools-0.4.1/README.md ocaml-dtools-0.4.2/README.md --- ocaml-dtools-0.4.1/README.md 1970-01-01 00:00:00.000000000 +0000 +++ ocaml-dtools-0.4.2/README.md 2020-03-28 00:34:27.000000000 +0000 @@ -0,0 +1,62 @@ +OCaml-dtools - OCaml daemon tools library +======================================================= + +Author: Gimenez Stéphane +Email: savonet-users@lists.sourceforge.net +Homepage: http://savonet.sourceforge.net/ + +Copyright (c) 2003-2020 the Savonet Team. + + +Dependencies +============ +To build this library you need to have OCaml 3.07. or later (available at +http://caml.inria.fr) and ocamlfind also called findlib (available at +http://www.ocaml-programming.de/packages/) + + +Installation +============ + +This module is provided as part of the [opam](http://opam.ocaml.org/packages/dtools/). Recommended +installation method is via `opam`: + +``` +opam install dtools +``` + +This installs the latest released version of this module. + +To compile the code from this repository, type: + +``` +dune build +``` + +To install the code from this repository using `opam`, type: + +``` +opam install . +``` + +To instal the code from this repository using `dune`: + +``` +dune install +``` + +License +======= +This program is free software; you can redistribute it and/or +modify it under the terms of the GNU General Public License +as published by the Free Software Foundation; either version 2 +of the License, or (at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. diff -Nru ocaml-dtools-0.4.1/src/dtools_impl.ml ocaml-dtools-0.4.2/src/dtools_impl.ml --- ocaml-dtools-0.4.1/src/dtools_impl.ml 1970-01-01 00:00:00.000000000 +0000 +++ ocaml-dtools-0.4.2/src/dtools_impl.ml 2020-03-28 00:34:27.000000000 +0000 @@ -0,0 +1,856 @@ +(**************************************************************************) +(* ocaml-dtools *) +(* Copyright (C) 2003-2010 The Savonet Team *) +(**************************************************************************) +(* This program is free software; you can redistribute it and/or modify *) +(* it under the terms of the GNU General Public License as published by *) +(* the Free Software Foundation; either version 2 of the License, or *) +(* any later version. *) +(**************************************************************************) +(* Contact: savonet-devl@lists.sourceforge.net *) +(**************************************************************************) + +(* $Id$ *) + +(** + ocaml-dtools + @author Stephane Gimenez +*) + +module Conf = struct + type link = string + + type path = link list + + and ut = + < kind : string option + ; descr : string + ; comments : string list + ; plug : string -> ut -> unit + ; subs : string list + ; path : string list -> ut + ; routes : ut -> path list + ; ut : ut > + + type 'a t = + < kind : string option + ; alias : ?comments:string list -> ?descr:string -> (ut -> unit) -> 'a t + ; descr : string + ; comments : string list + ; plug : string -> ut -> unit + ; subs : string list + ; path : string list -> ut + ; routes : ut -> path list + ; ut : ut + ; set_d : 'a option -> unit + ; get_d : 'a option + ; set : 'a -> unit + ; get : 'a + ; validate : ('a -> bool) -> unit + ; on_change : ('a -> unit) -> unit > + + type links = (string * ut) list + + type 'a builder = + ?d:'a -> + ?p:(ut -> unit) -> + ?l:links -> + ?comments:string list -> + string -> + 'a t + + exception Undefined of ut + exception Invalid of string + exception Unbound of ut * string + exception Bound of ut * string + exception Mismatch of ut + exception Wrong_Conf of string * string + exception File_Wrong_Conf of string * int * string + exception Cyclic of ut * ut + exception Invalid_Value of ut + + let path_sep_regexp = Str.regexp "\\." + let list_sep_regexp = Str.regexp ":" + + let line_regexp = + Str.regexp + "^[ \t]*\\([a-zA-Z]+\\)[ \t]+\\([a-zA-Z0-9._-]+\\)[ \t]*:\\(.*\\)$" + + let comment_regexp = Str.regexp "^[ ]*\\(#.*\\)?$" + let check s = if Str.string_match path_sep_regexp s 0 then raise (Invalid s) + + let make kind ?(d : 'a option) ?(p : ut -> unit = fun _ -> ()) + ?(l : links = []) ?(comments : string list = []) descr : 'a t = + object (self) + val kind : string option = kind + + val mutable descr : string = descr + + val mutable comments : string list = comments + + val mutable links : links = [] + + val value_d : 'a option ref = ref d + + val value : 'a option ref = ref None + + val mutable validators : ('a -> bool) list = [] + + val mutable listeners : ('a -> unit) list = [] + + initializer + p self#ut; + List.iter (fun (s, t) -> self#plug s t) l + + method subs = List.sort compare (List.map fst links) + + method private sub (s : string) : ut = + check s; + try List.assoc s links with Not_found -> raise (Unbound (self#ut, s)) + + method path (l : string list) : ut = + match l with [] -> self#ut | s :: q -> (self#sub s)#path q + + method routes (st : ut) = + (* todo: cache already accessed nodes *) + let rec aux l t = + match t = st with + | true -> [List.rev l] + | false -> + List.concat + (List.map (fun s -> aux (s :: l) (t#path [s])) t#subs) + in + aux [] self#ut + + method kind = kind + + method descr = descr + + method private set_descr new_descr = descr <- new_descr + + method comments = comments + + method private set_comments new_comments = comments <- new_comments + + method plug s t = + if t#routes self#ut <> [] then raise (Cyclic (self#ut, t)); + if List.mem_assoc s links then raise (Bound (self#ut, s)); + links <- (s, t) :: links + + (* Nice hack. heh! *) + method alias ?comments ?descr p = + let maybe f x = match x with Some x -> f x | None -> () in + let old_comments = self#comments in + let old_descr = self#descr in + maybe self#set_comments comments; + maybe self#set_descr descr; + let key = Oo.copy self in + p key#ut; + self#set_comments old_comments; + self#set_descr old_descr; + key + + method ut = (self :> ut) + + method get_d : 'a option = !value_d + + method set_d (v : 'a option) : unit = value_d := v + + method get : 'a = + match !value with + | None -> ( + match !value_d with + | None -> raise (Undefined self#ut) + | Some v -> v ) + | Some v -> v + + method set (v : 'a) : unit = + List.iter + (fun fn -> if not (fn v) then raise (Invalid_Value self#ut)) + validators; + value := Some v; + List.iter (fun fn -> fn v) listeners + + method validate (fn : 'a -> bool) : unit = validators <- fn :: validators + + method on_change (fn : 'a -> unit) : unit = listeners <- fn :: listeners + end + + let void ?p ?l ?comments descr = (make None ?p ?l ~d:None ?comments descr)#ut + let unit ?d = make (Some "unit") ?d + let int ?d = make (Some "int") ?d + let float ?d = make (Some "float") ?d + let bool ?d = make (Some "bool") ?d + let string ?d = make (Some "string") ?d + let list ?d = make (Some "list") ?d + + (* Harmful function, do not use *) + let force_type c (t : ut) : 'a t = + match t#kind with + | Some x when x = c -> (Obj.magic t : 'a t) + | _ -> raise (Mismatch t) + + let as_unit t : unit t = force_type "unit" t + let as_int t : int t = force_type "int" t + let as_float t : float t = force_type "float" t + let as_bool t : bool t = force_type "bool" t + let as_string t : string t = force_type "string" t + let as_list t : string list t = force_type "list" t + let path_of_string p = Str.split path_sep_regexp p + let string_of_path p = String.concat "." p + + let get_string (t : ut) = + try + match t#kind with + | None -> None + | Some "unit" -> Some "" + | Some "int" -> Some (string_of_int (as_int t)#get) + | Some "float" -> Some (string_of_float (as_float t)#get) + | Some "bool" -> Some (string_of_bool (as_bool t)#get) + | Some "string" -> Some (as_string t)#get + | Some "list" -> Some (String.concat ":" (as_list t)#get) + | _ -> assert false + with Undefined _ -> None + + let get_d_string (t : ut) = + let mapopt f = function None -> None | Some x -> Some (f x) in + try + match t#kind with + | None -> None + | Some "unit" -> mapopt (fun () -> "") (as_unit t)#get_d + | Some "int" -> mapopt string_of_int (as_int t)#get_d + | Some "float" -> mapopt string_of_float (as_float t)#get_d + | Some "bool" -> mapopt string_of_bool (as_bool t)#get_d + | Some "string" -> (as_string t)#get_d + | Some "list" -> mapopt (String.concat ":") (as_list t)#get_d + | _ -> assert false + with Undefined _ -> None + + let descr ?(prefix = []) (t : ut) = + let rec aux prefix t = + let p s = if prefix = "" then s else prefix ^ "." ^ s in + let subs = List.map (function s -> aux (p s) (t#path [s])) t#subs in + Printf.sprintf "## %s\n" t#descr + ^ begin + match get_d_string t with + | None -> "" + | Some d -> Printf.sprintf "# default :%s\n" d + end + ^ begin + match (t#kind, get_string t) with + | Some k, None -> Printf.sprintf "#%s\t%-30s\n" k prefix + | Some k, Some p -> Printf.sprintf "%s\t%-30s :%s\n" k prefix p + | _ -> "" + end + ^ begin + match t#comments with + | [] -> "" + | l -> + "# comments:\n" + ^ String.concat "" + (List.map (fun s -> Printf.sprintf "# %s\n" s) l) + end + ^ "\n" ^ String.concat "" subs + in + aux (string_of_path prefix) (t#path prefix) + + let dump ?(prefix = []) (t : ut) = + let rec aux prefix t = + let p s = if prefix = "" then s else prefix ^ "." ^ s in + let subs = List.map (function s -> aux (p s) (t#path [s])) t#subs in + begin + match t#kind with + | Some k -> ( + match (get_d_string t, get_string t) with + | None, None -> Printf.sprintf "#%s\t%-30s\n" k prefix + | Some p, None -> Printf.sprintf "#%s\t%-30s :%s\n" k prefix p + | Some p, Some p' when p' = p -> + Printf.sprintf "#%s\t%-30s :%s\n" k prefix p + | _, Some p -> Printf.sprintf "%s\t%-30s :%s\n" k prefix p ) + | _ -> "" + end + ^ String.concat "" subs + in + aux (string_of_path prefix) (t#path prefix) + + let conf_set (t : ut) s = + if Str.string_match line_regexp s 0 then ( + let val0 = Str.matched_group 1 s in + let val1 = Str.matched_group 2 s in + let val2 = Str.matched_group 3 s in + let st = t#path (path_of_string val1) in + match val0 with + | "unit" -> ( + match val2 = "" with + | false -> raise (Wrong_Conf (s, "unit expected")) + | true -> (as_unit st)#set () ) + | "int" -> + let i = + try int_of_string val2 + with Invalid_argument _ -> + raise (Wrong_Conf (s, "integer expected")) + in + (as_int st)#set i + | "float" -> + let f = + try float_of_string val2 + with Invalid_argument _ -> + raise (Wrong_Conf (s, "float expected")) + in + (as_float st)#set f + | "bool" -> + let b = + try bool_of_string val2 + with Invalid_argument _ -> + raise (Wrong_Conf (s, "boolean expected")) + in + (as_bool st)#set b + | "string" -> + let s = val2 in + (as_string st)#set s + | "list" -> + let l = Str.split list_sep_regexp val2 in + (as_list st)#set l + | _ -> raise (Wrong_Conf (s, "unknown type")) ) + else raise (Wrong_Conf (s, "syntax error")) + + let conf_file t s = + let nb = ref 0 in + let f = open_in s in + try + while true do + nb := !nb + 1; + let l = input_line f in + if Str.string_match comment_regexp l 0 then () + else begin + try conf_set t l + with Wrong_Conf (_, y) -> raise (File_Wrong_Conf (s, !nb, y)) + end + done + with End_of_file -> () + + let args t = + [ + ( ["--conf-file"; "-f"], + Arg.String (conf_file t), + "read the given configuration file" ); + ( ["--conf-set"; "-s"], + Arg.String (conf_set t), + "apply the given configuration assignation" ); + ( ["--conf-descr-key"], + Arg.String + (fun p -> + Printf.printf "%s" (descr ~prefix:(path_of_string p) t); + exit 0), + "describe a configuration key" ); + ( ["--conf-descr"], + Arg.Unit + (fun () -> + Printf.printf "%s" (descr t); + exit 0), + "display a described table of the configuration keys" ); + ( ["--conf-dump"], + Arg.Unit + (fun () -> + Printf.printf "%s" (dump t); + exit 0), + "dump the configuration state" ); + ] +end + +module Init = struct + let conf = Conf.void "initialization configuration" + + (* Unix.fork is not implemented in Win32. *) + let daemon_conf = + if Sys.os_type <> "Win32" then conf else Conf.void "dummy conf" + + let conf_daemon = + Conf.bool ~p:(daemon_conf#plug "daemon") ~d:false "run in daemon mode" + + let conf_daemon_pidfile = + Conf.bool + ~p:(conf_daemon#plug "pidfile") + ~d:false "support for pidfile generation" + + let conf_daemon_pidfile_path = + Conf.string ~p:(conf_daemon_pidfile#plug "path") "path to pidfile" + + let conf_daemon_drop_user = + Conf.bool + ~p:(conf_daemon#plug "change_user") + ~d:false "Changes the effective user (drops privileges)." + + let conf_daemon_user = + Conf.string + ~p:(conf_daemon_drop_user#plug "user") + ~d:"daemon" "User used to run the daemon." + + let conf_daemon_group = + Conf.string + ~p:(conf_daemon_drop_user#plug "group") + ~d:"daemon" "Group used to run the daemon." + + let conf_trace = + Conf.bool ~p:(conf#plug "trace") ~d:false "dump an initialization trace" + + let conf_concurrent = + Conf.bool ~p:(conf#plug "concurrent") ~d:false + "run initialization using concurrent threads" + + let conf_catch_exn = + Conf.bool ~p:(conf#plug "catch_exn") ~d:true + "catch exceptions, use false to backtrace exceptions" + + type t = { + name : string; + mutable launched : bool; + mutable depends : t list; + mutable triggers : t list; + mutable mutex : Mutex.t; + f : unit -> unit; + } + + let make ?(name = "") ?(depends = []) ?(triggers = []) ?(after = []) + ?(before = []) f = + let na = + { name; launched = false; depends; triggers; mutex = Mutex.create (); f } + in + List.iter (fun a -> a.triggers <- na :: a.triggers) after; + List.iter (fun a -> a.depends <- na :: a.depends) before; + na + + let start = make ~name:"init-start" flush_all + let stop = make ~name:"init-stop" flush_all + + let at_start ?name ?depends ?triggers ?after ?before f = + let a = make ?name ?depends ?triggers ?after ?before f in + start.triggers <- a :: start.triggers; + a + + let at_stop ?name ?depends ?triggers ?after ?before f = + let a = make ?name ?depends ?triggers ?after ?before f in + stop.depends <- a :: stop.depends; + a + + let exec a = + let log = + if conf_trace#get then fun s -> + let id = Thread.id (Thread.self ()) in + Printf.printf "init(%i):%-35s@%s\n%!" id a.name s + else fun _ -> () + in + let rec exec a = + log "called"; + Mutex.lock a.mutex; + try + if not a.launched then begin + a.launched <- true; + log "start"; + log "start-depends"; + mult_exec a.depends; + log "stop-depends"; + log "start-atom"; + a.f (); + log "stop-atom"; + log "start-triggers"; + mult_exec a.triggers; + log "stop-triggers"; + log "stop" + end; + Mutex.unlock a.mutex; + log "return" + with e -> + Mutex.unlock a.mutex; + raise e + and mult_exec l = + match conf_concurrent#get with + | true -> + let ask x = + log (Printf.sprintf "exec %s" x.name); + Thread.create exec x + in + let threads = List.map ask l in + List.iter Thread.join threads + | false -> List.iter exec l + in + exec a + + let rec wait_signal () = + try ignore (Thread.wait_signal [Sys.sigterm; Sys.sigint]) with + | Unix.Unix_error (Unix.EINTR, _, _) -> () + | Sys_error s when s = "Thread.wait_signal: Interrupted system call" -> + wait_signal () + + exception StartError of exn + exception StopError of exn + + (* Dummy functions in the case where + * Printexc does not have the required + * functions. *) + let get_backtrace () = + "ocaml-dtools not compiled with ocaml >= 3.11, cannot print stack backtrace" + + (* For the compiler.. *) + let () = ignore (get_backtrace ()) + + open Printexc + + let main f () = + begin + try exec start with e -> raise (StartError e) + end; + let quit pid = if Sys.os_type <> "Win32" then Unix.kill pid Sys.sigterm in + let thread pid = + try + f (); + quit pid + with e -> + let se = Printexc.to_string e in + Printf.eprintf + "init: exception encountered during main phase:\n %s\n%!" se; + Printf.eprintf "exception: %s\n%s%!" se (get_backtrace ()); + if conf_catch_exn#get then quit pid else raise e + in + let th = Thread.create thread (Unix.getpid ()) in + if Sys.os_type <> "Win32" then wait_signal () else Thread.join th; + try exec stop with e -> raise (StopError e) + + let catch f clean = + try + f (); + clean () + with + | StartError e -> + Printf.eprintf + "init: exception encountered during start phase:\n %s\n%!" + (Printexc.to_string e); + clean (); + exit (-1) + | StopError e -> + Printf.eprintf + "init: exception encountered during stop phase:\n %s\n%!" + (Printexc.to_string e); + clean (); + exit (-1) + + (** A function to reopen a file descriptor + * Thanks to Xavier Leroy! + * Ref: http://caml.inria.fr/pub/ml-archives/caml-list/2000/01/ + * a7e3bbdfaab33603320d75dbdcd40c37.en.html + *) + let reopen_out outchan filename = + flush outchan; + let fd1 = Unix.descr_of_out_channel outchan in + let fd2 = Unix.openfile filename [Unix.O_WRONLY] 0o666 in + Unix.dup2 fd2 fd1; + Unix.close fd2 + + (** The same for inchan *) + let reopen_in inchan filename = + let fd1 = Unix.descr_of_in_channel inchan in + let fd2 = Unix.openfile filename [Unix.O_RDONLY] 0o666 in + Unix.dup2 fd2 fd1; + Unix.close fd2 + + let daemonize () = + if Unix.fork () <> 0 then exit 0; + (* Dettach from the console *) + if Unix.setsid () < 0 then exit 1; + (* Refork.. *) + if Unix.fork () <> 0 then exit 0; + (* Change umask to 0 *) + ignore (Unix.umask 0); + (* chdir to / *) + Unix.chdir "/"; + if conf_daemon_pidfile#get then begin + (* Write PID to file *) + let filename = conf_daemon_pidfile_path#get in + let f = open_out filename in + let pid = Unix.getpid () in + output_string f (string_of_int pid); + output_char f '\n'; + close_out f + end; + (* Reopen usual file descriptor *) + reopen_in stdin "/dev/null"; + reopen_out stdout "/dev/null"; + reopen_out stderr "/dev/null" + + let cleanup_daemon () = + if conf_daemon_pidfile#get then ( + try + let filename = conf_daemon_pidfile_path#get in + Sys.remove filename + with _ -> () ) + + exception Root_prohibited of [ `User | `Group | `Both ] + + let exit_when_root () = + (* Change user.. *) + if conf_daemon_drop_user#get then begin + let grd = Unix.getgrnam conf_daemon_group#get in + let gid = grd.Unix.gr_gid in + if Unix.getegid () <> gid then Unix.setgid gid; + let pwd = Unix.getpwnam conf_daemon_user#get in + let uid = pwd.Unix.pw_uid in + if Unix.geteuid () <> uid then Unix.setuid uid + end; + match (Unix.geteuid (), Unix.getegid ()) with + | 0, 0 -> raise (Root_prohibited `Both) + | 0, _ -> raise (Root_prohibited `User) + | _, 0 -> raise (Root_prohibited `Group) + | _ -> () + + let init ?(prohibit_root = false) f = + if prohibit_root then exit_when_root (); + if conf_daemon#get && Sys.os_type <> "Win32" then daemonize (); + let signal_h _ = () in + Sys.set_signal Sys.sigterm (Sys.Signal_handle signal_h); + Sys.set_signal Sys.sigint (Sys.Signal_handle signal_h); + (* We block signals that would kill us, + * we'll wait for them and shutdown cleanly. + * On Windows this is impossible so the only way for the application + * to shutdown is to terminate the main function [f]. *) + if Sys.os_type <> "Win32" then + ignore (Unix.sigprocmask Unix.SIG_BLOCK [Sys.sigterm; Sys.sigint]); + let cleanup = + if conf_daemon#get && Sys.os_type <> "Win32" then cleanup_daemon + else fun () -> () + in + catch (main f) cleanup + + let args = + if Sys.os_type <> "Win32" then + [ + ( ["--daemon"; "-d"], + Arg.Unit (fun () -> conf_daemon#set true), + "run in daemon mode" ); + ] + else [] +end + +module Log = struct + type t = + < active : int -> bool + ; f : 'a. int -> ('a, unit, string, unit) format4 -> 'a > + + type custom_log = { timestamp : bool; exec : string -> unit } + + let log_ch = ref None + + (* Custom logging methods. *) + let custom_log : (string, custom_log) Hashtbl.t = Hashtbl.create 0 + let add_custom_log name f = Hashtbl.replace custom_log name f + let rm_custom_log name = Hashtbl.remove custom_log name + let conf = Conf.void "log configuration" + let conf_level = Conf.int ~p:(conf#plug "level") ~d:3 "general log level" + + let conf_unix_timestamps = + Conf.bool + ~p:(conf#plug "unix_timestamps") + ~d:false + "display unix timestamps (subsecond accuracy, timezone independant)" + + let conf_file = Conf.bool ~p:(conf#plug "file") ~d:true "log to file" + let conf_file_path = Conf.string ~p:(conf_file#plug "path") "path to log file" + + let conf_file_append = + Conf.bool ~p:(conf_file#plug "append") ~d:true "append log to the file" + + let conf_file_perms = + Conf.int ~p:(conf_file#plug "perms") ~d:0o600 "log file permissions" + + let conf_stdout = Conf.bool ~p:(conf#plug "stdout") ~d:false "log to stdout" + + let timestamp time = + match conf_unix_timestamps#get with + | true -> Printf.sprintf "%f" time + | false -> + let date = Unix.localtime time in + Printf.sprintf "%d/%02d/%02d %02d:%02d:%02d" + (date.Unix.tm_year + 1900) (date.Unix.tm_mon + 1) date.Unix.tm_mday + date.Unix.tm_hour date.Unix.tm_min date.Unix.tm_sec + + let print (time, str) = + let to_stdout = conf_stdout#get in + let to_file = !log_ch <> None in + let timestamp = timestamp time in + let message = Printf.sprintf "%s %s" timestamp str in + begin + match to_stdout || to_file with + | true -> + let do_stdout () = Printf.printf "%s\n%!" message in + let do_file () = + match !log_ch with + | None -> () + | Some ch -> Printf.fprintf ch "%s\n%!" message + in + if to_stdout then do_stdout (); + if to_file then do_file () + | false -> () + end; + let f _ x = x.exec (if x.timestamp then message else str) in + Hashtbl.iter f custom_log + + (* Avoid interlacing logs *) + let log_mutex = Mutex.create () + let log_condition = Condition.create () + let log_queue = ref (Queue.create ()) + let log_stop = ref false + let log_thread = ref None + + let mutexify f x = + Mutex.lock log_mutex; + try + let ret = f x in + Mutex.unlock log_mutex; + ret + with e -> + Mutex.unlock log_mutex; + raise e + + let rotate_queue () = + let new_q = Queue.create () in + mutexify + (fun () -> + let q = !log_queue in + log_queue := new_q; + q) + () + + let flush_queue () = + let rec flush q = + Queue.iter print q; + let q = rotate_queue () in + if not (Queue.is_empty q) then flush q + in + flush (rotate_queue ()) + + let log_thread_fn () = + let rec f () = + flush_queue (); + let log_stop = + mutexify + (fun () -> + if !log_stop then true + else begin + Condition.wait log_condition log_mutex; + !log_stop + end) + () + in + if not log_stop then f () + in + f () + + let proceed = + mutexify (fun entry -> + Queue.push entry !log_queue; + Condition.signal log_condition) + + let build path = + let rec aux p l (t : Conf.ut) = + match p with + | [] -> t :: l + | s :: q -> + let st = + try t#path [s] + with Conf.Unbound _ -> + let c = Conf.int ~p:(t#plug s) "subordinate log level" in + c#ut + in + aux q (t :: l) st + in + aux path [] conf_level#ut + + let make path : t = + let confs = build path in + let path_str = Conf.string_of_path path in + object (self : t) + val label = fun lvl -> "[" ^ path_str ^ ":" ^ string_of_int lvl ^ "]" + + method active lvl = + let rec aux l = + match l with + | [] -> None + | t :: q -> ( + match aux q with + | Some i -> Some i + | None -> ( + try Some (Conf.as_int t)#get + with Conf.Undefined _ -> None ) ) + in + match aux confs with None -> false | Some i -> i >= lvl + + method f lvl = + match self#active lvl with + | true -> + let time = Unix.gettimeofday () in + Printf.ksprintf (fun s -> proceed (time, label lvl ^ " " ^ s)) + | false -> Printf.ksprintf (fun _ -> ()) + end + + let init () = + let time = Unix.gettimeofday () in + let reopen_log = + if conf_file#get then begin + let opts = + [Open_wronly; Open_creat; Open_nonblock] + @ if conf_file_append#get then [Open_append] else [Open_trunc] + in + let log_file_path = conf_file_path#get in + let log_file_perms = conf_file_perms#get in + log_ch := Some (open_out_gen opts log_file_perms log_file_path); + fun _ -> + begin + match !log_ch with + | None -> () + | Some ch -> + log_ch := None; + close_out ch + end; + log_ch := Some (open_out_gen opts log_file_perms log_file_path) + end + else fun _ -> () + in + (* Re-open log file on SIGUSR1 -- for logrotate *) + if Sys.os_type <> "Win32" then + Sys.set_signal Sys.sigusr1 (Sys.Signal_handle reopen_log); + print (time, ">>> LOG START"); + log_thread := Some (Thread.create log_thread_fn ()) + + let start = Init.make ~name:"init-log-start" ~before:[Init.start] init + + let close () = + let time = Unix.gettimeofday () in + mutexify (fun () -> log_stop := true) (); + proceed (time, ">>> LOG END"); + begin + match !log_thread with + | None -> () + | Some th -> + Condition.signal log_condition; + Thread.join th + end; + match !log_ch with + | None -> () + | Some ch -> + log_ch := None; + close_out ch + + let stop = Init.make ~name:"init-log-stop" ~after:[Init.stop] close + + let args = + [ + ( ["--log-stdout"], + Arg.Unit (fun () -> conf_stdout#set true), + "log also to stdout" ); + ( ["--log-file"; "-l"], + Arg.String + (fun s -> + conf_file#set true; + conf_file_path#set s), + "log file" ); + ] +end diff -Nru ocaml-dtools-0.4.1/src/dtools.ml ocaml-dtools-0.4.2/src/dtools.ml --- ocaml-dtools-0.4.1/src/dtools.ml 2018-09-11 05:09:44.000000000 +0000 +++ ocaml-dtools-0.4.2/src/dtools.ml 2020-03-28 00:34:27.000000000 +0000 @@ -1,957 +1,21 @@ - - (**************************************************************************) - (* ocaml-dtools *) - (* Copyright (C) 2003-2010 The Savonet Team *) - (**************************************************************************) - (* This program is free software; you can redistribute it and/or modify *) - (* it under the terms of the GNU General Public License as published by *) - (* the Free Software Foundation; either version 2 of the License, or *) - (* any later version. *) - (**************************************************************************) - (* Contact: savonet-devl@lists.sourceforge.net *) - (**************************************************************************) +(**************************************************************************) +(* ocaml-dtools *) +(* Copyright (C) 2003-2010 The Savonet Team *) +(**************************************************************************) +(* This program is free software; you can redistribute it and/or modify *) +(* it under the terms of the GNU General Public License as published by *) +(* the Free Software Foundation; either version 2 of the License, or *) +(* any later version. *) +(**************************************************************************) +(* Contact: savonet-devl@lists.sourceforge.net *) +(**************************************************************************) (* $Id$ *) (** - ocaml-dtools + ocaml-dtools. @author Stephane Gimenez *) -module Conf = -struct - - type link = string - type path = link list - - and ut = - < - kind: string option; - descr: string; - comments: string list; - plug: string -> ut -> unit; - subs: string list; - path: string list -> ut; - routes: ut -> path list; - ut: ut; - > - - type 'a t = - < - kind: string option; - alias: - ?comments:string list -> - ?descr:string -> - (ut -> unit) -> 'a t; - descr: string; - comments: string list; - plug: string -> ut -> unit; - subs: string list; - path: string list -> ut; - routes: ut -> path list; - ut: ut; - set_d: 'a option -> unit; - get_d: 'a option; - set: 'a -> unit; - get: 'a; - on_change: ('a -> unit) -> unit - > - - type links = (string * ut) list - - type 'a builder = - ?d:'a -> - ?p:(ut -> unit) -> - ?l:links -> - ?comments:string list -> - string -> 'a t - - exception Undefined of ut - exception Invalid of string - exception Unbound of ut * string - exception Bound of ut * string - exception Mismatch of ut - exception Wrong_Conf of string * string - exception File_Wrong_Conf of string * int * string - exception Cyclic of ut * ut - - let path_sep_regexp = - Str.regexp "\\." - let list_sep_regexp = - Str.regexp ":" - let line_regexp = - Str.regexp - "^[ \t]*\\([a-zA-Z]+\\)[ \t]+\\([a-zA-Z0-9._-]+\\)[ \t]*:\\(.*\\)$" - let comment_regexp = - Str.regexp "^[ ]*\\(#.*\\)?$" - - let check s = - if Str.string_match path_sep_regexp s 0 then raise (Invalid (s)) - - let make kind - ?(d : 'a option) - ?(p : ut -> unit = fun _ -> ()) - ?(l : links = []) - ?(comments : string list = []) - descr - : 'a t = - object (self) - - val kind : string option = kind - val mutable descr : string = descr - val mutable comments : string list = comments - - val mutable links : links = [] - - val value_d : 'a option ref = ref d - val value : 'a option ref = ref None - - val mutable listeners : ('a -> unit) list = [] - - initializer - p self#ut; - List.iter (fun (s, t) -> self#plug s t) l - - method subs = - List.sort compare (List.map fst links) - - method private sub (s : string) : ut = - check s; - begin try - List.assoc s links - with - | Not_found -> raise (Unbound (self#ut, s)) - end - - method path (l : string list) : ut = - begin match l with - | [] -> self#ut - | s :: q -> (self#sub s)#path q - end - - method routes (st : ut) = - (* todo: cache already accessed nodes *) - let rec aux l t = - begin match t = st with - | true -> [List.rev l] - | false -> - List.concat (List.map (fun s -> aux (s :: l) (t#path [s])) t#subs) - end - in - aux [] self#ut - - method kind = kind - - method descr = descr - method private set_descr new_descr = - descr <- new_descr - - method comments = comments - method private set_comments new_comments = - comments <- new_comments - - method plug s t = - if t#routes self#ut <> [] then raise (Cyclic (self#ut, t)); - if List.mem_assoc s links then raise (Bound (self#ut, s)); - links <- (s, t) :: links - - (* Nice hack. heh! *) - method alias ?comments ?descr p = - let maybe f x = - match x with - | Some x -> f x - | None -> () - in - let old_comments = self#comments in - let old_descr = self#descr in - maybe self#set_comments comments ; - maybe self#set_descr descr ; - let key = Oo.copy self in - p key#ut ; - self#set_comments old_comments; - self#set_descr old_descr; - key - - method ut = (self :> ut) - - method get_d : 'a option = !value_d - - method set_d (v : 'a option) : unit = value_d := v - - method get : 'a = - begin match !value with - | None -> - begin match !value_d with - | None -> raise (Undefined (self#ut)) - | Some v -> v - end - | Some v -> v - end - - method set (v : 'a) : unit = - value := Some v; - List.iter (fun fn -> fn v) listeners - - method on_change (fn : 'a -> unit) : unit = - listeners <- fn::listeners - - end - - let void ?p ?l ?comments descr = - (make None ?p ?l ~d:None ?comments descr)#ut - - let unit ?d = make (Some "unit") ?d - let int ?d = make (Some "int") ?d - let float ?d = make (Some "float") ?d - let bool ?d = make (Some "bool") ?d - let string ?d = make (Some "string") ?d - let list ?d = make (Some "list") ?d - - (* Harmful function, do not use *) - let force_type c (t : ut) : 'a t = - begin match t#kind with - | Some x when x = c -> (Obj.magic t : 'a t) - | _ -> raise (Mismatch (t)) - end - - let as_unit t : unit t = force_type "unit" t - let as_int t : int t = force_type "int" t - let as_float t : float t = force_type "float" t - let as_bool t : bool t = force_type "bool" t - let as_string t : string t = force_type "string" t - let as_list t : string list t = force_type "list" t - - let path_of_string p = - Str.split path_sep_regexp p - let string_of_path p = - String.concat "." p - - let get_string (t : ut) = - begin try - begin match t#kind with - | None -> None - | Some "unit" -> Some ("") - | Some "int" -> Some (string_of_int (as_int t)#get) - | Some "float" -> Some (string_of_float (as_float t)#get) - | Some "bool" -> Some (string_of_bool (as_bool t)#get) - | Some "string" -> Some ((as_string t)#get) - | Some "list" -> Some (String.concat ":" (as_list t)#get) - | _ -> assert false - end - with - | Undefined _ -> None - end - - let get_d_string (t : ut) = - let mapopt f = (function None -> None | Some x -> Some (f x)) in - begin try - begin match t#kind with - | None -> None - | Some "unit" -> mapopt (fun () -> "") (as_unit t)#get_d - | Some "int" -> mapopt string_of_int (as_int t)#get_d - | Some "float" -> mapopt string_of_float (as_float t)#get_d - | Some "bool" -> mapopt string_of_bool (as_bool t)#get_d - | Some "string" -> (as_string t)#get_d - | Some "list" -> mapopt (String.concat ":") (as_list t)#get_d - | _ -> assert false - end - with - | Undefined _ -> None - end - - let descr ?(prefix=[]) (t : ut) = - let rec aux prefix t = - let p s = if prefix = "" then s else prefix ^ "." ^ s in - let subs = - List.map (function s -> aux (p s) (t#path [s])) t#subs - in - Printf.sprintf "## %s\n" t#descr ^ - begin match get_d_string t with - | None -> "" - | Some d -> Printf.sprintf "# default :%s\n" d - end ^ - begin match t#kind, get_string t with - | Some k, None -> - Printf.sprintf "#%s\t%-30s\n" k prefix - | Some k, Some p -> - Printf.sprintf "%s\t%-30s :%s\n" k prefix p - | _ -> "" - end ^ - begin match t#comments with - | [] -> "" - | l -> - "# comments:\n" ^ - String.concat "" (List.map (fun s -> Printf.sprintf "# %s\n" s) l) - end ^ - "\n" ^ String.concat "" subs - in - aux (string_of_path prefix) (t#path prefix) - - let dump ?(prefix=[]) (t : ut) = - let rec aux prefix t = - let p s = if prefix = "" then s else prefix ^ "." ^ s in - let subs = - List.map (function s -> aux (p s) (t#path [s])) t#subs - in - begin match t#kind with - | Some k -> - begin match get_d_string t, get_string t with - | None, None -> - Printf.sprintf "#%s\t%-30s\n" k prefix - | Some p, None -> - Printf.sprintf "#%s\t%-30s :%s\n" k prefix p - | Some p, Some p' when p' = p -> - Printf.sprintf "#%s\t%-30s :%s\n" k prefix p - | _, Some p -> - Printf.sprintf "%s\t%-30s :%s\n" k prefix p - end - | _ -> "" - end ^ - String.concat "" subs - in - aux (string_of_path prefix) (t#path prefix) - - let conf_set (t: ut) s = - if Str.string_match line_regexp s 0 - then - let val0 = Str.matched_group 1 s in - let val1 = Str.matched_group 2 s in - let val2 = Str.matched_group 3 s in - let st = t#path (path_of_string val1) in - begin match val0 with - | "unit" -> - begin match val2 = "" with - | false -> raise (Wrong_Conf (s, "unit expected")) - | true -> (as_unit st)#set () - end - | "int" -> - let i = - begin try int_of_string val2 with - | Invalid_argument _ -> - raise (Wrong_Conf (s, "integer expected")) - end - in - (as_int st)#set i - | "float" -> - let f = - begin try float_of_string val2 with - | Invalid_argument _ -> - raise (Wrong_Conf (s, "float expected")) - end - in - (as_float st)#set f - | "bool" -> - let b = - begin try bool_of_string val2 with - | Invalid_argument _ -> - raise (Wrong_Conf (s, "boolean expected")) - end - in - (as_bool st)#set b - | "string" -> - let s = val2 in - (as_string st)#set s - | "list" -> - let l = Str.split list_sep_regexp val2 in - (as_list st)#set l - | _ -> raise (Wrong_Conf (s, "unknown type")) - end - else raise (Wrong_Conf (s, "syntax error")) - - let conf_file t s = - let nb = Pervasives.ref 0 in - let f = open_in s in - begin try - while true do - nb := !nb + 1; - let l = input_line f in - if Str.string_match comment_regexp l 0 - then () - else - begin try conf_set t l with - | Wrong_Conf (_,y) -> - raise (File_Wrong_Conf (s,!nb,y)) - end - done - with - | End_of_file -> () - end - - let args t = - [ - ["--conf-file";"-f"], - Arg.String (conf_file t), - "read the given configuration file"; - ["--conf-set";"-s"], - Arg.String (conf_set t), - "apply the given configuration assignation"; - ["--conf-descr-key"], - Arg.String (fun p -> - Printf.printf "%s" (descr ~prefix:(path_of_string p) t); exit 0), - "describe a configuration key"; - ["--conf-descr"], - Arg.Unit (fun () -> - Printf.printf "%s" (descr t); exit 0), - "display a described table of the configuration keys"; - ["--conf-dump"], - Arg.Unit (fun () -> - Printf.printf "%s" (dump t); exit 0), - "dump the configuration state"; - ] - -end - -module Init = -struct - - let conf = - Conf.void "initialization configuration" - (* Unix.fork is not implemented in Win32. *) - let daemon_conf = - if Sys.os_type <> "Win32" then conf - else Conf.void "dummy conf" - let conf_daemon = - Conf.bool ~p:(daemon_conf#plug "daemon") ~d:false - "run in daemon mode" - let conf_daemon_pidfile = - Conf.bool ~p:(conf_daemon#plug "pidfile") ~d:false - "support for pidfile generation" - let conf_daemon_pidfile_path = - Conf.string ~p:(conf_daemon_pidfile#plug "path") - "path to pidfile" - let conf_daemon_drop_user = - Conf.bool ~p:(conf_daemon#plug "change_user") ~d:false - "Changes the effective user (drops privileges)." - let conf_daemon_user = - Conf.string ~p:(conf_daemon_drop_user#plug "user") - ~d:"daemon" "User used to run the daemon." - let conf_daemon_group = - Conf.string ~p:(conf_daemon_drop_user#plug "group") - ~d:"daemon" "Group used to run the daemon." - let conf_trace = - Conf.bool ~p:(conf#plug "trace") ~d:false - "dump an initialization trace" - let conf_concurrent = - Conf.bool ~p:(conf#plug "concurrent") ~d:false - "run initialization using concurrent threads" - let conf_catch_exn = - Conf.bool ~p:(conf#plug "catch_exn") ~d:true - "catch exceptions, use false to backtrace exceptions" - - type t = - { - name: string; - mutable launched: bool; - mutable depends: t list; - mutable triggers: t list; - mutable mutex: Mutex.t; - f: unit -> unit; - } - - let make ?(name="") ?(depends=[]) ?(triggers=[]) ?(after=[]) ?(before=[]) f = - let na = - { - name = name; - launched = false; - depends = depends; - triggers = triggers; - mutex = Mutex.create (); - f = f; - } - in - List.iter (fun a -> a.triggers <- na :: a.triggers) after; - List.iter (fun a -> a.depends <- na :: a.depends) before; - na - - let start = make ~name:"init-start" flush_all - - let stop = make ~name:"init-stop" flush_all - - let at_start ?name ?depends ?triggers ?after ?before f = - let a = make ?name ?depends ?triggers ?after ?before f in - start.triggers <- a :: start.triggers; - a - - let at_stop ?name ?depends ?triggers ?after ?before f = - let a = make ?name ?depends ?triggers ?after ?before f in - stop.depends <- a :: stop.depends; - a - - let exec a = - let log = - if conf_trace#get then - begin fun s -> - let id = Thread.id (Thread.self ()) in - Printf.printf "init(%i):%-35s@%s\n%!" id a.name s - end - else begin fun _ -> () end - in - let rec exec a = - log "called"; - Mutex.lock a.mutex; - try - if not a.launched - then begin - a.launched <- true; - log "start"; - log "start-depends"; - mult_exec a.depends; - log "stop-depends"; - log "start-atom"; - a.f (); - log "stop-atom"; - log "start-triggers"; - mult_exec a.triggers; - log "stop-triggers"; - log "stop"; - end; - Mutex.unlock a.mutex; - log "return" - with e -> Mutex.unlock a.mutex; raise e - and mult_exec l = - begin match conf_concurrent#get with - | true -> - let ask x = - log (Printf.sprintf "exec %s" x.name); - Thread.create exec x - in - let threads = List.map ask l in - List.iter Thread.join threads - | false -> List.iter exec l - end - in - exec a - - let rec wait_signal () = - begin try - ignore (Thread.wait_signal [Sys.sigterm; Sys.sigint]); - with - | Unix.Unix_error (Unix.EINTR,_,_) -> () - | Sys_error("Thread.wait_signal: Interrupted system call") -> - wait_signal () - end - - exception StartError of exn - exception StopError of exn - - (* Dummy functions in the case where - * Printexc does not have the required - * functions. *) - let get_backtrace () = - "ocaml-dtools not compiled with ocaml >= 3.11, \ - cannot print stack backtrace" - - (* For the compiler.. *) - let () = ignore (get_backtrace ()) - - open Printexc - - let main f () = - begin try exec start with e -> raise (StartError e) end; - let quit pid = - if Sys.os_type <> "Win32" then - Unix.kill pid Sys.sigterm - in - let thread pid = - begin try f (); quit pid with - | e -> - let se = Printexc.to_string e in - Printf.eprintf - "init: exception encountered during main phase:\n %s\n%!" se; - Printf.eprintf "exception: %s\n%s%!" se (get_backtrace ()); - if conf_catch_exn#get then quit pid else raise e - end - in - let th = Thread.create thread (Unix.getpid ()) in - if Sys.os_type <> "Win32" then - wait_signal () - else - Thread.join th ; - begin try exec stop with e -> raise (StopError e) end - - let catch f clean = - begin try - f (); clean () - with - | StartError (e) -> - Printf.eprintf - "init: exception encountered during start phase:\n %s\n%!" - (Printexc.to_string e); - clean (); - exit (-1) - | StopError (e) -> - Printf.eprintf - "init: exception encountered during stop phase:\n %s\n%!" - (Printexc.to_string e); - clean (); - exit (-1) - end - - (** A function to reopen a file descriptor - * Thanks to Xavier Leroy! - * Ref: http://caml.inria.fr/pub/ml-archives/caml-list/2000/01/ - * a7e3bbdfaab33603320d75dbdcd40c37.en.html - *) - let reopen_out outchan filename = - flush outchan; - let fd1 = Unix.descr_of_out_channel outchan in - let fd2 = - Unix.openfile filename [Unix.O_WRONLY] 0o666 - in - Unix.dup2 fd2 fd1; - Unix.close fd2 - - (** The same for inchan *) - let reopen_in inchan filename = - let fd1 = Unix.descr_of_in_channel inchan in - let fd2 = - Unix.openfile filename [Unix.O_RDONLY] 0o666 - in - Unix.dup2 fd2 fd1; - Unix.close fd2 - - let daemonize () = - if Unix.fork () <> 0 then exit 0 ; - (* Dettach from the console *) - if (Unix.setsid () < 0) then - exit 1; - (* Refork.. *) - if Unix.fork () <> 0 then exit 0 ; - (* Change umask to 0 *) - ignore(Unix.umask 0) ; - (* chdir to / *) - Unix.chdir "/" ; - if conf_daemon_pidfile#get then - begin - (* Write PID to file *) - let filename = conf_daemon_pidfile_path#get in - let f = open_out filename in - let pid = Unix.getpid () in - output_string f (string_of_int pid); - output_char f '\n'; - close_out f - end ; - (* Reopen usual file descriptor *) - reopen_in stdin "/dev/null"; - reopen_out stdout "/dev/null"; - reopen_out stderr "/dev/null" - - let cleanup_daemon () = - if conf_daemon_pidfile#get then - try - let filename = conf_daemon_pidfile_path#get in - Sys.remove filename - with _ -> () - - exception Root_prohibited of [`User|`Group|`Both] - - let exit_when_root () = - (* Change user.. *) - if conf_daemon_drop_user#get then - begin - let grd = Unix.getgrnam conf_daemon_group#get in - let gid = grd.Unix.gr_gid in - if Unix.getegid () <> gid then - Unix.setgid gid ; - let pwd = Unix.getpwnam conf_daemon_user#get in - let uid = pwd.Unix.pw_uid in - if Unix.geteuid () <> uid then - Unix.setuid uid - end; - match Unix.geteuid (), Unix.getegid () with - | 0,0 -> raise (Root_prohibited `Both) - | 0,_ -> raise (Root_prohibited `User) - | _,0 -> raise (Root_prohibited `Group) - | _ -> () - - let init ?(prohibit_root=false) f = - if prohibit_root then exit_when_root (); - if conf_daemon#get && Sys.os_type <> "Win32" then - daemonize () ; - let signal_h _ = () in - Sys.set_signal Sys.sigterm (Sys.Signal_handle signal_h); - Sys.set_signal Sys.sigint (Sys.Signal_handle signal_h); - (* We block signals that would kill us, - * we'll wait for them and shutdown cleanly. - * On Windows this is impossible so the only way for the application - * to shutdown is to terminate the main function [f]. *) - if Sys.os_type <> "Win32" then - ignore (Unix.sigprocmask Unix.SIG_BLOCK [Sys.sigterm; Sys.sigint]); - let cleanup = - if conf_daemon#get && Sys.os_type <> "Win32" then - cleanup_daemon - else - (fun () -> ()) - in - catch (main f) cleanup - - let args = - if Sys.os_type <> "Win32" then - [ - ["--daemon";"-d"], - Arg.Unit (fun () -> conf_daemon#set true), - "run in daemon mode"; - ] - else [] - -end - -module Log = -struct - - type t = - < - active: int -> bool; - f: 'a. int -> ('a, unit, string, unit) format4 -> 'a; - > - - type custom_log = - { - timestamp : bool ; - exec : string -> unit - } - - let log_ch = ref None - - (* Custom logging methods. *) - let custom_log : (string, custom_log) Hashtbl.t = Hashtbl.create 0 - - let add_custom_log name f = Hashtbl.replace custom_log name f - let rm_custom_log name = Hashtbl.remove custom_log name - - let conf = - Conf.void "log configuration" - - let conf_level = - Conf.int ~p:(conf#plug "level") ~d:3 - "general log level" - let conf_unix_timestamps = - Conf.bool ~p:(conf#plug "unix_timestamps") ~d:false - "display unix timestamps (subsecond accuracy, timezone independant)" - let conf_file = - Conf.bool ~p:(conf#plug "file") ~d:true - "log to file" - let conf_file_path = - Conf.string ~p:(conf_file#plug "path") - "path to log file" - let conf_file_append = - Conf.bool ~p:(conf_file#plug "append") ~d:true - "append log to the file" - let conf_file_perms = - Conf.int ~p:(conf_file#plug "perms") ~d:0o600 - "log file permissions" - let conf_stdout = - Conf.bool ~p:(conf#plug "stdout") ~d:false - "log to stdout" - - let timestamp time = - begin match conf_unix_timestamps#get with - | true -> - Printf.sprintf "%f" time - | false -> - let date = Unix.localtime time in - Printf.sprintf "%d/%02d/%02d %02d:%02d:%02d" - (date.Unix.tm_year+1900) - (date.Unix.tm_mon+1) - date.Unix.tm_mday - date.Unix.tm_hour - date.Unix.tm_min - date.Unix.tm_sec - end - - let print (time, str) = - let to_stdout = conf_stdout#get in - let to_file = !log_ch <> None in - let timestamp = timestamp time in - let message = - Printf.sprintf "%s %s" timestamp str - in - begin match to_stdout || to_file with - | true -> - let do_stdout () = - Printf.printf "%s\n%!" message; - in - let do_file () = - begin match !log_ch with - | None -> () - | Some ch -> Printf.fprintf ch "%s\n%!" message; - end - in - if to_stdout then do_stdout (); - if to_file then do_file (); - | false -> () - end ; - let f _ x = x.exec (if x.timestamp then message else str) in - Hashtbl.iter f custom_log - - (* Avoid interlacing logs *) - let log_mutex = Mutex.create () - let log_condition = Condition.create () - let log_queue = ref (Queue.create ()) - let log_stop = ref false - let log_thread = ref None - - let mutexify f x = - Mutex.lock log_mutex; - try - let ret = f x in - Mutex.unlock log_mutex; - ret - with - | e -> - Mutex.unlock log_mutex; - raise e - - let rotate_queue () = - let new_q = Queue.create () in - mutexify (fun () -> - let q = !log_queue in - log_queue := new_q; - q) () - - let flush_queue () = - let rec flush q = - Queue.iter print q; - let q = rotate_queue () in - if not (Queue.is_empty q) then - flush q - in - flush (rotate_queue ()) - - let log_thread_fn () = - let rec f () = - flush_queue (); - let log_stop = - mutexify (fun () -> - if !log_stop then - true - else - begin - Condition.wait log_condition log_mutex; - !log_stop - end) () - in - if not log_stop then - f () - in - f () - - let proceed = - mutexify (fun entry -> - Queue.push entry !log_queue; - Condition.signal log_condition) - - let build path = - let rec aux p l (t : Conf.ut) = - begin match p with - | [] -> t :: l - | s :: q -> - let st = - begin try t#path [s] with - | Conf.Unbound _ -> - let c = Conf.int ~p:(t#plug s) "subordinate log level" in - c#ut - end - in - aux q (t :: l) st - end - in - aux path [] conf_level#ut - - let make path : t = - let confs = build path in - let path_str = Conf.string_of_path path in - object (self : t) - val label = - (fun lvl -> "[" ^ path_str ^ ":" ^ (string_of_int lvl) ^ "]") - method active lvl = - let rec aux l = - begin match l with - | [] -> None - | t :: q -> - begin match aux q with - | Some i -> Some i - | None -> - begin try Some ((Conf.as_int t)#get) - with - | Conf.Undefined _ -> None - end - end - end - in - begin match aux confs with - | None -> false - | Some i -> i >= lvl - end - method f lvl = - begin match self#active lvl with - | true -> - let time = Unix.gettimeofday () in - Printf.ksprintf (fun s -> proceed (time, label lvl ^ " " ^ s)) - | false -> - Printf.ksprintf (fun _ -> ()) - end - end - - let init () = - let time = Unix.gettimeofday () in - let reopen_log = - if conf_file#get then - begin - let opts = - [Open_wronly; Open_creat; Open_nonblock] - @ (if conf_file_append#get then [Open_append] else [Open_trunc]) - in - let log_file_path = conf_file_path#get in - let log_file_perms = conf_file_perms#get in - log_ch := Some (open_out_gen opts log_file_perms log_file_path); - (fun _ -> - begin - match !log_ch with - | None -> () - | Some ch -> log_ch := None; close_out ch; - end; - log_ch := Some (open_out_gen opts log_file_perms log_file_path)) - end - else (fun _ -> ()) - in - (* Re-open log file on SIGUSR1 -- for logrotate *) - if Sys.os_type <> "Win32" then - Sys.set_signal Sys.sigusr1 - (Sys.Signal_handle reopen_log); - print (time, ">>> LOG START"); - log_thread := Some (Thread.create log_thread_fn ()) - - let start = Init.make ~name:"init-log-start" ~before:[Init.start] init - - let close () = - let time = Unix.gettimeofday () in - mutexify (fun () -> - log_stop := true) (); - proceed (time, ">>> LOG END"); - begin - match !log_thread with - | None -> () - | Some th -> - Condition.signal log_condition; - Thread.join th - end; - match !log_ch with - | None -> () - | Some ch -> - log_ch := None; - close_out ch - - let stop = Init.make ~name:"init-log-stop" ~after:[Init.stop] close - - let args = - [ - ["--log-stdout"], - Arg.Unit (fun () -> conf_stdout#set true), - "log also to stdout"; - ["--log-file";"-l"], - Arg.String (fun s -> conf_file#set true; conf_file_path#set s), - "log file"; - ] - -end +include Dtools_impl +include Dtools_syslog diff -Nru ocaml-dtools-0.4.1/src/dtools.mli ocaml-dtools-0.4.2/src/dtools.mli --- ocaml-dtools-0.4.1/src/dtools.mli 2018-09-11 05:09:44.000000000 +0000 +++ ocaml-dtools-0.4.2/src/dtools.mli 2020-03-28 00:34:27.000000000 +0000 @@ -1,15 +1,14 @@ - - (**************************************************************************) - (* ocaml-dtools *) - (* Copyright (C) 2003-2010 The Savonet Team *) - (**************************************************************************) - (* This program is free software; you can redistribute it and/or modify *) - (* it under the terms of the GNU General Public License as published by *) - (* the Free Software Foundation; either version 2 of the License, or *) - (* any later version. *) - (**************************************************************************) - (* Contact: savonet-devl@lists.sourceforge.net *) - (**************************************************************************) +(**************************************************************************) +(* ocaml-dtools *) +(* Copyright (C) 2003-2010 The Savonet Team *) +(**************************************************************************) +(* This program is free software; you can redistribute it and/or modify *) +(* it under the terms of the GNU General Public License as published by *) +(* the Free Software Foundation; either version 2 of the License, or *) +(* any later version. *) +(**************************************************************************) +(* Contact: savonet-devl@lists.sourceforge.net *) +(**************************************************************************) (* $Id$ *) @@ -21,26 +20,22 @@ (** Configuration management module. *) -module Conf : -sig - +module Conf : sig + (** Type for links between keys *) type link = string - (** Type for links between keys *) + (** Type for paths between keys *) type path = link list - (** Type for paths between keys *) type ut = - < - kind: string option; - descr: string; - comments: string list; - plug: link -> ut -> unit; - subs: link list; - path: path -> ut; - routes: ut -> path list; - ut: ut; - > + < kind : string option + ; descr : string + ; comments : string list + ; plug : link -> ut -> unit + ; subs : link list + ; path : path -> ut + ; routes : ut -> path list + ; ut : ut > (** Type for untyped keys (or keys with unknown type) - [kind]: a string describing the type of this key @@ -53,25 +48,21 @@ *) type 'a t = - < - kind: string option; - alias: - ?comments:string list -> - ?descr:string -> - (ut -> unit) -> 'a t; - descr: string; - comments: string list; - plug: link -> ut -> unit; - subs: link list; - path: path -> ut; - routes: ut -> path list; - ut: ut; - set_d: 'a option -> unit; - get_d: 'a option; - set: 'a -> unit; - get: 'a; - on_change: ('a -> unit) -> unit - > + < kind : string option + ; alias : ?comments:string list -> ?descr:string -> (ut -> unit) -> 'a t + ; descr : string + ; comments : string list + ; plug : link -> ut -> unit + ; subs : link list + ; path : path -> ut + ; routes : ut -> path list + ; ut : ut + ; set_d : 'a option -> unit + ; get_d : 'a option + ; set : 'a -> unit + ; get : 'a + ; validate : ('a -> bool) -> unit + ; on_change : ('a -> unit) -> unit > (** Type for 'a keys - [ut]: cast to un untyped key @@ -81,88 +72,102 @@ - [get]: retrieve the resulting key value *) + (** A set of connections to others keys *) type links = (link * ut) list - (** A set of connections to others keys *) + (** Raised on access to an undefined key (without default value) *) exception Undefined of ut - (** Raised on access to an undefined key (without default value) *) + + (** Raised when an invalid link has been specified *) exception Invalid of string - (** Raised when an invalid link has been specified *) + + (** Raised when a specified link does not exist *) exception Unbound of ut * string - (** Raised when a specified link does not exist *) + + (** Raised when a specified link already exist *) exception Bound of ut * string - (** Raised when a specified link already exist *) + + (** Raised on access to a key with a mismatching type *) exception Mismatch of ut - (** Raised on access to a key with a mismatching type *) + + (** Raised on cyclic plug *) exception Cyclic of ut * ut - (** Raised on cyclic plug *) + (** Raised on invalid value set *) + exception Invalid_Value of ut + + (** Raised when bad configuration assignations are encountered *) exception Wrong_Conf of string * string - (** Raised when bad configuration assignations are encountered *) + + (** Raised when bad configuration assignations are encountered + inside configuration files *) exception File_Wrong_Conf of string * int * string - (** Raised when bad configuration assignations are encountered - inside configuration files *) + (** Receipt to build a 'a key *) type 'a builder = - ?d:'a -> - ?p:(ut -> unit) -> - ?l:links -> - ?comments:string list -> - string -> 'a t - (** Receipt to build a 'a key *) + ?d:'a -> + ?p:(ut -> unit) -> + ?l:links -> + ?comments:string list -> + string -> + 'a t val unit : unit builder val int : int builder val float : float builder val bool : bool builder val string : string builder + + (** Some key builders *) val list : string list builder - (** Some key builders *) + (** A structural key builder *) val void : ?p:(ut -> unit) -> ?l:links -> ?comments:string list -> string -> ut - (** A structural key builder *) val as_unit : ut -> unit t val as_int : ut -> int t val as_float : ut -> float t val as_bool : ut -> bool t val as_string : ut -> string t - val as_list : ut -> string list t - (** + + (** Casts to specificaly typed keys. Raises [Mismatch] on mismatching cast. *) + val as_list : ut -> string list t + (** Convert a dot separated string to a path *) val path_of_string : string -> path - (** Convert a dot separated string to a path *) + + (** Convert a path to a dot separated string *) val string_of_path : path -> string - (** Convert a path to a dot separated string *) + (** Generate a description table of a (sub)key *) val descr : ?prefix:path -> ut -> string - (** Generate a description table of a (sub)key *) - val dump : ?prefix:path -> ut -> string - (** Dump the configuration table for a (sub)key *) - val conf_set : ut -> string -> unit - (** + (** Dump the configuration table for a (sub)key *) + val dump : ?prefix:path -> ut -> string + + (** Add a value to the configuration keys, according to the given correctly formated string: "type key :value" Raises [Wrong_Conf] in badly formated cases. *) - val conf_file : ut -> string -> unit - (** + val conf_set : ut -> string -> unit + + (** Read configuration values from the file associated with the given filename. Raises [File_Wrong_Conf] with filename line and and error message in case of a bad configuration file. *) + val conf_file : ut -> string -> unit - val args : ut -> (string list * Arg.spec * string) list - (** + (** A set of command line options to be used with the Arg module. *) - + val args : ut -> (string list * Arg.spec * string) list end (** @@ -170,57 +175,64 @@ Allow to define procedures that must be executed at start up, and procedures that are to be executed at exit to have a clean quit. *) -module Init : -sig - +module Init : sig type t + (** Root start atom *) val start : t - (** Root start atom *) + + (** Root stop atom *) val stop : t - (** Root stop atom *) - val make : - ?name:string -> - ?depends:(t list) -> ?triggers:(t list) -> - ?after:(t list) -> ?before:(t list) -> - (unit -> unit) -> t - (** + (** Define a init atom associated with the given [(unit -> unit)] procedure, which eventualy depends on others atoms (these atoms - will be executed before the one currently defined) an triggers + will be executed before the one currently defined) and triggers other atoms (these atoms will be executed after the one currently defined). [after] and [before] allow to register the currently defined atom in the depend and triggers lists of other atoms. *) - - val at_start : + val make : ?name:string -> - ?depends:(t list) -> ?triggers:(t list) -> - ?after:(t list) -> ?before:(t list) -> - (unit -> unit) -> t - (** + ?depends:t list -> + ?triggers:t list -> + ?after:t list -> + ?before:t list -> + (unit -> unit) -> + t + + (** Same as [make] plus a shortcut for "after Init.start". *) - - val at_stop : + val at_start : ?name:string -> - ?depends:(t list) -> ?triggers:(t list) -> - ?after:(t list) -> ?before:(t list) -> - (unit -> unit) -> t - (** + ?depends:t list -> + ?triggers:t list -> + ?after:t list -> + ?before:t list -> + (unit -> unit) -> + t + + (** Same as [make] plus a shortcut for "before Init.stop". *) + val at_stop : + ?name:string -> + ?depends:t list -> + ?triggers:t list -> + ?after:t list -> + ?before:t list -> + (unit -> unit) -> + t - val exec : t -> unit - (** + (** Launch the execution of a given init atom. *) + val exec : t -> unit - exception Root_prohibited of [`User|`Group|`Both] + exception Root_prohibited of [ `User | `Group | `Both ] - val init : ?prohibit_root:bool -> (unit -> unit) -> unit - (** + (** This fuction must be used to launch the main procedure of the program. It first execute the registered start atoms, then call the main procedure, then execute the registered stop atoms. @@ -230,6 +242,7 @@ When invoqued with [~prohibit_root:true], it checks for root access rights (euid, egid) and exit in this case. *) + val init : ?prohibit_root:bool -> (unit -> unit) -> unit exception StartError of exn exception StopError of exn @@ -242,56 +255,46 @@ val conf_trace : bool Conf.t val conf_catch_exn : bool Conf.t - val args : (string list * Arg.spec * string) list - (** + (** A set of command line options to be used with the Arg module. *) - + val args : (string list * Arg.spec * string) list end - -module Log : -sig - - type t = - < - active: int -> bool; - f: 'a. int -> ('a, unit, string, unit) format4 -> 'a; - > - (** +module Log : sig + (** Type for loggers. *) + type t = + < active : int -> bool + ; f : 'a. int -> ('a, unit, string, unit) format4 -> 'a > - type custom_log = - { - timestamp : bool ; - exec : string -> unit - } + type custom_log = { timestamp : bool; exec : string -> unit } - val add_custom_log : string -> custom_log -> unit - (** + (** Add a custom logging functions. *) + val add_custom_log : string -> custom_log -> unit - val rm_custom_log : string -> unit - (** + (** Remove a custom logging functions. *) + val rm_custom_log : string -> unit - val make : Conf.path -> t - (** + (** Make a logger labeled according to the given path. *) + val make : Conf.path -> t - val start : Init.t - (** + (** An atom that starts the logging. *) + val start : Init.t - val stop : Init.t - (** + (** An atom that stops the logging. *) + val stop : Init.t val conf : Conf.ut val conf_level : int Conf.t @@ -302,9 +305,8 @@ val conf_file_append : bool Conf.t val conf_file_perms : int Conf.t - val args : (string list * Arg.spec * string) list - (** + (** A set of command line options to be used with the Arg module. *) - + val args : (string list * Arg.spec * string) list end diff -Nru ocaml-dtools-0.4.1/src/dtools_syslog.impl.ml ocaml-dtools-0.4.2/src/dtools_syslog.impl.ml --- ocaml-dtools-0.4.1/src/dtools_syslog.impl.ml 1970-01-01 00:00:00.000000000 +0000 +++ ocaml-dtools-0.4.2/src/dtools_syslog.impl.ml 2020-03-28 00:34:27.000000000 +0000 @@ -0,0 +1,45 @@ +(**************************************************************************) +(* ocaml-dtools *) +(* Copyright (C) 2003-2010 The Savonet Team *) +(**************************************************************************) +(* This program is free software; you can redistribute it and/or modify *) +(* it under the terms of the GNU General Public License as published by *) +(* the Free Software Foundation; either version 2 of the License, or *) +(* any later version. *) +(**************************************************************************) +(* Contact: savonet-devl@lists.sourceforge.net *) +(**************************************************************************) + +(* $Id$ *) + +(* Syslog logging. *) + +open Dtools_impl + +let conf_syslog = + Conf.bool ~p:(Log.conf#plug "syslog") ~d:false "Enable syslog logging." + +let conf_program = + Conf.string + ~p:(conf_syslog#plug "program") + ~d:(Filename.basename Sys.executable_name) + "Name of the program." + +let conf_facility = + Conf.string ~p:(conf_syslog#plug "facility") ~d:"DAEMON" "Logging facility." + +let logging = ref None + +let () = + let start () = + if conf_syslog#get then ( + let facility = Syslog.facility_of_string conf_facility#get in + let program = Printf.sprintf "%s[%d]" conf_program#get (Unix.getpid ()) in + let log = Syslog.openlog ~facility program in + logging := Some log; + let exec s = Syslog.syslog log `LOG_INFO s in + Log.add_custom_log program { Log.timestamp = false; exec } ) + in + let stop () = match !logging with Some x -> Syslog.closelog x | _ -> () in + ignore (Init.at_start ~before:[Log.start] start); + ignore (Init.at_stop ~after:[Log.stop] stop) diff -Nru ocaml-dtools-0.4.1/src/dtools_syslog.ml ocaml-dtools-0.4.2/src/dtools_syslog.ml --- ocaml-dtools-0.4.1/src/dtools_syslog.ml 2018-09-11 05:09:44.000000000 +0000 +++ ocaml-dtools-0.4.2/src/dtools_syslog.ml 1970-01-01 00:00:00.000000000 +0000 @@ -1,56 +0,0 @@ - (**************************************************************************) - (* ocaml-dtools *) - (* Copyright (C) 2003-2010 The Savonet Team *) - (**************************************************************************) - (* This program is free software; you can redistribute it and/or modify *) - (* it under the terms of the GNU General Public License as published by *) - (* the Free Software Foundation; either version 2 of the License, or *) - (* any later version. *) - (**************************************************************************) - (* Contact: savonet-devl@lists.sourceforge.net *) - (**************************************************************************) - - (* $Id$ *) - - (* Syslog logging. *) - -open Dtools - -let conf_syslog = - Conf.bool ~p:(Log.conf#plug "syslog") ~d:false - "Enable syslog logging." -let conf_program = - Conf.string ~p:(conf_syslog#plug "program") - ~d:(Filename.basename Sys.executable_name) - "Name of the program." -let conf_facility = - Conf.string ~p:(conf_syslog#plug "facility") ~d:"DAEMON" - "Logging facility." - -let logging = ref None - -let () = - let start () = - if conf_syslog#get then - let facility = - Syslog.facility_of_string conf_facility#get - in - let program = - Printf.sprintf "%s[%d]" conf_program#get (Unix.getpid ()) - in - let log = Syslog.openlog ~facility program in - logging := Some log ; - let exec s = Syslog.syslog log `LOG_INFO s in - Log.add_custom_log - program { Log. - timestamp = false ; - exec = exec } - in - let stop () = - match !logging with - | Some x -> Syslog.closelog x - |_ -> () - in - ignore (Dtools.Init.at_start ~before:[Log.start] start) ; - ignore (Dtools.Init.at_stop ~after:[Log.stop] stop) - diff -Nru ocaml-dtools-0.4.1/src/dtools_syslog.noop.ml ocaml-dtools-0.4.2/src/dtools_syslog.noop.ml --- ocaml-dtools-0.4.1/src/dtools_syslog.noop.ml 1970-01-01 00:00:00.000000000 +0000 +++ ocaml-dtools-0.4.2/src/dtools_syslog.noop.ml 2020-03-28 00:34:27.000000000 +0000 @@ -0,0 +1 @@ +(* noop *) diff -Nru ocaml-dtools-0.4.1/src/dune ocaml-dtools-0.4.2/src/dune --- ocaml-dtools-0.4.1/src/dune 1970-01-01 00:00:00.000000000 +0000 +++ ocaml-dtools-0.4.2/src/dune 2020-03-28 00:34:27.000000000 +0000 @@ -0,0 +1,13 @@ +(library + (name dtools) + (public_name dtools) + (libraries + str + threads + unix + (select + dtools_syslog.ml + from + (syslog -> dtools_syslog.impl.ml) + (-> dtools_syslog.noop.ml))) + (synopsis "Library providing various helper functions to make daemons")) diff -Nru ocaml-dtools-0.4.1/src/Makefile.in ocaml-dtools-0.4.2/src/Makefile.in --- ocaml-dtools-0.4.1/src/Makefile.in 2018-09-11 05:09:44.000000000 +0000 +++ ocaml-dtools-0.4.2/src/Makefile.in 1970-01-01 00:00:00.000000000 +0000 @@ -1,43 +0,0 @@ -# Copyright 2003-2006 Savonet team - -OCAMLMAKEFILE = OCamlMakefile - -OCAMLFIND = @OCAMLFIND@ -OCAMLFIND_LDCONF= @OCAMLFIND_LDCONF@ -OCAMLC = @OCAMLC@ -OCAMLOPT = @OCAMLOPT@ -OCAMLMKTOP = @OCAMLMKTOP@ -OCAMLMKLIB = @OCAMLMKLIB@ -OCAMLCP = @OCAMLCP@ -OCAMLDEP = @OCAMLDEP@ -OCAMLLEX = @OCAMLLEX@ -OCAMLYACC = @OCAMLYACC@ -OCAMLDOC = @OCAMLDOC@ -LATEX = @LATEX@ -DVIPS = @DVIPS@ -PS2PDF = @PS2PDF@ -OCAMLLIBPATH = @CAMLLIBPATH@ -OCAMLBEST = @OCAMLBEST@ - -THREADS = "yes" -SOURCES = dtools.ml dtools.mli @SYSLOG_FILES@ -RESULT = dtools -LIBINSTALL_FILES = $(wildcard *.cma *.cmxa *.cmx *.mli *.cmi *.a) -OCAMLLDFLAGS = -linkall -INCDIRS = @INC@ -NO_CUSTOM = yes -OCAMLFLAGS = @OCAMLFLAGS@ - -all: $(OCAMLBEST) - -byte: byte-code-library - -opt: native-code-library - -install: libinstall - -uninstall: libuninstall - -update: uninstall install - --include $(OCAMLMAKEFILE) diff -Nru ocaml-dtools-0.4.1/src/META.in ocaml-dtools-0.4.2/src/META.in --- ocaml-dtools-0.4.1/src/META.in 2018-09-11 05:09:44.000000000 +0000 +++ ocaml-dtools-0.4.2/src/META.in 1970-01-01 00:00:00.000000000 +0000 @@ -1,6 +0,0 @@ -name="dtools" -version="@PACKAGE_VERSION@" -description="OCaml deamon tools library" -requires="@REQUIRES@" -archive(byte) = "dtools.cma" -archive(native) = "dtools.cmxa" diff -Nru ocaml-dtools-0.4.1/src/OCamlMakefile ocaml-dtools-0.4.2/src/OCamlMakefile --- ocaml-dtools-0.4.1/src/OCamlMakefile 2018-09-11 05:09:44.000000000 +0000 +++ ocaml-dtools-0.4.2/src/OCamlMakefile 1970-01-01 00:00:00.000000000 +0000 @@ -1,1137 +0,0 @@ -########################################################################### -# OCamlMakefile -# Copyright (C) 1999-2004 Markus Mottl -# -# For updates see: -# http://www.oefai.at/~markus/ocaml_sources -# -# $Id$ -# -########################################################################### - -# Modified by damien for .glade.ml compilation - -# Set these variables to the names of the sources to be processed and -# the result variable. Order matters during linkage! - -ifndef SOURCES - SOURCES := foo.ml -endif -export SOURCES - -ifndef RES_CLIB_SUF - RES_CLIB_SUF := _stubs -endif -export RES_CLIB_SUF - -ifndef RESULT - RESULT := foo -endif -export RESULT - -export LIB_PACK_NAME - -ifndef DOC_FILES - DOC_FILES := $(filter %.mli, $(SOURCES)) -endif -export DOC_FILES - -export BCSUFFIX -export NCSUFFIX - -ifndef TOPSUFFIX - TOPSUFFIX := .top -endif -export TOPSUFFIX - -# Eventually set include- and library-paths, libraries to link, -# additional compilation-, link- and ocamlyacc-flags -# Path- and library information needs not be written with "-I" and such... -# Define THREADS if you need it, otherwise leave it unset (same for -# USE_CAMLP4)! - -export THREADS -export VMTHREADS -export ANNOTATE -export USE_CAMLP4 - -export INCDIRS -export LIBDIRS -export EXTLIBDIRS -export RESULTDEPS -export OCAML_DEFAULT_DIRS - -export LIBS -export CLIBS - -export OCAMLFLAGS -export OCAMLNCFLAGS -export OCAMLBCFLAGS - -export OCAMLLDFLAGS -export OCAMLNLDFLAGS -export OCAMLBLDFLAGS - -ifndef OCAMLCPFLAGS - OCAMLCPFLAGS := a -endif - -export OCAMLCPFLAGS - -export PPFLAGS - -export YFLAGS -export IDLFLAGS - -export OCAMLDOCFLAGS - -export OCAMLFIND_INSTFLAGS - -export DVIPSFLAGS - -export STATIC - -# Add a list of optional trash files that should be deleted by "make clean" -export TRASH - -#################### variables depending on your OCaml-installation - -ifdef MINGW - export MINGW - WIN32 := 1 - CFLAGS_WIN32 := -mno-cygwin -endif -ifdef MSVC - export MSVC - WIN32 := 1 - ifndef STATIC - CPPFLAGS_WIN32 := -DCAML_DLL - endif - CFLAGS_WIN32 += -nologo - EXT_OBJ := obj - EXT_LIB := lib - ifeq ($(CC),gcc) - # work around GNU Make default value - ifdef THREADS - CC := cl -MT - else - CC := cl - endif - endif - ifeq ($(CXX),g++) - # work around GNU Make default value - CXX := $(CC) - endif - CFLAG_O := -Fo -endif -ifdef WIN32 - EXT_CXX := cpp - EXE := .exe -endif - -ifndef EXT_OBJ - EXT_OBJ := o -endif -ifndef EXT_LIB - EXT_LIB := a -endif -ifndef EXT_CXX - EXT_CXX := cc -endif -ifndef EXE - EXE := # empty -endif -ifndef CFLAG_O - CFLAG_O := -o # do not delete this comment (preserves trailing whitespace)! -endif - -export CC -export CXX -export CFLAGS -export CXXFLAGS -export LDFLAGS -export CPPFLAGS - -ifndef RPATH_FLAG - RPATH_FLAG := -R -endif -export RPATH_FLAG - -ifndef MSVC -ifndef PIC_CFLAGS - PIC_CFLAGS := -fPIC -endif -ifndef PIC_CPPFLAGS - PIC_CPPFLAGS := -DPIC -endif -endif - -export PIC_CFLAGS -export PIC_CPPFLAGS - -BCRESULT := $(addsuffix $(BCSUFFIX), $(RESULT)) -NCRESULT := $(addsuffix $(NCSUFFIX), $(RESULT)) -TOPRESULT := $(addsuffix $(TOPSUFFIX), $(RESULT)) - -ifndef OCAMLFIND - OCAMLFIND := ocamlfind -endif -export OCAMLFIND - -ifndef OCAMLC - OCAMLC := ocamlc -endif -export OCAMLC - -ifndef OCAMLOPT - OCAMLOPT := ocamlopt -endif -export OCAMLOPT - -ifndef OCAMLMKTOP - OCAMLMKTOP := ocamlmktop -endif -export OCAMLMKTOP - -ifndef OCAMLCP - OCAMLCP := ocamlcp -endif -export OCAMLCP - -ifndef OCAMLDEP - OCAMLDEP := ocamldep -endif -export OCAMLDEP - -ifndef OCAMLLEX - OCAMLLEX := ocamllex -endif -export OCAMLLEX - -ifndef OCAMLYACC - OCAMLYACC := ocamlyacc -endif -export OCAMLYACC - -ifndef OCAMLMKLIB - OCAMLMKLIB := ocamlmklib -endif -export OCAMLMKLIB - -ifndef OCAML_GLADECC - OCAML_GLADECC := lablgladecc2 -endif -export OCAML_GLADECC - -ifndef OCAML_GLADECC_FLAGS - OCAML_GLADECC_FLAGS := -endif -export OCAML_GLADECC_FLAGS - -ifndef CAMELEON_REPORT - CAMELEON_REPORT := report -endif -export CAMELEON_REPORT - -ifndef CAMELEON_REPORT_FLAGS - CAMELEON_REPORT_FLAGS := -endif -export CAMELEON_REPORT_FLAGS - -ifndef CAMELEON_ZOGGY - CAMELEON_ZOGGY := camlp4o pa_zog.cma pr_o.cmo -endif -export CAMELEON_ZOGGY - -ifndef CAMELEON_ZOGGY_FLAGS - CAMELEON_ZOGGY_FLAGS := -endif -export CAMELEON_ZOGGY_FLAGS - -ifndef OXRIDL - OXRIDL := oxridl -endif -export OXRIDL - -ifndef CAMLIDL - CAMLIDL := camlidl -endif -export CAMLIDL - -ifndef CAMLIDLDLL - CAMLIDLDLL := camlidldll -endif -export CAMLIDLDLL - -ifndef NOIDLHEADER - MAYBE_IDL_HEADER := -header -endif -export NOIDLHEADER - -export NO_CUSTOM - -ifndef CAMLP4 - CAMLP4 := camlp4 -endif -export CAMLP4 - -ifndef REAL_OCAMLFIND - ifdef PACKS - ifndef CREATE_LIB - ifdef THREADS - PACKS += threads - endif - endif - empty := - space := $(empty) $(empty) - comma := , - ifdef PREDS - PRE_OCAML_FIND_PREDICATES := $(subst $(space),$(comma),$(PREDS)) - PRE_OCAML_FIND_PACKAGES := $(subst $(space),$(comma),$(PACKS)) - OCAML_FIND_PREDICATES := -predicates $(PRE_OCAML_FIND_PREDICATES) - # OCAML_DEP_PREDICATES := -syntax $(PRE_OCAML_FIND_PREDICATES) - OCAML_FIND_PACKAGES := $(OCAML_FIND_PREDICATES) -package $(PRE_OCAML_FIND_PACKAGES) - OCAML_DEP_PACKAGES := $(OCAML_DEP_PREDICATES) -package $(PRE_OCAML_FIND_PACKAGES) - else - OCAML_FIND_PACKAGES := -package $(subst $(space),$(comma),$(PACKS)) - OCAML_DEP_PACKAGES := - endif - OCAML_FIND_LINKPKG := -linkpkg - REAL_OCAMLFIND := $(OCAMLFIND) - endif -endif - -export OCAML_FIND_PACKAGES -export OCAML_DEP_PACKAGES -export OCAML_FIND_LINKPKG -export REAL_OCAMLFIND - -ifndef OCAMLDOC - OCAMLDOC := ocamldoc -endif -export OCAMLDOC - -ifndef LATEX - LATEX := latex -endif -export LATEX - -ifndef DVIPS - DVIPS := dvips -endif -export DVIPS - -ifndef PS2PDF - PS2PDF := ps2pdf -endif -export PS2PDF - -ifndef OCAMLMAKEFILE - OCAMLMAKEFILE := OCamlMakefile -endif -export OCAMLMAKEFILE - -ifndef OCAMLLIBPATH - OCAMLLIBPATH := \ - $(shell $(OCAMLC) 2>/dev/null -where || echo /usr/lib/ocaml) -endif -export OCAMLLIBPATH - -ifndef OCAML_LIB_INSTALL - OCAML_LIB_INSTALL := $(OCAMLLIBPATH)/contrib -endif -export OCAML_LIB_INSTALL - -########################################################################### - -#################### change following sections only if -#################### you know what you are doing! - -# delete target files when a build command fails -.PHONY: .DELETE_ON_ERROR -.DELETE_ON_ERROR: - -# for pedants using "--warn-undefined-variables" -export MAYBE_IDL -export REAL_RESULT -export CAMLIDLFLAGS -export THREAD_FLAG -export RES_CLIB -export MAKEDLL -export ANNOT_FLAG -export C_OXRIDL -export SUBPROJS -export CFLAGS_WIN32 -export CPPFLAGS_WIN32 - -INCFLAGS := - -SHELL := /bin/sh - -MLDEPDIR := ._d -BCDIDIR := ._bcdi -NCDIDIR := ._ncdi - -FILTER_EXTNS := %.mli %.ml %.mll %.mly %.idl %.oxridl %.c %.$(EXT_CXX) %.rep %.zog %.glade - -FILTERED := $(filter $(FILTER_EXTNS), $(SOURCES)) -SOURCE_DIRS := $(filter-out ./, $(sort $(dir $(FILTERED)))) - -FILTERED_REP := $(filter %.rep, $(FILTERED)) -DEP_REP := $(FILTERED_REP:%.rep=$(MLDEPDIR)/%.d) -AUTO_REP := $(FILTERED_REP:.rep=.ml) - -FILTERED_ZOG := $(filter %.zog, $(FILTERED)) -DEP_ZOG := $(FILTERED_ZOG:%.zog=$(MLDEPDIR)/%.d) -AUTO_ZOG := $(FILTERED_ZOG:.zog=.ml) - -FILTERED_GLADE := $(filter %.glade, $(FILTERED)) -DEP_GLADE := $(FILTERED_GLADE:%.glade=$(MLDEPDIR)/%.d) -AUTO_GLADE := $(FILTERED_GLADE:.glade=.ml) - -FILTERED_ML := $(filter %.ml, $(FILTERED)) -DEP_ML := $(FILTERED_ML:%.ml=$(MLDEPDIR)/%.d) - -FILTERED_MLI := $(filter %.mli, $(FILTERED)) -DEP_MLI := $(FILTERED_MLI:.mli=.di) - -FILTERED_MLL := $(filter %.mll, $(FILTERED)) -DEP_MLL := $(FILTERED_MLL:%.mll=$(MLDEPDIR)/%.d) -AUTO_MLL := $(FILTERED_MLL:.mll=.ml) - -FILTERED_MLY := $(filter %.mly, $(FILTERED)) -DEP_MLY := $(FILTERED_MLY:%.mly=$(MLDEPDIR)/%.d) $(FILTERED_MLY:.mly=.di) -AUTO_MLY := $(FILTERED_MLY:.mly=.mli) $(FILTERED_MLY:.mly=.ml) - -FILTERED_IDL := $(filter %.idl, $(FILTERED)) -DEP_IDL := $(FILTERED_IDL:%.idl=$(MLDEPDIR)/%.d) $(FILTERED_IDL:.idl=.di) -C_IDL := $(FILTERED_IDL:%.idl=%_stubs.c) -ifndef NOIDLHEADER - C_IDL += $(FILTERED_IDL:.idl=.h) -endif -OBJ_C_IDL := $(FILTERED_IDL:%.idl=%_stubs.$(EXT_OBJ)) -AUTO_IDL := $(FILTERED_IDL:.idl=.mli) $(FILTERED_IDL:.idl=.ml) $(C_IDL) - -FILTERED_OXRIDL := $(filter %.oxridl, $(FILTERED)) -DEP_OXRIDL := $(FILTERED_OXRIDL:%.oxridl=$(MLDEPDIR)/%.d) $(FILTERED_OXRIDL:.oxridl=.di) -AUTO_OXRIDL := $(FILTERED_OXRIDL:.oxridl=.mli) $(FILTERED_OXRIDL:.oxridl=.ml) $(C_OXRIDL) - -FILTERED_C_CXX := $(filter %.c %.$(EXT_CXX), $(FILTERED)) -OBJ_C_CXX := $(FILTERED_C_CXX:.c=.$(EXT_OBJ)) -OBJ_C_CXX := $(OBJ_C_CXX:.$(EXT_CXX)=.$(EXT_OBJ)) - -PRE_TARGETS += $(AUTO_MLL) $(AUTO_MLY) $(AUTO_IDL) $(AUTO_OXRIDL) $(AUTO_ZOG) $(AUTO_REP) $(AUTO_GLADE) - -ALL_DEPS := $(DEP_ML) $(DEP_MLI) $(DEP_MLL) $(DEP_MLY) $(DEP_IDL) $(DEP_OXRIDL) $(DEP_ZOG) $(DEP_REP) $(DEP_GLADE) - -MLDEPS := $(filter %.d, $(ALL_DEPS)) -MLIDEPS := $(filter %.di, $(ALL_DEPS)) -BCDEPIS := $(MLIDEPS:%.di=$(BCDIDIR)/%.di) -NCDEPIS := $(MLIDEPS:%.di=$(NCDIDIR)/%.di) - -ALLML := $(filter %.mli %.ml %.mll %.mly %.idl %.oxridl %.rep %.zog %.glade, $(FILTERED)) - -IMPLO_INTF := $(ALLML:%.mli=%.mli.__) -IMPLO_INTF := $(foreach file, $(IMPLO_INTF), \ - $(basename $(file)).cmi $(basename $(file)).cmo) -IMPLO_INTF := $(filter-out %.mli.cmo, $(IMPLO_INTF)) -IMPLO_INTF := $(IMPLO_INTF:%.mli.cmi=%.cmi) - -IMPLX_INTF := $(IMPLO_INTF:.cmo=.cmx) - -INTF := $(filter %.cmi, $(IMPLO_INTF)) -IMPL_CMO := $(filter %.cmo, $(IMPLO_INTF)) -IMPL_CMX := $(IMPL_CMO:.cmo=.cmx) -IMPL_ASM := $(IMPL_CMO:.cmo=.asm) -IMPL_S := $(IMPL_CMO:.cmo=.s) - -OBJ_LINK := $(OBJ_C_IDL) $(OBJ_C_CXX) -OBJ_FILES := $(IMPL_CMO:.cmo=.$(EXT_OBJ)) $(OBJ_LINK) - -EXECS := $(addsuffix $(EXE), \ - $(sort $(TOPRESULT) $(BCRESULT) $(NCRESULT))) -ifdef WIN32 - EXECS += $(BCRESULT).dll $(NCRESULT).dll -endif - -CLIB_BASE := $(RESULT)$(RES_CLIB_SUF) -ifneq ($(strip $(OBJ_LINK)),) - RES_CLIB := lib$(CLIB_BASE).$(EXT_LIB) -endif - -ifdef WIN32 -DLLSONAME := $(CLIB_BASE).dll -else -DLLSONAME := dll$(CLIB_BASE).so -endif - -NONEXECS := $(INTF) $(IMPL_CMO) $(IMPL_CMX) $(IMPL_ASM) $(IMPL_S) \ - $(OBJ_FILES) $(PRE_TARGETS) $(BCRESULT).cma $(NCRESULT).cmxa \ - $(NCRESULT).$(EXT_LIB) $(BCRESULT).cmi $(BCRESULT).cmo \ - $(NCRESULT).cmi $(NCRESULT).cmx $(NCRESULT).o \ - $(RES_CLIB) $(IMPL_CMO:.cmo=.annot) \ - $(LIB_PACK_NAME).cmi $(LIB_PACK_NAME).cmo $(LIB_PACK_NAME).cmx $(LIB_PACK_NAME).o - -ifndef STATIC - NONEXECS += $(DLLSONAME) -endif - -ifndef LIBINSTALL_FILES - LIBINSTALL_FILES := $(RESULT).mli $(RESULT).cmi $(RESULT).cma \ - $(RESULT).cmxa $(RESULT).$(EXT_LIB) $(RES_CLIB) - ifndef STATIC - ifneq ($(strip $(OBJ_LINK)),) - LIBINSTALL_FILES += $(DLLSONAME) - endif - endif -endif - -export LIBINSTALL_FILES - -ifdef WIN32 - # some extra stuff is created while linking DLLs - NONEXECS += $(BCRESULT).$(EXT_LIB) $(BCRESULT).exp $(NCRESULT).exp $(CLIB_BASE).exp $(CLIB_BASE).lib -endif - -TARGETS := $(EXECS) $(NONEXECS) - -# If there are IDL-files -ifneq ($(strip $(FILTERED_IDL)),) - MAYBE_IDL := -cclib -lcamlidl -endif - -ifdef USE_CAMLP4 - CAMLP4PATH := \ - $(shell $(CAMLP4) -where 2>/dev/null || echo /usr/lib/camlp4) - INCFLAGS := -I $(CAMLP4PATH) - CINCFLAGS := -I$(CAMLP4PATH) -endif - -DINCFLAGS := $(INCFLAGS) $(SOURCE_DIRS:%=-I %) $(OCAML_DEFAULT_DIRS:%=-I %) -INCFLAGS := $(DINCFLAGS) $(INCDIRS:%=-I %) -CINCFLAGS += $(SOURCE_DIRS:%=-I%) $(INCDIRS:%=-I%) $(OCAML_DEFAULT_DIRS:%=-I%) - -ifndef MSVC -CLIBFLAGS += $(SOURCE_DIRS:%=-L%) $(LIBDIRS:%=-L%) \ - $(EXTLIBDIRS:%=-L%) $(EXTLIBDIRS:%=-Wl,$(RPATH_FLAG)%) \ - $(OCAML_DEFAULT_DIRS:%=-L%) -endif - -ifndef PROFILING - INTF_OCAMLC := $(OCAMLC) -else - ifndef THREADS - INTF_OCAMLC := $(OCAMLCP) -p $(OCAMLCPFLAGS) - else - # OCaml does not support profiling byte code - # with threads (yet), therefore we force an error. - ifndef REAL_OCAMLC - $(error Profiling of multithreaded byte code not yet supported by OCaml) - endif - INTF_OCAMLC := $(OCAMLC) - endif -endif - -ifndef MSVC -COMMON_LDFLAGS := $(LDFLAGS:%=-ccopt %) $(SOURCE_DIRS:%=-ccopt -L%) \ - $(LIBDIRS:%=-ccopt -L%) $(EXTLIBDIRS:%=-ccopt -L%) \ - $(EXTLIBDIRS:%=-ccopt -Wl,$(RPATH_FLAG)%) \ - $(OCAML_DEFAULT_DIRS:%=-ccopt -L%) -else -COMMON_LDFLAGS := -ccopt "/link -NODEFAULTLIB:LIBC $(LDFLAGS:%=%) $(SOURCE_DIRS:%=-LIBPATH:%) \ - $(LIBDIRS:%=-LIBPATH:%) $(EXTLIBDIRS:%=-LIBPATH:%) \ - $(OCAML_DEFAULT_DIRS:%=-LIBPATH:%) " -endif - -CLIBS_OPTS := $(CLIBS:%=-cclib -l%) -ifdef MSVC - ifndef STATIC - # MSVC libraries do not have 'lib' prefix - CLIBS_OPTS := $(CLIBS:%=-cclib %.lib) - endif -endif - -ifneq ($(strip $(OBJ_LINK)),) - ifdef CREATE_LIB - OBJS_LIBS := -cclib -l$(CLIB_BASE) $(CLIBS_OPTS) $(MAYBE_IDL) - else - OBJS_LIBS := $(OBJ_LINK) $(CLIBS_OPTS) $(MAYBE_IDL) - endif -else - OBJS_LIBS := $(CLIBS_OPTS) $(MAYBE_IDL) -endif - -# If we have to make byte-code -ifndef REAL_OCAMLC - BYTE_OCAML := y - - # EXTRADEPS is added dependencies we have to insert for all - # executable files we generate. Ideally it should be all of the - # libraries we use, but it's hard to find the ones that get searched on - # the path since I don't know the paths built into the compiler, so - # just include the ones with slashes in their names. - EXTRADEPS := $(addsuffix .cma,$(foreach i,$(LIBS),$(if $(findstring /,$(i)),$(i)))) - SPECIAL_OCAMLFLAGS := $(OCAMLBCFLAGS) - - REAL_OCAMLC := $(INTF_OCAMLC) - - REAL_IMPL := $(IMPL_CMO) - REAL_IMPL_INTF := $(IMPLO_INTF) - IMPL_SUF := .cmo - - DEPFLAGS := - MAKE_DEPS := $(MLDEPS) $(BCDEPIS) - - ifdef CREATE_LIB - CFLAGS := $(PIC_CFLAGS) $(CFLAGS) - CPPFLAGS := $(PIC_CPPFLAGS) $(CPPFLAGS) - ifndef STATIC - ifneq ($(strip $(OBJ_LINK)),) - MAKEDLL := $(DLLSONAME) - ALL_LDFLAGS := -dllib $(DLLSONAME) - endif - endif - endif - - ifndef NO_CUSTOM - ifneq "$(strip $(OBJ_LINK) $(THREADS) $(MAYBE_IDL) $(CLIBS))" "" - ALL_LDFLAGS += -custom - endif - endif - - ALL_LDFLAGS += $(INCFLAGS) $(OCAMLLDFLAGS) $(OCAMLBLDFLAGS) \ - $(COMMON_LDFLAGS) $(LIBS:%=%.cma) - CAMLIDLDLLFLAGS := - - ifdef THREADS - ifdef VMTHREADS - THREAD_FLAG := -vmthread - else - THREAD_FLAG := -thread - endif - ifndef CREATE_LIB - ALL_LDFLAGS := $(THREAD_FLAG) $(ALL_LDFLAGS) - ifndef REAL_OCAMLFIND - ALL_LDFLAGS := unix.cma threads.cma $(ALL_LDFLAGS) - endif - endif - endif - -# we have to make native-code -else - EXTRADEPS := $(addsuffix .cmxa,$(foreach i,$(LIBS),$(if $(findstring /,$(i)),$(i)))) - ifndef PROFILING - SPECIAL_OCAMLFLAGS := $(OCAMLNCFLAGS) - PLDFLAGS := - else - SPECIAL_OCAMLFLAGS := -p $(OCAMLNCFLAGS) - PLDFLAGS := -p - endif - - REAL_IMPL := $(IMPL_CMX) - REAL_IMPL_INTF := $(IMPLX_INTF) - IMPL_SUF := .cmx - - CPPFLAGS := -DNATIVE_CODE $(CPPFLAGS) - - DEPFLAGS := -native - MAKE_DEPS := $(MLDEPS) $(NCDEPIS) - - ALL_LDFLAGS := $(PLDFLAGS) $(INCFLAGS) $(OCAMLLDFLAGS) \ - $(OCAMLNLDFLAGS) $(COMMON_LDFLAGS) - CAMLIDLDLLFLAGS := -opt - - ifndef CREATE_LIB - ALL_LDFLAGS += $(LIBS:%=%.cmxa) - else - CFLAGS := $(PIC_CFLAGS) $(CFLAGS) - CPPFLAGS := $(PIC_CPPFLAGS) $(CPPFLAGS) - endif - - ifdef THREADS - THREAD_FLAG := -thread - ifndef CREATE_LIB - ALL_LDFLAGS := $(THREAD_FLAG) $(ALL_LDFLAGS) - ifndef REAL_OCAMLFIND - ALL_LDFLAGS := unix.cmxa threads.cmxa $(ALL_LDFLAGS) - endif - endif - endif -endif - -export MAKE_DEPS - -ifdef ANNOTATE - ANNOT_FLAG := -dtypes -else -endif - -ALL_OCAMLCFLAGS := $(THREAD_FLAG) $(ANNOT_FLAG) $(OCAMLFLAGS) \ - $(INCFLAGS) $(SPECIAL_OCAMLFLAGS) - -ifdef make_deps - -include $(MAKE_DEPS) - PRE_TARGETS := -endif - -########################################################################### -# USER RULES - -# Call "OCamlMakefile QUIET=" to get rid of all of the @'s. -QUIET=@ - -# generates byte-code (default) -byte-code: $(PRE_TARGETS) - $(QUIET)$(MAKE) -r -f $(OCAMLMAKEFILE) $(BCRESULT) \ - REAL_RESULT="$(BCRESULT)" make_deps=yes -bc: byte-code - -byte-code-nolink: $(PRE_TARGETS) - $(QUIET)$(MAKE) -r -f $(OCAMLMAKEFILE) nolink \ - REAL_RESULT="$(BCRESULT)" make_deps=yes -bcnl: byte-code-nolink - -top: $(PRE_TARGETS) - $(QUIET)$(MAKE) -r -f $(OCAMLMAKEFILE) $(TOPRESULT) \ - REAL_RESULT="$(BCRESULT)" make_deps=yes - -# generates native-code - -native-code: $(PRE_TARGETS) - $(QUIET)$(MAKE) -r -f $(OCAMLMAKEFILE) $(NCRESULT) \ - REAL_RESULT="$(NCRESULT)" \ - REAL_OCAMLC="$(OCAMLOPT)" \ - make_deps=yes -nc: native-code - -native-code-nolink: $(PRE_TARGETS) - $(QUIET)$(MAKE) -r -f $(OCAMLMAKEFILE) nolink \ - REAL_RESULT="$(NCRESULT)" \ - REAL_OCAMLC="$(OCAMLOPT)" \ - make_deps=yes -ncnl: native-code-nolink - -# generates byte-code libraries -byte-code-library: $(PRE_TARGETS) - $(QUIET)$(MAKE) -r -f $(OCAMLMAKEFILE) \ - $(RES_CLIB) $(BCRESULT).cma \ - REAL_RESULT="$(BCRESULT)" \ - CREATE_LIB=yes \ - make_deps=yes -bcl: byte-code-library - -# generates native-code libraries -native-code-library: $(PRE_TARGETS) - $(QUIET)$(MAKE) -r -f $(OCAMLMAKEFILE) \ - $(RES_CLIB) $(NCRESULT).cmxa \ - REAL_RESULT="$(NCRESULT)" \ - REAL_OCAMLC="$(OCAMLOPT)" \ - CREATE_LIB=yes \ - make_deps=yes -ncl: native-code-library - -ifdef WIN32 -# generates byte-code dll -byte-code-dll: $(PRE_TARGETS) - $(QUIET)$(MAKE) -r -f $(OCAMLMAKEFILE) \ - $(RES_CLIB) $(BCRESULT).dll \ - REAL_RESULT="$(BCRESULT)" \ - make_deps=yes -bcd: byte-code-dll - -# generates native-code dll -native-code-dll: $(PRE_TARGETS) - $(QUIET)$(MAKE) -r -f $(OCAMLMAKEFILE) \ - $(RES_CLIB) $(NCRESULT).dll \ - REAL_RESULT="$(NCRESULT)" \ - REAL_OCAMLC="$(OCAMLOPT)" \ - make_deps=yes -ncd: native-code-dll -endif - -# generates byte-code with debugging information -debug-code: $(PRE_TARGETS) - $(QUIET)$(MAKE) -r -f $(OCAMLMAKEFILE) $(BCRESULT) \ - REAL_RESULT="$(BCRESULT)" make_deps=yes \ - OCAMLFLAGS="-g $(OCAMLFLAGS)" \ - OCAMLLDFLAGS="-g $(OCAMLLDFLAGS)" -dc: debug-code - -debug-code-nolink: $(PRE_TARGETS) - $(QUIET)$(MAKE) -r -f $(OCAMLMAKEFILE) nolink \ - REAL_RESULT="$(BCRESULT)" make_deps=yes \ - OCAMLFLAGS="-g $(OCAMLFLAGS)" \ - OCAMLLDFLAGS="-g $(OCAMLLDFLAGS)" -dcnl: debug-code-nolink - -# generates byte-code libraries with debugging information -debug-code-library: $(PRE_TARGETS) - $(QUIET)$(MAKE) -r -f $(OCAMLMAKEFILE) \ - $(RES_CLIB) $(BCRESULT).cma \ - REAL_RESULT="$(BCRESULT)" make_deps=yes \ - CREATE_LIB=yes \ - OCAMLFLAGS="-g $(OCAMLFLAGS)" \ - OCAMLLDFLAGS="-g $(OCAMLLDFLAGS)" -dcl: debug-code-library - -# generates byte-code for profiling -profiling-byte-code: $(PRE_TARGETS) - $(QUIET)$(MAKE) -r -f $(OCAMLMAKEFILE) $(BCRESULT) \ - REAL_RESULT="$(BCRESULT)" PROFILING="y" \ - make_deps=yes -pbc: profiling-byte-code - -# generates native-code - -profiling-native-code: $(PRE_TARGETS) - $(QUIET)$(MAKE) -r -f $(OCAMLMAKEFILE) $(NCRESULT) \ - REAL_RESULT="$(NCRESULT)" \ - REAL_OCAMLC="$(OCAMLOPT)" \ - PROFILING="y" \ - make_deps=yes -pnc: profiling-native-code - -# generates byte-code libraries -profiling-byte-code-library: $(PRE_TARGETS) - $(QUIET)$(MAKE) -r -f $(OCAMLMAKEFILE) \ - $(RES_CLIB) $(BCRESULT).cma \ - REAL_RESULT="$(BCRESULT)" PROFILING="y" \ - CREATE_LIB=yes \ - make_deps=yes -pbcl: profiling-byte-code-library - -# generates native-code libraries -profiling-native-code-library: $(PRE_TARGETS) - $(QUIET)$(MAKE) -r -f $(OCAMLMAKEFILE) \ - $(RES_CLIB) $(NCRESULT).cmxa \ - REAL_RESULT="$(NCRESULT)" PROFILING="y" \ - REAL_OCAMLC="$(OCAMLOPT)" \ - CREATE_LIB=yes \ - make_deps=yes -pncl: profiling-native-code-library - -# packs byte-code objects -pack-byte-code: $(PRE_TARGETS) - $(QUIET)$(MAKE) -r -f $(OCAMLMAKEFILE) $(BCRESULT).cmo \ - REAL_RESULT="$(BCRESULT)" \ - PACK_LIB=yes make_deps=yes -pabc: pack-byte-code - -# packs native-code objects -pack-native-code: $(PRE_TARGETS) - $(QUIET)$(MAKE) -r -f $(OCAMLMAKEFILE) \ - $(NCRESULT).cmx $(NCRESULT).o \ - REAL_RESULT="$(NCRESULT)" \ - REAL_OCAMLC="$(OCAMLOPT)" \ - PACK_LIB=yes make_deps=yes -panc: pack-native-code - -# generates HTML-documentation -htdoc: doc/$(RESULT)/html - -# generates Latex-documentation -ladoc: doc/$(RESULT)/latex - -# generates PostScript-documentation -psdoc: doc/$(RESULT)/latex/doc.ps - -# generates PDF-documentation -pdfdoc: doc/$(RESULT)/latex/doc.pdf - -# generates all supported forms of documentation -doc: htdoc ladoc psdoc pdfdoc - -########################################################################### -# LOW LEVEL RULES - -$(REAL_RESULT): $(REAL_IMPL_INTF) $(OBJ_LINK) $(EXTRADEPS) $(RESULTDEPS) - $(REAL_OCAMLFIND) $(REAL_OCAMLC) \ - $(OCAML_FIND_PACKAGES) $(OCAML_FIND_LINKPKG) \ - $(ALL_LDFLAGS) $(OBJS_LIBS) -o $@$(EXE) \ - $(REAL_IMPL) - -nolink: $(REAL_IMPL_INTF) $(OBJ_LINK) - -ifdef WIN32 -$(REAL_RESULT).dll: $(REAL_IMPL_INTF) $(OBJ_LINK) - $(CAMLIDLDLL) $(CAMLIDLDLLFLAGS) $(OBJ_LINK) $(CLIBS) \ - -o $@ $(REAL_IMPL) -endif - -%$(TOPSUFFIX): $(REAL_IMPL_INTF) $(OBJ_LINK) $(EXTRADEPS) - $(REAL_OCAMLFIND) $(OCAMLMKTOP) \ - $(OCAML_FIND_PACKAGES) $(OCAML_FIND_LINKPKG) \ - $(ALL_LDFLAGS) $(OBJS_LIBS) -o $@$(EXE) \ - $(REAL_IMPL) - -.SUFFIXES: .mli .ml .cmi .cmo .cmx .cma .cmxa .$(EXT_OBJ) \ - .mly .di .d .$(EXT_LIB) .idl %.oxridl .c .$(EXT_CXX) .h .so \ - .rep .zog .glade - -ifndef STATIC -ifdef MINGW -$(DLLSONAME): $(OBJ_LINK) - $(CC) $(CFLAGS) $(CFLAGS_WIN32) $(OBJ_LINK) -shared -o $@ \ - -Wl,--whole-archive $(wildcard $(foreach dir,$(LIBDIRS),$(CLIBS:%=$(dir)/lib%.a))) \ - $(OCAMLLIBPATH)/ocamlrun.a \ - -Wl,--export-all-symbols \ - -Wl,--no-whole-archive -else -ifdef MSVC -$(DLLSONAME): $(OBJ_LINK) - link /NOLOGO /DLL /OUT:$@ $(OBJ_LINK) \ - $(wildcard $(foreach dir,$(LIBDIRS),$(CLIBS:%=$(dir)/%.lib))) \ - $(OCAMLLIBPATH)/ocamlrun.lib - -else -$(DLLSONAME): $(OBJ_LINK) - $(OCAMLMKLIB) $(INCFLAGS) $(CLIBFLAGS) \ - -o $(CLIB_BASE) $(OBJ_LINK) $(CLIBS:%=-l%) \ - $(OCAMLMKLIB_FLAGS) -endif -endif -endif - -ifndef LIB_PACK_NAME -$(RESULT).cma: $(REAL_IMPL_INTF) $(MAKEDLL) $(EXTRADEPS) $(RESULTDEPS) - $(REAL_OCAMLFIND) $(REAL_OCAMLC) -a $(ALL_LDFLAGS) \ - $(OBJS_LIBS) -o $@ $(OCAMLBLDFLAGS) $(REAL_IMPL) - -$(RESULT).cmxa $(RESULT).$(EXT_LIB): $(REAL_IMPL_INTF) $(EXTRADEPS) $(RESULTDEPS) - $(REAL_OCAMLFIND) $(OCAMLOPT) -a $(ALL_LDFLAGS) $(OBJS_LIBS) \ - $(OCAMLNLDFLAGS) -o $@ $(REAL_IMPL) -else -ifdef BYTE_OCAML -$(LIB_PACK_NAME).cmi $(LIB_PACK_NAME).cmo: $(REAL_IMPL_INTF) - $(REAL_OCAMLFIND) $(REAL_OCAMLC) -pack -o $(LIB_PACK_NAME).cmo $(REAL_IMPL) -else -$(LIB_PACK_NAME).cmi $(LIB_PACK_NAME).cmx: $(REAL_IMPL_INTF) - $(REAL_OCAMLFIND) $(REAL_OCAMLC) -pack -o $(LIB_PACK_NAME).cmx $(REAL_IMPL) -endif - -$(RESULT).cma: $(LIB_PACK_NAME).cmi $(LIB_PACK_NAME).cmo $(MAKEDLL) $(EXTRADEPS) $(RESULTDEPS) - $(REAL_OCAMLFIND) $(REAL_OCAMLC) -a $(ALL_LDFLAGS) \ - $(OBJS_LIBS) -o $@ $(OCAMLBLDFLAGS) $(LIB_PACK_NAME).cmo - -$(RESULT).cmxa $(RESULT).$(EXT_LIB): $(LIB_PACK_NAME).cmi $(LIB_PACK_NAME).cmx $(EXTRADEPS) $(RESULTDEPS) - $(REAL_OCAMLFIND) $(OCAMLOPT) -a $(ALL_LDFLAGS) $(OBJS_LIBS) \ - $(OCAMLNLDFLAGS) -o $@ $(LIB_PACK_NAME).cmx -endif - -$(RES_CLIB): $(OBJ_LINK) -ifndef MSVC - ifneq ($(strip $(OBJ_LINK)),) - $(AR) rcs $@ $(OBJ_LINK) - endif -else - ifneq ($(strip $(OBJ_LINK)),) - lib -nologo -debugtype:cv -out:$(RES_CLIB) $(OBJ_LINK) - endif -endif - -.mli.cmi: $(EXTRADEPS) - $(QUIET)pp=`sed -n -e '/^#/d' -e 's/(\*pp \([^*]*\) \*)/\1/p;q' $<`; \ - if [ -z "$$pp" ]; then \ - echo $(REAL_OCAMLFIND) $(INTF_OCAMLC) $(OCAML_FIND_PACKAGES) \ - -c $(THREAD_FLAG) $(ANNOT_FLAG) \ - $(OCAMLFLAGS) $(INCFLAGS) $<; \ - $(REAL_OCAMLFIND) $(INTF_OCAMLC) $(OCAML_FIND_PACKAGES) \ - -c $(THREAD_FLAG) $(ANNOT_FLAG) \ - $(OCAMLFLAGS) $(INCFLAGS) $<; \ - else \ - echo $(REAL_OCAMLFIND) $(INTF_OCAMLC) $(OCAML_FIND_PACKAGES) \ - -c -pp \"$$pp $(PPFLAGS)\" $(THREAD_FLAG) $(ANNOT_FLAG) \ - $(OCAMLFLAGS) $(INCFLAGS) $<; \ - $(REAL_OCAMLFIND) $(INTF_OCAMLC) $(OCAML_FIND_PACKAGES) \ - -c -pp "$$pp $(PPFLAGS)" $(THREAD_FLAG) $(ANNOT_FLAG) \ - $(OCAMLFLAGS) $(INCFLAGS) $<; \ - fi - -.ml.cmi .ml.$(EXT_OBJ) .ml.cmx .ml.cmo: $(EXTRADEPS) - $(QUIET)pp=`sed -n -e '/^#/d' -e 's/(\*pp \([^*]*\) \*)/\1/p;q' $<`; \ - if [ -z "$$pp" ]; then \ - echo $(REAL_OCAMLFIND) $(REAL_OCAMLC) $(OCAML_FIND_PACKAGES) \ - -c $(ALL_OCAMLCFLAGS) $<; \ - $(REAL_OCAMLFIND) $(REAL_OCAMLC) $(OCAML_FIND_PACKAGES) \ - -c $(ALL_OCAMLCFLAGS) $<; \ - else \ - echo $(REAL_OCAMLFIND) $(REAL_OCAMLC) $(OCAML_FIND_PACKAGES) \ - -c -pp \"$$pp $(PPFLAGS)\" $(ALL_OCAMLCFLAGS) $<; \ - $(REAL_OCAMLFIND) $(REAL_OCAMLC) $(OCAML_FIND_PACKAGES) \ - -c -pp "$$pp $(PPFLAGS)" $(ALL_OCAMLCFLAGS) $<; \ - fi - -ifdef PACK_LIB -$(REAL_RESULT).cmo $(REAL_RESULT).cmx $(REAL_RESULT).o: $(REAL_IMPL_INTF) $(OBJ_LINK) $(EXTRADEPS) - $(REAL_OCAMLFIND) $(REAL_OCAMLC) -pack $(ALL_LDFLAGS) \ - $(OBJS_LIBS) -o $@ $(REAL_IMPL) -endif - -.PRECIOUS: %.ml -%.ml: %.mll - $(OCAMLLEX) $< - -.PRECIOUS: %.ml %.mli -%.ml %.mli: %.mly - $(OCAMLYACC) $(YFLAGS) $< - -.PRECIOUS: %.ml -%.ml: %.rep - $(CAMELEON_REPORT) $(CAMELEON_REPORT_FLAGS) -gen $< - -.PRECIOUS: %.ml -%.ml: %.zog - $(CAMELEON_ZOGGY) $(CAMELEON_ZOGGY_FLAGS) -impl $< > $@ - -.PRECIOUS: %.ml -%.ml: %.glade - $(OCAML_GLADECC) $(OCAML_GLADECC_FLAGS) $< > $@ - -.PRECIOUS: %.ml %.mli -%.ml %.mli: %.oxridl - $(OXRIDL) $< - -.PRECIOUS: %.ml %.mli %_stubs.c %.h -%.ml %.mli %_stubs.c %.h: %.idl - $(CAMLIDL) $(MAYBE_IDL_HEADER) $(IDLFLAGS) \ - $(CAMLIDLFLAGS) $< - $(QUIET)if [ $(NOIDLHEADER) ]; then touch $*.h; fi - -.c.$(EXT_OBJ): - $(OCAMLC) -c -cc "$(CC)" -ccopt "$(CFLAGS) \ - $(CPPFLAGS) $(CPPFLAGS_WIN32) \ - $(CFLAGS_WIN32) $(CINCFLAGS) $(CFLAG_O)$@ " $< - -.$(EXT_CXX).$(EXT_OBJ): - $(CXX) -c $(CXXFLAGS) $(CINCFLAGS) $(CPPFLAGS) \ - -I'$(OCAMLLIBPATH)' \ - $< $(CFLAG_O)$@ - -$(MLDEPDIR)/%.d: %.ml - $(QUIET)echo making $@ from $< - $(QUIET)if [ ! -d $(@D) ]; then mkdir -p $(@D); fi - $(QUIET)pp=`sed -n -e '/^#/d' -e 's/(\*pp \([^*]*\) \*)/\1/p;q' $<`; \ - if [ -z "$$pp" ]; then \ - $(REAL_OCAMLFIND) $(OCAMLDEP) $(OCAML_DEP_PACKAGES) \ - $(DINCFLAGS) $< > $@; \ - else \ - $(REAL_OCAMLFIND) $(OCAMLDEP) $(OCAML_DEP_PACKAGES) \ - -pp "$$pp $(PPFLAGS)" $(DINCFLAGS) $< > $@; \ - fi - -$(BCDIDIR)/%.di $(NCDIDIR)/%.di: %.mli - $(QUIET)echo making $@ from $< - $(QUIET)if [ ! -d $(@D) ]; then mkdir -p $(@D); fi - $(QUIET)pp=`sed -n -e '/^#/d' -e 's/(\*pp \([^*]*\) \*)/\1/p;q' $<`; \ - if [ -z "$$pp" ]; then \ - $(REAL_OCAMLFIND) $(OCAMLDEP) $(DEPFLAGS) $(DINCFLAGS) $< > $@; \ - else \ - $(REAL_OCAMLFIND) $(OCAMLDEP) $(DEPFLAGS) \ - -pp "$$pp $(PPFLAGS)" $(DINCFLAGS) $< > $@; \ - fi - -doc/$(RESULT)/html: $(DOC_FILES) - rm -rf $@ - mkdir -p $@ - $(QUIET)pp=`sed -n -e '/^#/d' -e 's/(\*pp \([^*]*\) \*)/\1/p;q' $<`; \ - if [ -z "$$pp" ]; then \ - echo $(OCAMLDOC) -html -d $@ $(OCAMLDOCFLAGS) $(INCFLAGS) $(DOC_FILES); \ - $(OCAMLDOC) -html -d $@ $(OCAMLDOCFLAGS) $(INCFLAGS) $(DOC_FILES); \ - else \ - echo $(OCAMLDOC) -pp \"$$pp $(PPFLAGS)\" -html -d $@ $(OCAMLDOCFLAGS) \ - $(INCFLAGS) $(DOC_FILES); \ - $(OCAMLDOC) -pp "$$pp $(PPFLAGS)" -html -d $@ $(OCAMLDOCFLAGS) \ - $(INCFLAGS) $(DOC_FILES); \ - fi - -doc/$(RESULT)/latex: $(DOC_FILES) - rm -rf $@ - mkdir -p $@ - $(QUIET)pp=`sed -n -e '/^#/d' -e 's/(\*pp \([^*]*\) \*)/\1/p;q' $<`; \ - if [ -z "$$pp" ]; then \ - echo $(OCAMLDOC) -latex $(OCAMLDOCFLAGS) $(INCFLAGS) \ - $(DOC_FILES) -o $@/doc.tex; \ - $(OCAMLDOC) -latex $(OCAMLDOCFLAGS) $(INCFLAGS) $(DOC_FILES) \ - -o $@/doc.tex; \ - else \ - echo $(OCAMLDOC) -pp \"$$pp $(PPFLAGS)\" -latex $(OCAMLDOCFLAGS) \ - $(INCFLAGS) $(DOC_FILES) -o $@/doc.tex; \ - $(OCAMLDOC) -pp "$$pp $(PPFLAGS)" -latex $(OCAMLDOCFLAGS) \ - $(INCFLAGS) $(DOC_FILES) -o $@/doc.tex; \ - fi - -doc/$(RESULT)/latex/doc.ps: doc/$(RESULT)/latex - cd doc/$(RESULT)/latex && \ - $(LATEX) doc.tex && \ - $(LATEX) doc.tex && \ - $(DVIPS) $(DVIPSFLAGS) doc.dvi -o $(@F) - -doc/$(RESULT)/latex/doc.pdf: doc/$(RESULT)/latex/doc.ps - cd doc/$(RESULT)/latex && $(PS2PDF) $( + let tm = Unix.localtime time in + if level <= !max_level then begin + if !ddate then + Printf.printf "%04d-%02d-%02d " (tm.Unix.tm_year + 1900) + (tm.Unix.tm_mon + 1) tm.Unix.tm_mday; + if !dtime then begin + Printf.printf "%02d:%02d:%02d " tm.Unix.tm_hour tm.Unix.tm_min + tm.Unix.tm_sec; + if !ddecimal then Printf.printf "%f " (time -. floor time) + end; + Printf.printf "[%20s:%d]\n>>> %s\n" label level str + end + | None -> Printf.printf "-?-\n" + end; + h f + with End_of_file -> () + in + let f = open_in file in + h f; + close_in f + +let parse_args = + Arg.parse + [ + ("-l", Arg.String (fun l -> max_level := int_of_string l), "level"); + ("-nd", Arg.Unit (fun () -> ddate := false), "no date"); + ("-nt", Arg.Unit (fun () -> dtime := false), "no time"); + ("-d", Arg.Unit (fun () -> ddecimal := true), "decimals"); + ] + (fun s -> disp s) + (Printf.sprintf "usage : %s [options]" (Filename.basename Sys.argv.(0)))