Finish checking in coreutils
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6845 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
@@ -0,0 +1,38 @@
|
|||||||
|
2003-01-12 Jim Meyering <[email protected]>
|
||||||
|
|
||||||
|
Lots of syntactic clean-up, mostly from Karl Berry.
|
||||||
|
* install-sh: Use consistent indentation, two spaces per level.
|
||||||
|
(scriptversion): New variable.
|
||||||
|
Change initializations like `variable=""' to `variable='.
|
||||||
|
(usage): New variable.
|
||||||
|
Use `test', not `['.
|
||||||
|
Use `test -z "$var"', not `[ x"$var" = x ]'.
|
||||||
|
Use `test -n "$var"', not `[ x"$var" != x ]'.
|
||||||
|
Alphabetize case entries.
|
||||||
|
Accept --help and --version options.
|
||||||
|
Remove unnecessary `else :' clauses.
|
||||||
|
Add a `Local variables' eval block to help emacs users update
|
||||||
|
the time-stamp variable added above.
|
||||||
|
|
||||||
|
2002-12-20 Jim Meyering <[email protected]>
|
||||||
|
|
||||||
|
* install-sh: Set the execute bit on this file.
|
||||||
|
Reported by Vin Shelton.
|
||||||
|
|
||||||
|
2002-11-09 Jim Meyering <[email protected]>
|
||||||
|
|
||||||
|
Make it work even when names contain spaces or shell metachars.
|
||||||
|
* install-sh: Write diagnostics to stderr, not stdout.
|
||||||
|
Normalize spacing in diagnostics: use one space (not two, and not a TAB)
|
||||||
|
after the leading `install:'.
|
||||||
|
Add double quotes around `$src' here: $doit $instcmd "$src" "$dsttmp"
|
||||||
|
|
||||||
|
Merge in some changes from the version in automake.
|
||||||
|
* install-sh: Remove unnecessary quotes around `case' argument.
|
||||||
|
Use `[ cond1 ] || [ cond2 ]' rather than `[ cond1 -o cond2 ]'.
|
||||||
|
Use `:' rather than `true'.
|
||||||
|
|
||||||
|
2002-02-17 Jim Meyering <[email protected]>
|
||||||
|
|
||||||
|
* config.guess (main): Don't use `head -1'; it's no longer portable.
|
||||||
|
Use `sed 1q' instead.
|
||||||
+1388
File diff suppressed because it is too large
Load Diff
+513
@@ -0,0 +1,513 @@
|
|||||||
|
#! /bin/sh
|
||||||
|
# Output a system dependent set of variables, describing how to set the
|
||||||
|
# run time search path of shared libraries in an executable.
|
||||||
|
#
|
||||||
|
# Copyright 1996-2002 Free Software Foundation, Inc.
|
||||||
|
# Taken from GNU libtool, 2001
|
||||||
|
# Originally by Gordon Matzigkeit <[email protected]>, 1996
|
||||||
|
#
|
||||||
|
# This program is free software; you can redistribute it and/or modify
|
||||||
|
# it under the terms of the GNU General Public License as published by
|
||||||
|
# the Free Software Foundation; either version 2 of the License, or
|
||||||
|
# (at your option) any later version.
|
||||||
|
#
|
||||||
|
# This program is distributed in the hope that it will be useful, but
|
||||||
|
# WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||||
|
# General Public License for more details.
|
||||||
|
#
|
||||||
|
# You should have received a copy of the GNU General Public License
|
||||||
|
# along with this program; if not, write to the Free Software
|
||||||
|
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||||
|
#
|
||||||
|
# As a special exception to the GNU General Public License, if you
|
||||||
|
# distribute this file as part of a program that contains a
|
||||||
|
# configuration script generated by Autoconf, you may include it under
|
||||||
|
# the same distribution terms that you use for the rest of that program.
|
||||||
|
#
|
||||||
|
# The first argument passed to this file is the canonical host specification,
|
||||||
|
# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM
|
||||||
|
# or
|
||||||
|
# CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM
|
||||||
|
# The environment variables CC, GCC, LDFLAGS, LD, with_gnu_ld
|
||||||
|
# should be set by the caller.
|
||||||
|
#
|
||||||
|
# The set of defined variables is at the end of this script.
|
||||||
|
|
||||||
|
# All known linkers require a `.a' archive for static linking (except M$VC,
|
||||||
|
# which needs '.lib').
|
||||||
|
libext=a
|
||||||
|
shlibext=
|
||||||
|
|
||||||
|
host="$1"
|
||||||
|
host_cpu=`echo "$host" | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
|
||||||
|
host_vendor=`echo "$host" | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
|
||||||
|
host_os=`echo "$host" | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
|
||||||
|
|
||||||
|
wl=
|
||||||
|
if test "$GCC" = yes; then
|
||||||
|
wl='-Wl,'
|
||||||
|
else
|
||||||
|
case "$host_os" in
|
||||||
|
aix3* | aix4* | aix5*)
|
||||||
|
wl='-Wl,'
|
||||||
|
;;
|
||||||
|
hpux9* | hpux10* | hpux11*)
|
||||||
|
wl='-Wl,'
|
||||||
|
;;
|
||||||
|
irix5* | irix6*)
|
||||||
|
wl='-Wl,'
|
||||||
|
;;
|
||||||
|
linux*)
|
||||||
|
echo '__INTEL_COMPILER' > conftest.$ac_ext
|
||||||
|
if $CC -E conftest.$ac_ext >/dev/null | grep __INTEL_COMPILER >/dev/null
|
||||||
|
then
|
||||||
|
:
|
||||||
|
else
|
||||||
|
# Intel icc
|
||||||
|
wl='-Qoption,ld,'
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
osf3* | osf4* | osf5*)
|
||||||
|
wl='-Wl,'
|
||||||
|
;;
|
||||||
|
solaris*)
|
||||||
|
wl='-Wl,'
|
||||||
|
;;
|
||||||
|
sunos4*)
|
||||||
|
wl='-Qoption ld '
|
||||||
|
;;
|
||||||
|
sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*)
|
||||||
|
if test "x$host_vendor" = xsni; then
|
||||||
|
wl='-LD'
|
||||||
|
else
|
||||||
|
wl='-Wl,'
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
fi
|
||||||
|
|
||||||
|
hardcode_libdir_flag_spec=
|
||||||
|
hardcode_libdir_separator=
|
||||||
|
hardcode_direct=no
|
||||||
|
hardcode_minus_L=no
|
||||||
|
|
||||||
|
case "$host_os" in
|
||||||
|
cygwin* | mingw* | pw32*)
|
||||||
|
# FIXME: the MSVC++ port hasn't been tested in a loooong time
|
||||||
|
# When not using gcc, we currently assume that we are using
|
||||||
|
# Microsoft Visual C++.
|
||||||
|
if test "$GCC" != yes; then
|
||||||
|
with_gnu_ld=no
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
openbsd*)
|
||||||
|
with_gnu_ld=no
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
ld_shlibs=yes
|
||||||
|
if test "$with_gnu_ld" = yes; then
|
||||||
|
case "$host_os" in
|
||||||
|
aix3* | aix4* | aix5*)
|
||||||
|
# On AIX, the GNU linker is very broken
|
||||||
|
ld_shlibs=no
|
||||||
|
;;
|
||||||
|
amigaos*)
|
||||||
|
hardcode_libdir_flag_spec='-L$libdir'
|
||||||
|
hardcode_minus_L=yes
|
||||||
|
# Samuel A. Falvo II <[email protected]> reports
|
||||||
|
# that the semantics of dynamic libraries on AmigaOS, at least up
|
||||||
|
# to version 4, is to share data among multiple programs linked
|
||||||
|
# with the same dynamic library. Since this doesn't match the
|
||||||
|
# behavior of shared libraries on other platforms, we can use
|
||||||
|
# them.
|
||||||
|
ld_shlibs=no
|
||||||
|
;;
|
||||||
|
beos*)
|
||||||
|
if $LD --help 2>&1 | egrep ': supported targets:.* elf' > /dev/null; then
|
||||||
|
:
|
||||||
|
else
|
||||||
|
ld_shlibs=no
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
cygwin* | mingw* | pw32*)
|
||||||
|
# hardcode_libdir_flag_spec is actually meaningless, as there is
|
||||||
|
# no search path for DLLs.
|
||||||
|
hardcode_libdir_flag_spec='-L$libdir'
|
||||||
|
;;
|
||||||
|
solaris* | sysv5*)
|
||||||
|
if $LD -v 2>&1 | egrep 'BFD 2\.8' > /dev/null; then
|
||||||
|
ld_shlibs=no
|
||||||
|
elif $LD --help 2>&1 | egrep ': supported targets:.* elf' > /dev/null; then
|
||||||
|
:
|
||||||
|
else
|
||||||
|
ld_shlibs=no
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
sunos4*)
|
||||||
|
hardcode_direct=yes
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
if $LD --help 2>&1 | egrep ': supported targets:.* elf' > /dev/null; then
|
||||||
|
:
|
||||||
|
else
|
||||||
|
ld_shlibs=no
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
if test "$ld_shlibs" = yes; then
|
||||||
|
hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
case "$host_os" in
|
||||||
|
aix3*)
|
||||||
|
# Note: this linker hardcodes the directories in LIBPATH if there
|
||||||
|
# are no directories specified by -L.
|
||||||
|
hardcode_minus_L=yes
|
||||||
|
if test "$GCC" = yes; then
|
||||||
|
# Neither direct hardcoding nor static linking is supported with a
|
||||||
|
# broken collect2.
|
||||||
|
hardcode_direct=unsupported
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
aix4* | aix5*)
|
||||||
|
if test "$host_cpu" = ia64; then
|
||||||
|
# On IA64, the linker does run time linking by default, so we don't
|
||||||
|
# have to do anything special.
|
||||||
|
aix_use_runtimelinking=no
|
||||||
|
else
|
||||||
|
aix_use_runtimelinking=no
|
||||||
|
# Test if we are trying to use run time linking or normal
|
||||||
|
# AIX style linking. If -brtl is somewhere in LDFLAGS, we
|
||||||
|
# need to do runtime linking.
|
||||||
|
case $host_os in aix4.[23]|aix4.[23].*|aix5*)
|
||||||
|
for ld_flag in $LDFLAGS; do
|
||||||
|
if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then
|
||||||
|
aix_use_runtimelinking=yes
|
||||||
|
break
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
esac
|
||||||
|
fi
|
||||||
|
hardcode_direct=yes
|
||||||
|
hardcode_libdir_separator=':'
|
||||||
|
if test "$GCC" = yes; then
|
||||||
|
case $host_os in aix4.[012]|aix4.[012].*)
|
||||||
|
collect2name=`${CC} -print-prog-name=collect2`
|
||||||
|
if test -f "$collect2name" && \
|
||||||
|
strings "$collect2name" | grep resolve_lib_name >/dev/null
|
||||||
|
then
|
||||||
|
# We have reworked collect2
|
||||||
|
hardcode_direct=yes
|
||||||
|
else
|
||||||
|
# We have old collect2
|
||||||
|
hardcode_direct=unsupported
|
||||||
|
hardcode_minus_L=yes
|
||||||
|
hardcode_libdir_flag_spec='-L$libdir'
|
||||||
|
hardcode_libdir_separator=
|
||||||
|
fi
|
||||||
|
esac
|
||||||
|
fi
|
||||||
|
if test "$aix_use_runtimelinking" = yes; then
|
||||||
|
hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:/usr/lib:/lib'
|
||||||
|
else
|
||||||
|
if test "$host_cpu" = ia64; then
|
||||||
|
hardcode_libdir_flag_spec='${wl}-R $libdir:/usr/lib:/lib'
|
||||||
|
else
|
||||||
|
hardcode_libdir_flag_spec='${wl}-bnolibpath ${wl}-blibpath:$libdir:/usr/lib:/lib'
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
amigaos*)
|
||||||
|
hardcode_libdir_flag_spec='-L$libdir'
|
||||||
|
hardcode_minus_L=yes
|
||||||
|
# see comment about different semantics on the GNU ld section
|
||||||
|
ld_shlibs=no
|
||||||
|
;;
|
||||||
|
cygwin* | mingw* | pw32*)
|
||||||
|
# When not using gcc, we currently assume that we are using
|
||||||
|
# Microsoft Visual C++.
|
||||||
|
# hardcode_libdir_flag_spec is actually meaningless, as there is
|
||||||
|
# no search path for DLLs.
|
||||||
|
hardcode_libdir_flag_spec=' '
|
||||||
|
libext=lib
|
||||||
|
;;
|
||||||
|
darwin* | rhapsody*)
|
||||||
|
hardcode_direct=yes
|
||||||
|
;;
|
||||||
|
freebsd1*)
|
||||||
|
ld_shlibs=no
|
||||||
|
;;
|
||||||
|
freebsd2.2*)
|
||||||
|
hardcode_libdir_flag_spec='-R$libdir'
|
||||||
|
hardcode_direct=yes
|
||||||
|
;;
|
||||||
|
freebsd2*)
|
||||||
|
hardcode_direct=yes
|
||||||
|
hardcode_minus_L=yes
|
||||||
|
;;
|
||||||
|
freebsd*)
|
||||||
|
hardcode_libdir_flag_spec='-R$libdir'
|
||||||
|
hardcode_direct=yes
|
||||||
|
;;
|
||||||
|
hpux9* | hpux10* | hpux11*)
|
||||||
|
hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
|
||||||
|
hardcode_libdir_separator=:
|
||||||
|
hardcode_direct=yes
|
||||||
|
hardcode_minus_L=yes # Not in the search PATH, but as the default
|
||||||
|
# location of the library.
|
||||||
|
;;
|
||||||
|
irix5* | irix6*)
|
||||||
|
hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
|
||||||
|
hardcode_libdir_separator=:
|
||||||
|
;;
|
||||||
|
netbsd*)
|
||||||
|
hardcode_libdir_flag_spec='-R$libdir'
|
||||||
|
hardcode_direct=yes
|
||||||
|
;;
|
||||||
|
newsos6)
|
||||||
|
hardcode_direct=yes
|
||||||
|
hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
|
||||||
|
hardcode_libdir_separator=:
|
||||||
|
;;
|
||||||
|
openbsd*)
|
||||||
|
hardcode_direct=yes
|
||||||
|
if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
|
||||||
|
hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
|
||||||
|
else
|
||||||
|
case "$host_os" in
|
||||||
|
openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*)
|
||||||
|
hardcode_libdir_flag_spec='-R$libdir'
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
os2*)
|
||||||
|
hardcode_libdir_flag_spec='-L$libdir'
|
||||||
|
hardcode_minus_L=yes
|
||||||
|
;;
|
||||||
|
osf3*)
|
||||||
|
hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
|
||||||
|
hardcode_libdir_separator=:
|
||||||
|
;;
|
||||||
|
osf4* | osf5*)
|
||||||
|
if test "$GCC" = yes; then
|
||||||
|
hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
|
||||||
|
else
|
||||||
|
# Both cc and cxx compiler support -rpath directly
|
||||||
|
hardcode_libdir_flag_spec='-rpath $libdir'
|
||||||
|
fi
|
||||||
|
hardcode_libdir_separator=:
|
||||||
|
;;
|
||||||
|
sco3.2v5*)
|
||||||
|
;;
|
||||||
|
solaris*)
|
||||||
|
hardcode_libdir_flag_spec='-R$libdir'
|
||||||
|
;;
|
||||||
|
sunos4*)
|
||||||
|
hardcode_libdir_flag_spec='-L$libdir'
|
||||||
|
hardcode_direct=yes
|
||||||
|
hardcode_minus_L=yes
|
||||||
|
;;
|
||||||
|
sysv4)
|
||||||
|
if test "x$host_vendor" = xsno; then
|
||||||
|
hardcode_direct=yes # is this really true???
|
||||||
|
else
|
||||||
|
hardcode_direct=no # Motorola manual says yes, but my tests say they lie
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
sysv4.3*)
|
||||||
|
;;
|
||||||
|
sysv5*)
|
||||||
|
hardcode_libdir_flag_spec=
|
||||||
|
;;
|
||||||
|
uts4*)
|
||||||
|
hardcode_libdir_flag_spec='-L$libdir'
|
||||||
|
;;
|
||||||
|
dgux*)
|
||||||
|
hardcode_libdir_flag_spec='-L$libdir'
|
||||||
|
;;
|
||||||
|
sysv4*MP*)
|
||||||
|
if test -d /usr/nec; then
|
||||||
|
ld_shlibs=yes
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
sysv4.2uw2*)
|
||||||
|
hardcode_direct=yes
|
||||||
|
hardcode_minus_L=no
|
||||||
|
;;
|
||||||
|
sysv5uw7* | unixware7*)
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
ld_shlibs=no
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Check dynamic linker characteristics
|
||||||
|
libname_spec='lib$name'
|
||||||
|
sys_lib_dlsearch_path_spec="/lib /usr/lib"
|
||||||
|
sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib"
|
||||||
|
case "$host_os" in
|
||||||
|
aix3*)
|
||||||
|
shlibext=so
|
||||||
|
;;
|
||||||
|
aix4* | aix5*)
|
||||||
|
shlibext=so
|
||||||
|
;;
|
||||||
|
amigaos*)
|
||||||
|
shlibext=ixlibrary
|
||||||
|
;;
|
||||||
|
beos*)
|
||||||
|
shlibext=so
|
||||||
|
;;
|
||||||
|
bsdi4*)
|
||||||
|
shlibext=so
|
||||||
|
sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib"
|
||||||
|
sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib"
|
||||||
|
;;
|
||||||
|
cygwin* | mingw* | pw32*)
|
||||||
|
case $GCC,$host_os in
|
||||||
|
yes,cygwin*)
|
||||||
|
shlibext=dll.a
|
||||||
|
;;
|
||||||
|
yes,mingw*)
|
||||||
|
shlibext=dll
|
||||||
|
sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | sed -e "s/^libraries://" -e "s/;/ /g"`
|
||||||
|
;;
|
||||||
|
yes,pw32*)
|
||||||
|
shlibext=dll
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
shlibext=dll
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
;;
|
||||||
|
darwin* | rhapsody*)
|
||||||
|
shlibext=dylib
|
||||||
|
;;
|
||||||
|
freebsd1*)
|
||||||
|
;;
|
||||||
|
freebsd*)
|
||||||
|
shlibext=so
|
||||||
|
;;
|
||||||
|
gnu*)
|
||||||
|
shlibext=so
|
||||||
|
;;
|
||||||
|
hpux9* | hpux10* | hpux11*)
|
||||||
|
shlibext=sl
|
||||||
|
;;
|
||||||
|
irix5* | irix6*)
|
||||||
|
shlibext=so
|
||||||
|
case "$host_os" in
|
||||||
|
irix5*)
|
||||||
|
libsuff= shlibsuff=
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
case $LD in
|
||||||
|
*-32|*"-32 ") libsuff= shlibsuff= ;;
|
||||||
|
*-n32|*"-n32 ") libsuff=32 shlibsuff=N32 ;;
|
||||||
|
*-64|*"-64 ") libsuff=64 shlibsuff=64 ;;
|
||||||
|
*) libsuff= shlibsuff= ;;
|
||||||
|
esac
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}"
|
||||||
|
sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}"
|
||||||
|
;;
|
||||||
|
linux-gnuoldld* | linux-gnuaout* | linux-gnucoff*)
|
||||||
|
;;
|
||||||
|
linux-gnu*)
|
||||||
|
shlibext=so
|
||||||
|
;;
|
||||||
|
netbsd*)
|
||||||
|
shlibext=so
|
||||||
|
;;
|
||||||
|
newsos6)
|
||||||
|
shlibext=so
|
||||||
|
;;
|
||||||
|
openbsd*)
|
||||||
|
shlibext=so
|
||||||
|
;;
|
||||||
|
os2*)
|
||||||
|
libname_spec='$name'
|
||||||
|
shlibext=dll
|
||||||
|
;;
|
||||||
|
osf3* | osf4* | osf5*)
|
||||||
|
shlibext=so
|
||||||
|
sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib"
|
||||||
|
sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec"
|
||||||
|
;;
|
||||||
|
sco3.2v5*)
|
||||||
|
shlibext=so
|
||||||
|
;;
|
||||||
|
solaris*)
|
||||||
|
shlibext=so
|
||||||
|
;;
|
||||||
|
sunos4*)
|
||||||
|
shlibext=so
|
||||||
|
;;
|
||||||
|
sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*)
|
||||||
|
shlibext=so
|
||||||
|
case "$host_vendor" in
|
||||||
|
motorola)
|
||||||
|
sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib'
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
;;
|
||||||
|
uts4*)
|
||||||
|
shlibext=so
|
||||||
|
;;
|
||||||
|
dgux*)
|
||||||
|
shlibext=so
|
||||||
|
;;
|
||||||
|
sysv4*MP*)
|
||||||
|
if test -d /usr/nec; then
|
||||||
|
shlibext=so
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
sed_quote_subst='s/\(["`$\\]\)/\\\1/g'
|
||||||
|
escaped_wl=`echo "X$wl" | sed -e 's/^X//' -e "$sed_quote_subst"`
|
||||||
|
escaped_hardcode_libdir_flag_spec=`echo "X$hardcode_libdir_flag_spec" | sed -e 's/^X//' -e "$sed_quote_subst"`
|
||||||
|
escaped_sys_lib_search_path_spec=`echo "X$sys_lib_search_path_spec" | sed -e 's/^X//' -e "$sed_quote_subst"`
|
||||||
|
escaped_sys_lib_dlsearch_path_spec=`echo "X$sys_lib_dlsearch_path_spec" | sed -e 's/^X//' -e "$sed_quote_subst"`
|
||||||
|
|
||||||
|
sed -e 's/^\([a-zA-Z0-9_]*\)=/acl_cv_\1=/' <<EOF
|
||||||
|
|
||||||
|
# How to pass a linker flag through the compiler.
|
||||||
|
wl="$escaped_wl"
|
||||||
|
|
||||||
|
# Static library suffix (normally "a").
|
||||||
|
libext="$libext"
|
||||||
|
|
||||||
|
# Shared library suffix (normally "so").
|
||||||
|
shlibext="$shlibext"
|
||||||
|
|
||||||
|
# Flag to hardcode \$libdir into a binary during linking.
|
||||||
|
# This must work even if \$libdir does not exist.
|
||||||
|
hardcode_libdir_flag_spec="$escaped_hardcode_libdir_flag_spec"
|
||||||
|
|
||||||
|
# Whether we need a single -rpath flag with a separated argument.
|
||||||
|
hardcode_libdir_separator="$hardcode_libdir_separator"
|
||||||
|
|
||||||
|
# Set to yes if using DIR/libNAME.so during linking hardcodes DIR into the
|
||||||
|
# resulting binary.
|
||||||
|
hardcode_direct="$hardcode_direct"
|
||||||
|
|
||||||
|
# Set to yes if using the -LDIR flag during linking hardcodes DIR into the
|
||||||
|
# resulting binary.
|
||||||
|
hardcode_minus_L="$hardcode_minus_L"
|
||||||
|
|
||||||
|
# Compile-time system search path for libraries
|
||||||
|
sys_lib_search_path_spec="$escaped_sys_lib_search_path_spec"
|
||||||
|
|
||||||
|
# Run-time system search path for libraries
|
||||||
|
sys_lib_dlsearch_path_spec="$escaped_sys_lib_dlsearch_path_spec"
|
||||||
|
|
||||||
|
EOF
|
||||||
+1489
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,423 @@
|
|||||||
|
#! /bin/sh
|
||||||
|
|
||||||
|
# depcomp - compile a program generating dependencies as side-effects
|
||||||
|
# Copyright 1999, 2000 Free Software Foundation, Inc.
|
||||||
|
|
||||||
|
# This program is free software; you can redistribute it and/or modify
|
||||||
|
# it under the terms of the GNU General Public License as published by
|
||||||
|
# the Free Software Foundation; either version 2, or (at your option)
|
||||||
|
# any later version.
|
||||||
|
|
||||||
|
# This program is distributed in the hope that it will be useful,
|
||||||
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
# GNU General Public License for more details.
|
||||||
|
|
||||||
|
# You should have received a copy of the GNU General Public License
|
||||||
|
# along with this program; if not, write to the Free Software
|
||||||
|
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
|
||||||
|
# 02111-1307, USA.
|
||||||
|
|
||||||
|
# As a special exception to the GNU General Public License, if you
|
||||||
|
# distribute this file as part of a program that contains a
|
||||||
|
# configuration script generated by Autoconf, you may include it under
|
||||||
|
# the same distribution terms that you use for the rest of that program.
|
||||||
|
|
||||||
|
# Originally written by Alexandre Oliva <[email protected]>.
|
||||||
|
|
||||||
|
if test -z "$depmode" || test -z "$source" || test -z "$object"; then
|
||||||
|
echo "depcomp: Variables source, object and depmode must be set" 1>&2
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
# `libtool' can also be set to `yes' or `no'.
|
||||||
|
|
||||||
|
if test -z "$depfile"; then
|
||||||
|
base=`echo "$object" | sed -e 's,^.*/,,' -e 's,\.\([^.]*\)$,.P\1,'`
|
||||||
|
dir=`echo "$object" | sed 's,/.*$,/,'`
|
||||||
|
if test "$dir" = "$object"; then
|
||||||
|
dir=
|
||||||
|
fi
|
||||||
|
# FIXME: should be _deps on DOS.
|
||||||
|
depfile="$dir.deps/$base"
|
||||||
|
fi
|
||||||
|
|
||||||
|
tmpdepfile=${tmpdepfile-`echo "$depfile" | sed 's/\.\([^.]*\)$/.T\1/'`}
|
||||||
|
|
||||||
|
rm -f "$tmpdepfile"
|
||||||
|
|
||||||
|
# Some modes work just like other modes, but use different flags. We
|
||||||
|
# parameterize here, but still list the modes in the big case below,
|
||||||
|
# to make depend.m4 easier to write. Note that we *cannot* use a case
|
||||||
|
# here, because this file can only contain one case statement.
|
||||||
|
if test "$depmode" = hp; then
|
||||||
|
# HP compiler uses -M and no extra arg.
|
||||||
|
gccflag=-M
|
||||||
|
depmode=gcc
|
||||||
|
fi
|
||||||
|
|
||||||
|
if test "$depmode" = dashXmstdout; then
|
||||||
|
# This is just like dashmstdout with a different argument.
|
||||||
|
dashmflag=-xM
|
||||||
|
depmode=dashmstdout
|
||||||
|
fi
|
||||||
|
|
||||||
|
case "$depmode" in
|
||||||
|
gcc3)
|
||||||
|
## gcc 3 implements dependency tracking that does exactly what
|
||||||
|
## we want. Yay! Note: for some reason libtool 1.4 doesn't like
|
||||||
|
## it if -MD -MP comes after the -MF stuff. Hmm.
|
||||||
|
"$@" -MT "$object" -MD -MP -MF "$tmpdepfile"
|
||||||
|
stat=$?
|
||||||
|
if test $stat -eq 0; then :
|
||||||
|
else
|
||||||
|
rm -f "$tmpdepfile"
|
||||||
|
exit $stat
|
||||||
|
fi
|
||||||
|
mv "$tmpdepfile" "$depfile"
|
||||||
|
;;
|
||||||
|
|
||||||
|
gcc)
|
||||||
|
## There are various ways to get dependency output from gcc. Here's
|
||||||
|
## why we pick this rather obscure method:
|
||||||
|
## - Don't want to use -MD because we'd like the dependencies to end
|
||||||
|
## up in a subdir. Having to rename by hand is ugly.
|
||||||
|
## (We might end up doing this anyway to support other compilers.)
|
||||||
|
## - The DEPENDENCIES_OUTPUT environment variable makes gcc act like
|
||||||
|
## -MM, not -M (despite what the docs say).
|
||||||
|
## - Using -M directly means running the compiler twice (even worse
|
||||||
|
## than renaming).
|
||||||
|
if test -z "$gccflag"; then
|
||||||
|
gccflag=-MD,
|
||||||
|
fi
|
||||||
|
"$@" -Wp,"$gccflag$tmpdepfile"
|
||||||
|
stat=$?
|
||||||
|
if test $stat -eq 0; then :
|
||||||
|
else
|
||||||
|
rm -f "$tmpdepfile"
|
||||||
|
exit $stat
|
||||||
|
fi
|
||||||
|
rm -f "$depfile"
|
||||||
|
echo "$object : \\" > "$depfile"
|
||||||
|
alpha=ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz
|
||||||
|
## The second -e expression handles DOS-style file names with drive letters.
|
||||||
|
sed -e 's/^[^:]*: / /' \
|
||||||
|
-e 's/^['$alpha']:\/[^:]*: / /' < "$tmpdepfile" >> "$depfile"
|
||||||
|
## This next piece of magic avoids the `deleted header file' problem.
|
||||||
|
## The problem is that when a header file which appears in a .P file
|
||||||
|
## is deleted, the dependency causes make to die (because there is
|
||||||
|
## typically no way to rebuild the header). We avoid this by adding
|
||||||
|
## dummy dependencies for each header file. Too bad gcc doesn't do
|
||||||
|
## this for us directly.
|
||||||
|
tr ' ' '
|
||||||
|
' < "$tmpdepfile" |
|
||||||
|
## Some versions of gcc put a space before the `:'. On the theory
|
||||||
|
## that the space means something, we add a space to the output as
|
||||||
|
## well.
|
||||||
|
## Some versions of the HPUX 10.20 sed can't process this invocation
|
||||||
|
## correctly. Breaking it into two sed invocations is a workaround.
|
||||||
|
sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile"
|
||||||
|
rm -f "$tmpdepfile"
|
||||||
|
;;
|
||||||
|
|
||||||
|
hp)
|
||||||
|
# This case exists only to let depend.m4 do its work. It works by
|
||||||
|
# looking at the text of this script. This case will never be run,
|
||||||
|
# since it is checked for above.
|
||||||
|
exit 1
|
||||||
|
;;
|
||||||
|
|
||||||
|
sgi)
|
||||||
|
if test "$libtool" = yes; then
|
||||||
|
"$@" "-Wp,-MDupdate,$tmpdepfile"
|
||||||
|
else
|
||||||
|
"$@" -MDupdate "$tmpdepfile"
|
||||||
|
fi
|
||||||
|
stat=$?
|
||||||
|
if test $stat -eq 0; then :
|
||||||
|
else
|
||||||
|
rm -f "$tmpdepfile"
|
||||||
|
exit $stat
|
||||||
|
fi
|
||||||
|
rm -f "$depfile"
|
||||||
|
|
||||||
|
if test -f "$tmpdepfile"; then # yes, the sourcefile depend on other files
|
||||||
|
echo "$object : \\" > "$depfile"
|
||||||
|
|
||||||
|
# Clip off the initial element (the dependent). Don't try to be
|
||||||
|
# clever and replace this with sed code, as IRIX sed won't handle
|
||||||
|
# lines with more than a fixed number of characters (4096 in
|
||||||
|
# IRIX 6.2 sed, 8192 in IRIX 6.5). We also remove comment lines;
|
||||||
|
# the IRIX cc adds comments like `#:fec' to the end of the
|
||||||
|
# dependency line.
|
||||||
|
tr ' ' '
|
||||||
|
' < "$tmpdepfile" \
|
||||||
|
| sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' | \
|
||||||
|
tr '
|
||||||
|
' ' ' >> $depfile
|
||||||
|
echo >> $depfile
|
||||||
|
|
||||||
|
# The second pass generates a dummy entry for each header file.
|
||||||
|
tr ' ' '
|
||||||
|
' < "$tmpdepfile" \
|
||||||
|
| sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' -e 's/$/:/' \
|
||||||
|
>> $depfile
|
||||||
|
else
|
||||||
|
# The sourcefile does not contain any dependencies, so just
|
||||||
|
# store a dummy comment line, to avoid errors with the Makefile
|
||||||
|
# "include basename.Plo" scheme.
|
||||||
|
echo "#dummy" > "$depfile"
|
||||||
|
fi
|
||||||
|
rm -f "$tmpdepfile"
|
||||||
|
;;
|
||||||
|
|
||||||
|
aix)
|
||||||
|
# The C for AIX Compiler uses -M and outputs the dependencies
|
||||||
|
# in a .u file. This file always lives in the current directory.
|
||||||
|
# Also, the AIX compiler puts `$object:' at the start of each line;
|
||||||
|
# $object doesn't have directory information.
|
||||||
|
stripped=`echo "$object" | sed -e 's,^.*/,,' -e 's/\(.*\)\..*$/\1/'`
|
||||||
|
tmpdepfile="$stripped.u"
|
||||||
|
outname="$stripped.o"
|
||||||
|
if test "$libtool" = yes; then
|
||||||
|
"$@" -Wc,-M
|
||||||
|
else
|
||||||
|
"$@" -M
|
||||||
|
fi
|
||||||
|
|
||||||
|
stat=$?
|
||||||
|
if test $stat -eq 0; then :
|
||||||
|
else
|
||||||
|
rm -f "$tmpdepfile"
|
||||||
|
exit $stat
|
||||||
|
fi
|
||||||
|
|
||||||
|
if test -f "$tmpdepfile"; then
|
||||||
|
# Each line is of the form `foo.o: dependent.h'.
|
||||||
|
# Do two passes, one to just change these to
|
||||||
|
# `$object: dependent.h' and one to simply `dependent.h:'.
|
||||||
|
sed -e "s,^$outname:,$object :," < "$tmpdepfile" > "$depfile"
|
||||||
|
sed -e "s,^$outname: \(.*\)$,\1:," < "$tmpdepfile" >> "$depfile"
|
||||||
|
else
|
||||||
|
# The sourcefile does not contain any dependencies, so just
|
||||||
|
# store a dummy comment line, to avoid errors with the Makefile
|
||||||
|
# "include basename.Plo" scheme.
|
||||||
|
echo "#dummy" > "$depfile"
|
||||||
|
fi
|
||||||
|
rm -f "$tmpdepfile"
|
||||||
|
;;
|
||||||
|
|
||||||
|
tru64)
|
||||||
|
# The Tru64 compiler uses -MD to generate dependencies as a side
|
||||||
|
# effect. `cc -MD -o foo.o ...' puts the dependencies into `foo.o.d'.
|
||||||
|
# At least on Alpha/Redhat 6.1, Compaq CCC V6.2-504 seems to put
|
||||||
|
# dependencies in `foo.d' instead, so we check for that too.
|
||||||
|
# Subdirectories are respected.
|
||||||
|
dir=`echo "$object" | sed -e 's|/[^/]*$|/|'`
|
||||||
|
test "x$dir" = "x$object" && dir=
|
||||||
|
base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'`
|
||||||
|
|
||||||
|
if test "$libtool" = yes; then
|
||||||
|
tmpdepfile1="$dir.libs/$base.lo.d"
|
||||||
|
tmpdepfile2="$dir.libs/$base.d"
|
||||||
|
"$@" -Wc,-MD
|
||||||
|
else
|
||||||
|
tmpdepfile1="$dir$base.o.d"
|
||||||
|
tmpdepfile2="$dir$base.d"
|
||||||
|
"$@" -MD
|
||||||
|
fi
|
||||||
|
|
||||||
|
stat=$?
|
||||||
|
if test $stat -eq 0; then :
|
||||||
|
else
|
||||||
|
rm -f "$tmpdepfile1" "$tmpdepfile2"
|
||||||
|
exit $stat
|
||||||
|
fi
|
||||||
|
|
||||||
|
if test -f "$tmpdepfile1"; then
|
||||||
|
tmpdepfile="$tmpdepfile1"
|
||||||
|
else
|
||||||
|
tmpdepfile="$tmpdepfile2"
|
||||||
|
fi
|
||||||
|
if test -f "$tmpdepfile"; then
|
||||||
|
sed -e "s,^.*\.[a-z]*:,$object:," < "$tmpdepfile" > "$depfile"
|
||||||
|
# That's a space and a tab in the [].
|
||||||
|
sed -e 's,^.*\.[a-z]*:[ ]*,,' -e 's,$,:,' < "$tmpdepfile" >> "$depfile"
|
||||||
|
else
|
||||||
|
echo "#dummy" > "$depfile"
|
||||||
|
fi
|
||||||
|
rm -f "$tmpdepfile"
|
||||||
|
;;
|
||||||
|
|
||||||
|
#nosideeffect)
|
||||||
|
# This comment above is used by automake to tell side-effect
|
||||||
|
# dependency tracking mechanisms from slower ones.
|
||||||
|
|
||||||
|
dashmstdout)
|
||||||
|
# Important note: in order to support this mode, a compiler *must*
|
||||||
|
# always write the proprocessed file to stdout, regardless of -o.
|
||||||
|
"$@" || exit $?
|
||||||
|
|
||||||
|
# Remove the call to Libtool.
|
||||||
|
if test "$libtool" = yes; then
|
||||||
|
while test $1 != '--mode=compile'; do
|
||||||
|
shift
|
||||||
|
done
|
||||||
|
shift
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Remove `-o $object'. We will use -o /dev/null later,
|
||||||
|
# however we can't do the remplacement now because
|
||||||
|
# `-o $object' might simply not be used
|
||||||
|
IFS=" "
|
||||||
|
for arg
|
||||||
|
do
|
||||||
|
case $arg in
|
||||||
|
-o)
|
||||||
|
shift
|
||||||
|
;;
|
||||||
|
$object)
|
||||||
|
shift
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
set fnord "$@" "$arg"
|
||||||
|
shift # fnord
|
||||||
|
shift # $arg
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
done
|
||||||
|
|
||||||
|
test -z "$dashmflag" && dashmflag=-M
|
||||||
|
"$@" -o /dev/null $dashmflag | sed 's:^[^:]*\:[ ]*:'"$object"'\: :' > "$tmpdepfile"
|
||||||
|
rm -f "$depfile"
|
||||||
|
cat < "$tmpdepfile" > "$depfile"
|
||||||
|
tr ' ' '
|
||||||
|
' < "$tmpdepfile" | \
|
||||||
|
## Some versions of the HPUX 10.20 sed can't process this invocation
|
||||||
|
## correctly. Breaking it into two sed invocations is a workaround.
|
||||||
|
sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile"
|
||||||
|
rm -f "$tmpdepfile"
|
||||||
|
;;
|
||||||
|
|
||||||
|
dashXmstdout)
|
||||||
|
# This case only exists to satisfy depend.m4. It is never actually
|
||||||
|
# run, as this mode is specially recognized in the preamble.
|
||||||
|
exit 1
|
||||||
|
;;
|
||||||
|
|
||||||
|
makedepend)
|
||||||
|
"$@" || exit $?
|
||||||
|
# X makedepend
|
||||||
|
shift
|
||||||
|
cleared=no
|
||||||
|
for arg in "$@"; do
|
||||||
|
case $cleared in
|
||||||
|
no)
|
||||||
|
set ""; shift
|
||||||
|
cleared=yes ;;
|
||||||
|
esac
|
||||||
|
case "$arg" in
|
||||||
|
-D*|-I*)
|
||||||
|
set fnord "$@" "$arg"; shift ;;
|
||||||
|
-*)
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
set fnord "$@" "$arg"; shift ;;
|
||||||
|
esac
|
||||||
|
done
|
||||||
|
obj_suffix="`echo $object | sed 's/^.*\././'`"
|
||||||
|
touch "$tmpdepfile"
|
||||||
|
${MAKEDEPEND-makedepend} -o"$obj_suffix" -f"$tmpdepfile" "$@"
|
||||||
|
rm -f "$depfile"
|
||||||
|
cat < "$tmpdepfile" > "$depfile"
|
||||||
|
sed '1,2d' "$tmpdepfile" | tr ' ' '
|
||||||
|
' | \
|
||||||
|
## Some versions of the HPUX 10.20 sed can't process this invocation
|
||||||
|
## correctly. Breaking it into two sed invocations is a workaround.
|
||||||
|
sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile"
|
||||||
|
rm -f "$tmpdepfile" "$tmpdepfile".bak
|
||||||
|
;;
|
||||||
|
|
||||||
|
cpp)
|
||||||
|
# Important note: in order to support this mode, a compiler *must*
|
||||||
|
# always write the proprocessed file to stdout.
|
||||||
|
"$@" || exit $?
|
||||||
|
|
||||||
|
# Remove the call to Libtool.
|
||||||
|
if test "$libtool" = yes; then
|
||||||
|
while test $1 != '--mode=compile'; do
|
||||||
|
shift
|
||||||
|
done
|
||||||
|
shift
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Remove `-o $object'.
|
||||||
|
IFS=" "
|
||||||
|
for arg
|
||||||
|
do
|
||||||
|
case $arg in
|
||||||
|
-o)
|
||||||
|
shift
|
||||||
|
;;
|
||||||
|
$object)
|
||||||
|
shift
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
set fnord "$@" "$arg"
|
||||||
|
shift # fnord
|
||||||
|
shift # $arg
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
done
|
||||||
|
|
||||||
|
"$@" -E |
|
||||||
|
sed -n '/^# [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' |
|
||||||
|
sed '$ s: \\$::' > "$tmpdepfile"
|
||||||
|
rm -f "$depfile"
|
||||||
|
echo "$object : \\" > "$depfile"
|
||||||
|
cat < "$tmpdepfile" >> "$depfile"
|
||||||
|
sed < "$tmpdepfile" '/^$/d;s/^ //;s/ \\$//;s/$/ :/' >> "$depfile"
|
||||||
|
rm -f "$tmpdepfile"
|
||||||
|
;;
|
||||||
|
|
||||||
|
msvisualcpp)
|
||||||
|
# Important note: in order to support this mode, a compiler *must*
|
||||||
|
# always write the proprocessed file to stdout, regardless of -o,
|
||||||
|
# because we must use -o when running libtool.
|
||||||
|
"$@" || exit $?
|
||||||
|
IFS=" "
|
||||||
|
for arg
|
||||||
|
do
|
||||||
|
case "$arg" in
|
||||||
|
"-Gm"|"/Gm"|"-Gi"|"/Gi"|"-ZI"|"/ZI")
|
||||||
|
set fnord "$@"
|
||||||
|
shift
|
||||||
|
shift
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
set fnord "$@" "$arg"
|
||||||
|
shift
|
||||||
|
shift
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
done
|
||||||
|
"$@" -E |
|
||||||
|
sed -n '/^#line [0-9][0-9]* "\([^"]*\)"/ s::echo "`cygpath -u \\"\1\\"`":p' | sort | uniq > "$tmpdepfile"
|
||||||
|
rm -f "$depfile"
|
||||||
|
echo "$object : \\" > "$depfile"
|
||||||
|
. "$tmpdepfile" | sed 's% %\\ %g' | sed -n '/^\(.*\)$/ s:: \1 \\:p' >> "$depfile"
|
||||||
|
echo " " >> "$depfile"
|
||||||
|
. "$tmpdepfile" | sed 's% %\\ %g' | sed -n '/^\(.*\)$/ s::\1\::p' >> "$depfile"
|
||||||
|
rm -f "$tmpdepfile"
|
||||||
|
;;
|
||||||
|
|
||||||
|
none)
|
||||||
|
exec "$@"
|
||||||
|
;;
|
||||||
|
|
||||||
|
*)
|
||||||
|
echo "Unknown depmode $depmode" 1>&2
|
||||||
|
exit 1
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
exit 0
|
||||||
Executable
+269
@@ -0,0 +1,269 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
# install - install a program, script, or datafile
|
||||||
|
# This originally came from X11R5 (mit/util/scripts/install.sh).
|
||||||
|
|
||||||
|
scriptversion=2003-01-17.15
|
||||||
|
|
||||||
|
# Copyright 1991 by the Massachusetts Institute of Technology
|
||||||
|
# (FSF changes in the public domain.)
|
||||||
|
#
|
||||||
|
# Permission to use, copy, modify, distribute, and sell this software and its
|
||||||
|
# documentation for any purpose is hereby granted without fee, provided that
|
||||||
|
# the above copyright notice appear in all copies and that both that
|
||||||
|
# copyright notice and this permission notice appear in supporting
|
||||||
|
# documentation, and that the name of M.I.T. not be used in advertising or
|
||||||
|
# publicity pertaining to distribution of the software without specific,
|
||||||
|
# written prior permission. M.I.T. makes no representations about the
|
||||||
|
# suitability of this software for any purpose. It is provided "as is"
|
||||||
|
# without express or implied warranty.
|
||||||
|
#
|
||||||
|
# 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. It can only install one file at a time, a restriction
|
||||||
|
# shared with many OS's install programs.
|
||||||
|
|
||||||
|
# set DOITPROG to echo to test this script
|
||||||
|
|
||||||
|
# Don't use :- since 4.3BSD and earlier shells don't like it.
|
||||||
|
doit="${DOITPROG-}"
|
||||||
|
|
||||||
|
# put in absolute paths if you don't have them in your path; or use env. vars.
|
||||||
|
|
||||||
|
mvprog="${MVPROG-mv}"
|
||||||
|
cpprog="${CPPROG-cp}"
|
||||||
|
chmodprog="${CHMODPROG-chmod}"
|
||||||
|
chownprog="${CHOWNPROG-chown}"
|
||||||
|
chgrpprog="${CHGRPPROG-chgrp}"
|
||||||
|
stripprog="${STRIPPROG-strip}"
|
||||||
|
rmprog="${RMPROG-rm}"
|
||||||
|
mkdirprog="${MKDIRPROG-mkdir}"
|
||||||
|
|
||||||
|
transformbasename=
|
||||||
|
transform_arg=
|
||||||
|
instcmd="$mvprog"
|
||||||
|
chmodcmd="$chmodprog 0755"
|
||||||
|
chowncmd=
|
||||||
|
chgrpcmd=
|
||||||
|
stripcmd=
|
||||||
|
rmcmd="$rmprog -f"
|
||||||
|
mvcmd="$mvprog"
|
||||||
|
src=
|
||||||
|
dst=
|
||||||
|
dir_arg=
|
||||||
|
|
||||||
|
usage="Usage: $0 [OPTION]... SRCFILE DSTFILE
|
||||||
|
or: $0 -d DIR1 DIR2...
|
||||||
|
|
||||||
|
In the first form, install SRCFILE to DSTFILE, removing SRCFILE by default.
|
||||||
|
In the second, create the directory path DIR.
|
||||||
|
|
||||||
|
Options:
|
||||||
|
-b=TRANSFORMBASENAME
|
||||||
|
-c copy source (using $cpprog) instead of moving (using $mvprog).
|
||||||
|
-d create directories instead of installing files.
|
||||||
|
-g GROUP $chgrp installed files to GROUP.
|
||||||
|
-m MODE $chmod installed files to MODE.
|
||||||
|
-o USER $chown installed files to USER.
|
||||||
|
-s strip installed files (using $stripprog).
|
||||||
|
-t=TRANSFORM
|
||||||
|
--help display this help and exit.
|
||||||
|
--version display version info and exit.
|
||||||
|
|
||||||
|
Environment variables override the default commands:
|
||||||
|
CHGRPPROG CHMODPROG CHOWNPROG CPPROG MKDIRPROG MVPROG RMPROG STRIPPROG
|
||||||
|
"
|
||||||
|
|
||||||
|
while test -n "$1"; do
|
||||||
|
case $1 in
|
||||||
|
-b=*) transformbasename=`echo $1 | sed 's/-b=//'`
|
||||||
|
shift
|
||||||
|
continue;;
|
||||||
|
|
||||||
|
-c) instcmd=$cpprog
|
||||||
|
shift
|
||||||
|
continue;;
|
||||||
|
|
||||||
|
-d) dir_arg=true
|
||||||
|
shift
|
||||||
|
continue;;
|
||||||
|
|
||||||
|
-g) chgrpcmd="$chgrpprog $2"
|
||||||
|
shift
|
||||||
|
shift
|
||||||
|
continue;;
|
||||||
|
|
||||||
|
--help) echo "$usage"; exit 0;;
|
||||||
|
|
||||||
|
-m) chmodcmd="$chmodprog $2"
|
||||||
|
shift
|
||||||
|
shift
|
||||||
|
continue;;
|
||||||
|
|
||||||
|
-o) chowncmd="$chownprog $2"
|
||||||
|
shift
|
||||||
|
shift
|
||||||
|
continue;;
|
||||||
|
|
||||||
|
-s) stripcmd=$stripprog
|
||||||
|
shift
|
||||||
|
continue;;
|
||||||
|
|
||||||
|
-t=*) transformarg=`echo $1 | sed 's/-t=//'`
|
||||||
|
shift
|
||||||
|
continue;;
|
||||||
|
|
||||||
|
--version) echo "$0 $scriptversion"; exit 0;;
|
||||||
|
|
||||||
|
*) if test -z "$src"; then
|
||||||
|
src=$1
|
||||||
|
else
|
||||||
|
# this colon is to work around a 386BSD /bin/sh bug
|
||||||
|
:
|
||||||
|
dst=$1
|
||||||
|
fi
|
||||||
|
shift
|
||||||
|
continue;;
|
||||||
|
esac
|
||||||
|
done
|
||||||
|
|
||||||
|
if test -z "$src"; then
|
||||||
|
echo "$0: no input file specified." >&2
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
if test -n "$dir_arg"; then
|
||||||
|
dst=$src
|
||||||
|
src=
|
||||||
|
|
||||||
|
if test -d "$dst"; then
|
||||||
|
instcmd=:
|
||||||
|
chmodcmd=
|
||||||
|
else
|
||||||
|
instcmd=$mkdirprog
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
# Waiting for this to be detected by the "$instcmd $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"; then
|
||||||
|
echo "$0: no destination specified." >&2
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
# If destination is a directory, append the input filename; won't work
|
||||||
|
# if double slashes aren't ignored.
|
||||||
|
if test -d "$dst"; then
|
||||||
|
dst=$dst/`basename "$src"`
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
## this sed command emulates the dirname command
|
||||||
|
dstdir=`echo "$dst" | sed -e 's,[^/]*$,,;s,/$,,;s,^$,.,'`
|
||||||
|
|
||||||
|
# Make sure that the destination directory exists.
|
||||||
|
# (this part is taken from Noah Friedman's mkinstalldirs script.)
|
||||||
|
|
||||||
|
# Skip lots of stat calls in the usual case.
|
||||||
|
if test ! -d "$dstdir"; then
|
||||||
|
defaultIFS='
|
||||||
|
'
|
||||||
|
IFS="${IFS-$defaultIFS}"
|
||||||
|
|
||||||
|
oIFS=$IFS
|
||||||
|
# Some sh's can't handle IFS=/ for some reason.
|
||||||
|
IFS='%'
|
||||||
|
set - `echo "$dstdir" | sed -e 's@/@%@g' -e 's@^%@/@'`
|
||||||
|
IFS=$oIFS
|
||||||
|
|
||||||
|
pathcomp=
|
||||||
|
|
||||||
|
while test $# -ne 0 ; do
|
||||||
|
pathcomp=$pathcomp$1
|
||||||
|
shift
|
||||||
|
test -d "$pathcomp" || $mkdirprog "$pathcomp"
|
||||||
|
pathcomp=$pathcomp/
|
||||||
|
done
|
||||||
|
fi
|
||||||
|
|
||||||
|
if test -n "$dir_arg"; then
|
||||||
|
$doit $instcmd "$dst" \
|
||||||
|
&& { test -z "$chowncmd" || $doit $chowncmd "$dst"; } \
|
||||||
|
&& { test -z "$chgrpcmd" || $doit $chgrpcmd "$dst"; } \
|
||||||
|
&& { test -z "$stripcmd" || $doit $stripcmd "$dst"; } \
|
||||||
|
&& { test -z "$chmodcmd" || $doit $chmodcmd "$dst"; }
|
||||||
|
|
||||||
|
else
|
||||||
|
# If we're going to rename the final executable, determine the name now.
|
||||||
|
if test -z "$transformarg"; then
|
||||||
|
dstfile=`basename "$dst"`
|
||||||
|
else
|
||||||
|
dstfile=`basename "$dst" $transformbasename \
|
||||||
|
| sed $transformarg`$transformbasename
|
||||||
|
fi
|
||||||
|
|
||||||
|
# don't allow the sed command to completely eliminate the filename.
|
||||||
|
test -z "$dstfile" && dstfile=`basename "$dst"`
|
||||||
|
|
||||||
|
# Make a couple of temp file names in the proper directory.
|
||||||
|
dsttmp=$dstdir/#inst.$$#
|
||||||
|
rmtmp=$dstdir/#rm.$$#
|
||||||
|
|
||||||
|
# Trap to clean up those temp files at exit.
|
||||||
|
trap 'status=$?; rm -f "$dsttmp" "$rmtmp" && exit $status' 0
|
||||||
|
trap '(exit $?); exit' 1 2 13 15
|
||||||
|
|
||||||
|
# Move or copy the file name to the temp name
|
||||||
|
$doit $instcmd "$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 $instcmd $src $dsttmp" command.
|
||||||
|
#
|
||||||
|
{ test -z "$chowncmd" || $doit $chowncmd "$dsttmp"; } \
|
||||||
|
&& { test -z "$chgrpcmd" || $doit $chgrpcmd "$dsttmp"; } \
|
||||||
|
&& { test -z "$stripcmd" || $doit $stripcmd "$dsttmp"; } \
|
||||||
|
&& { test -z "$chmodcmd" || $doit $chmodcmd "$dsttmp"; } &&
|
||||||
|
|
||||||
|
# Now remove or move aside any old file at destination location. We
|
||||||
|
# try this two ways since rm can't unlink itself on some systems and
|
||||||
|
# the destination file might be busy for other reasons. In this case,
|
||||||
|
# the final cleanup might fail but the new file should still install
|
||||||
|
# successfully.
|
||||||
|
{
|
||||||
|
if test -f "$dstdir/$dstfile"; then
|
||||||
|
$doit $rmcmd -f "$dstdir/$dstfile" 2>/dev/null \
|
||||||
|
|| $doit $mvcmd -f "$dstdir/$dstfile" "$rmtmp" 2>/dev/null \
|
||||||
|
|| {
|
||||||
|
echo "$0: cannot unlink or rename $dstdir/$dstfile" >&2
|
||||||
|
(exit 1); exit
|
||||||
|
}
|
||||||
|
else
|
||||||
|
:
|
||||||
|
fi
|
||||||
|
} &&
|
||||||
|
|
||||||
|
# Now rename the file to the real destination.
|
||||||
|
$doit $mvcmd "$dsttmp" "$dstdir/$dstfile"
|
||||||
|
fi &&
|
||||||
|
|
||||||
|
# The final little trick to "correctly" pass the exit status to the exit trap.
|
||||||
|
{
|
||||||
|
(exit 0); exit
|
||||||
|
}
|
||||||
|
|
||||||
|
# Local variables:
|
||||||
|
# eval: (add-hook 'write-file-hooks 'time-stamp)
|
||||||
|
# time-stamp-start: "scriptversion="
|
||||||
|
# time-stamp-format: "%:y-%02m-%02d.%02H"
|
||||||
|
# time-stamp-end: "$"
|
||||||
|
# End:
|
||||||
@@ -0,0 +1,133 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
# Get modification time of a file or directory and pretty-print it.
|
||||||
|
# Copyright (C) 1995, 1996, 1997, 2003 Free Software Foundation, Inc.
|
||||||
|
# written by Ulrich Drepper <[email protected]>, June 1995
|
||||||
|
#
|
||||||
|
# This program is free software; you can redistribute it and/or modify
|
||||||
|
# it under the terms of the GNU General Public License as published by
|
||||||
|
# the Free Software Foundation; either version 2, or (at your option)
|
||||||
|
# any later version.
|
||||||
|
#
|
||||||
|
# This program is distributed in the hope that it will be useful,
|
||||||
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
# GNU General Public License for more details.
|
||||||
|
#
|
||||||
|
# You should have received a copy of the GNU General Public License
|
||||||
|
# along with this program; if not, write to the Free Software Foundation,
|
||||||
|
# Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||||
|
|
||||||
|
# As a special exception to the GNU General Public License, if you
|
||||||
|
# distribute this file as part of a program that contains a
|
||||||
|
# configuration script generated by Autoconf, you may include it under
|
||||||
|
# the same distribution terms that you use for the rest of that program.
|
||||||
|
|
||||||
|
# Prevent date giving response in another language.
|
||||||
|
LANG=C
|
||||||
|
export LANG
|
||||||
|
LC_ALL=C
|
||||||
|
export LC_ALL
|
||||||
|
LC_TIME=C
|
||||||
|
export LC_TIME
|
||||||
|
|
||||||
|
save_arg1="$1"
|
||||||
|
|
||||||
|
# Find out how to get the extended ls output of a file or directory.
|
||||||
|
if ls -L /dev/null 1>/dev/null 2>&1; then
|
||||||
|
ls_command='ls -L -l -d'
|
||||||
|
else
|
||||||
|
ls_command='ls -l -d'
|
||||||
|
fi
|
||||||
|
|
||||||
|
# A `ls -l' line looks as follows on OS/2.
|
||||||
|
# drwxrwx--- 0 Aug 11 2001 foo
|
||||||
|
# This differs from Unix, which adds ownership information.
|
||||||
|
# drwxrwx--- 2 root root 4096 Aug 11 2001 foo
|
||||||
|
#
|
||||||
|
# To find the date, we split the line on spaces and iterate on words
|
||||||
|
# until we find a month. This cannot work with files whose owner is a
|
||||||
|
# user named `Jan', or `Feb', etc. However, it's unlikely that `/'
|
||||||
|
# will be owned by a user whose name is a month. So we first look at
|
||||||
|
# the extended ls output of the root directory to decide how many
|
||||||
|
# words should be skipped to get the date.
|
||||||
|
|
||||||
|
# On HPUX /bin/sh, "set" interprets "-rw-r--r--" as options, so the "x" below.
|
||||||
|
set - x`$ls_command /`
|
||||||
|
|
||||||
|
# Find which argument is the month.
|
||||||
|
month=
|
||||||
|
command=
|
||||||
|
until test $month
|
||||||
|
do
|
||||||
|
shift
|
||||||
|
# Add another shift to the command.
|
||||||
|
command="$command shift;"
|
||||||
|
case $1 in
|
||||||
|
Jan) month=January; nummonth=1;;
|
||||||
|
Feb) month=February; nummonth=2;;
|
||||||
|
Mar) month=March; nummonth=3;;
|
||||||
|
Apr) month=April; nummonth=4;;
|
||||||
|
May) month=May; nummonth=5;;
|
||||||
|
Jun) month=June; nummonth=6;;
|
||||||
|
Jul) month=July; nummonth=7;;
|
||||||
|
Aug) month=August; nummonth=8;;
|
||||||
|
Sep) month=September; nummonth=9;;
|
||||||
|
Oct) month=October; nummonth=10;;
|
||||||
|
Nov) month=November; nummonth=11;;
|
||||||
|
Dec) month=December; nummonth=12;;
|
||||||
|
esac
|
||||||
|
done
|
||||||
|
|
||||||
|
# Get the extended ls output of the file or directory.
|
||||||
|
set - x`eval "$ls_command \"\$save_arg1\""`
|
||||||
|
|
||||||
|
# Remove all preceding arguments
|
||||||
|
eval $command
|
||||||
|
|
||||||
|
# Get the month. Next argument is day, followed by the year or time.
|
||||||
|
case $1 in
|
||||||
|
Jan) month=January; nummonth=1;;
|
||||||
|
Feb) month=February; nummonth=2;;
|
||||||
|
Mar) month=March; nummonth=3;;
|
||||||
|
Apr) month=April; nummonth=4;;
|
||||||
|
May) month=May; nummonth=5;;
|
||||||
|
Jun) month=June; nummonth=6;;
|
||||||
|
Jul) month=July; nummonth=7;;
|
||||||
|
Aug) month=August; nummonth=8;;
|
||||||
|
Sep) month=September; nummonth=9;;
|
||||||
|
Oct) month=October; nummonth=10;;
|
||||||
|
Nov) month=November; nummonth=11;;
|
||||||
|
Dec) month=December; nummonth=12;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
day=$2
|
||||||
|
|
||||||
|
# Here we have to deal with the problem that the ls output gives either
|
||||||
|
# the time of day or the year.
|
||||||
|
case $3 in
|
||||||
|
*:*) set `date`; eval year=\$$#
|
||||||
|
case $2 in
|
||||||
|
Jan) nummonthtod=1;;
|
||||||
|
Feb) nummonthtod=2;;
|
||||||
|
Mar) nummonthtod=3;;
|
||||||
|
Apr) nummonthtod=4;;
|
||||||
|
May) nummonthtod=5;;
|
||||||
|
Jun) nummonthtod=6;;
|
||||||
|
Jul) nummonthtod=7;;
|
||||||
|
Aug) nummonthtod=8;;
|
||||||
|
Sep) nummonthtod=9;;
|
||||||
|
Oct) nummonthtod=10;;
|
||||||
|
Nov) nummonthtod=11;;
|
||||||
|
Dec) nummonthtod=12;;
|
||||||
|
esac
|
||||||
|
# For the first six month of the year the time notation can also
|
||||||
|
# be used for files modified in the last year.
|
||||||
|
if (expr $nummonth \> $nummonthtod) > /dev/null;
|
||||||
|
then
|
||||||
|
year=`expr $year - 1`
|
||||||
|
fi;;
|
||||||
|
*) year=$3;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
# The result.
|
||||||
|
echo $day $month $year
|
||||||
@@ -0,0 +1,336 @@
|
|||||||
|
#! /bin/sh
|
||||||
|
# Common stub for a few missing GNU programs while installing.
|
||||||
|
# Copyright (C) 1996, 1997, 1999, 2000, 2002 Free Software Foundation, Inc.
|
||||||
|
# Originally by Fran,cois Pinard <[email protected]>, 1996.
|
||||||
|
|
||||||
|
# This program is free software; you can redistribute it and/or modify
|
||||||
|
# it under the terms of the GNU General Public License as published by
|
||||||
|
# the Free Software Foundation; either version 2, or (at your option)
|
||||||
|
# any later version.
|
||||||
|
|
||||||
|
# This program is distributed in the hope that it will be useful,
|
||||||
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
# GNU General Public License for more details.
|
||||||
|
|
||||||
|
# You should have received a copy of the GNU General Public License
|
||||||
|
# along with this program; if not, write to the Free Software
|
||||||
|
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
|
||||||
|
# 02111-1307, USA.
|
||||||
|
|
||||||
|
# As a special exception to the GNU General Public License, if you
|
||||||
|
# distribute this file as part of a program that contains a
|
||||||
|
# configuration script generated by Autoconf, you may include it under
|
||||||
|
# the same distribution terms that you use for the rest of that program.
|
||||||
|
|
||||||
|
if test $# -eq 0; then
|
||||||
|
echo 1>&2 "Try \`$0 --help' for more information"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
run=:
|
||||||
|
|
||||||
|
# In the cases where this matters, `missing' is being run in the
|
||||||
|
# srcdir already.
|
||||||
|
if test -f configure.ac; then
|
||||||
|
configure_ac=configure.ac
|
||||||
|
else
|
||||||
|
configure_ac=configure.in
|
||||||
|
fi
|
||||||
|
|
||||||
|
case "$1" in
|
||||||
|
--run)
|
||||||
|
# Try to run requested program, and just exit if it succeeds.
|
||||||
|
run=
|
||||||
|
shift
|
||||||
|
"$@" && exit 0
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
# If it does not exist, or fails to run (possibly an outdated version),
|
||||||
|
# try to emulate it.
|
||||||
|
case "$1" in
|
||||||
|
|
||||||
|
-h|--h|--he|--hel|--help)
|
||||||
|
echo "\
|
||||||
|
$0 [OPTION]... PROGRAM [ARGUMENT]...
|
||||||
|
|
||||||
|
Handle \`PROGRAM [ARGUMENT]...' for when PROGRAM is missing, or return an
|
||||||
|
error status if there is no known handling for PROGRAM.
|
||||||
|
|
||||||
|
Options:
|
||||||
|
-h, --help display this help and exit
|
||||||
|
-v, --version output version information and exit
|
||||||
|
--run try to run the given command, and emulate it if it fails
|
||||||
|
|
||||||
|
Supported PROGRAM values:
|
||||||
|
aclocal touch file \`aclocal.m4'
|
||||||
|
autoconf touch file \`configure'
|
||||||
|
autoheader touch file \`config.h.in'
|
||||||
|
automake touch all \`Makefile.in' files
|
||||||
|
bison create \`y.tab.[ch]', if possible, from existing .[ch]
|
||||||
|
flex create \`lex.yy.c', if possible, from existing .c
|
||||||
|
help2man touch the output file
|
||||||
|
lex create \`lex.yy.c', if possible, from existing .c
|
||||||
|
makeinfo touch the output file
|
||||||
|
tar try tar, gnutar, gtar, then tar without non-portable flags
|
||||||
|
yacc create \`y.tab.[ch]', if possible, from existing .[ch]"
|
||||||
|
;;
|
||||||
|
|
||||||
|
-v|--v|--ve|--ver|--vers|--versi|--versio|--version)
|
||||||
|
echo "missing 0.4 - GNU automake"
|
||||||
|
;;
|
||||||
|
|
||||||
|
-*)
|
||||||
|
echo 1>&2 "$0: Unknown \`$1' option"
|
||||||
|
echo 1>&2 "Try \`$0 --help' for more information"
|
||||||
|
exit 1
|
||||||
|
;;
|
||||||
|
|
||||||
|
aclocal*)
|
||||||
|
if test -z "$run" && ($1 --version) > /dev/null 2>&1; then
|
||||||
|
# We have it, but it failed.
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo 1>&2 "\
|
||||||
|
WARNING: \`$1' is missing on your system. You should only need it if
|
||||||
|
you modified \`acinclude.m4' or \`${configure_ac}'. You might want
|
||||||
|
to install the \`Automake' and \`Perl' packages. Grab them from
|
||||||
|
any GNU archive site."
|
||||||
|
touch aclocal.m4
|
||||||
|
;;
|
||||||
|
|
||||||
|
autoconf)
|
||||||
|
if test -z "$run" && ($1 --version) > /dev/null 2>&1; then
|
||||||
|
# We have it, but it failed.
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo 1>&2 "\
|
||||||
|
WARNING: \`$1' is missing on your system. You should only need it if
|
||||||
|
you modified \`${configure_ac}'. You might want to install the
|
||||||
|
\`Autoconf' and \`GNU m4' packages. Grab them from any GNU
|
||||||
|
archive site."
|
||||||
|
touch configure
|
||||||
|
;;
|
||||||
|
|
||||||
|
autoheader)
|
||||||
|
if test -z "$run" && ($1 --version) > /dev/null 2>&1; then
|
||||||
|
# We have it, but it failed.
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo 1>&2 "\
|
||||||
|
WARNING: \`$1' is missing on your system. You should only need it if
|
||||||
|
you modified \`acconfig.h' or \`${configure_ac}'. You might want
|
||||||
|
to install the \`Autoconf' and \`GNU m4' packages. Grab them
|
||||||
|
from any GNU archive site."
|
||||||
|
files=`sed -n 's/^[ ]*A[CM]_CONFIG_HEADER(\([^)]*\)).*/\1/p' ${configure_ac}`
|
||||||
|
test -z "$files" && files="config.h"
|
||||||
|
touch_files=
|
||||||
|
for f in $files; do
|
||||||
|
case "$f" in
|
||||||
|
*:*) touch_files="$touch_files "`echo "$f" |
|
||||||
|
sed -e 's/^[^:]*://' -e 's/:.*//'`;;
|
||||||
|
*) touch_files="$touch_files $f.in";;
|
||||||
|
esac
|
||||||
|
done
|
||||||
|
touch $touch_files
|
||||||
|
;;
|
||||||
|
|
||||||
|
automake*)
|
||||||
|
if test -z "$run" && ($1 --version) > /dev/null 2>&1; then
|
||||||
|
# We have it, but it failed.
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo 1>&2 "\
|
||||||
|
WARNING: \`$1' is missing on your system. You should only need it if
|
||||||
|
you modified \`Makefile.am', \`acinclude.m4' or \`${configure_ac}'.
|
||||||
|
You might want to install the \`Automake' and \`Perl' packages.
|
||||||
|
Grab them from any GNU archive site."
|
||||||
|
find . -type f -name Makefile.am -print |
|
||||||
|
sed 's/\.am$/.in/' |
|
||||||
|
while read f; do touch "$f"; done
|
||||||
|
;;
|
||||||
|
|
||||||
|
autom4te)
|
||||||
|
if test -z "$run" && ($1 --version) > /dev/null 2>&1; then
|
||||||
|
# We have it, but it failed.
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo 1>&2 "\
|
||||||
|
WARNING: \`$1' is needed, and you do not seem to have it handy on your
|
||||||
|
system. You might have modified some files without having the
|
||||||
|
proper tools for further handling them.
|
||||||
|
You can get \`$1Help2man' as part of \`Autoconf' from any GNU
|
||||||
|
archive site."
|
||||||
|
|
||||||
|
file=`echo "$*" | sed -n 's/.*--output[ =]*\([^ ]*\).*/\1/p'`
|
||||||
|
test -z "$file" && file=`echo "$*" | sed -n 's/.*-o[ ]*\([^ ]*\).*/\1/p'`
|
||||||
|
if test -f "$file"; then
|
||||||
|
touch $file
|
||||||
|
else
|
||||||
|
test -z "$file" || exec >$file
|
||||||
|
echo "#! /bin/sh"
|
||||||
|
echo "# Created by GNU Automake missing as a replacement of"
|
||||||
|
echo "# $ $@"
|
||||||
|
echo "exit 0"
|
||||||
|
chmod +x $file
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
|
||||||
|
bison|yacc)
|
||||||
|
echo 1>&2 "\
|
||||||
|
WARNING: \`$1' is missing on your system. You should only need it if
|
||||||
|
you modified a \`.y' file. You may need the \`Bison' package
|
||||||
|
in order for those modifications to take effect. You can get
|
||||||
|
\`Bison' from any GNU archive site."
|
||||||
|
rm -f y.tab.c y.tab.h
|
||||||
|
if [ $# -ne 1 ]; then
|
||||||
|
eval LASTARG="\${$#}"
|
||||||
|
case "$LASTARG" in
|
||||||
|
*.y)
|
||||||
|
SRCFILE=`echo "$LASTARG" | sed 's/y$/c/'`
|
||||||
|
if [ -f "$SRCFILE" ]; then
|
||||||
|
cp "$SRCFILE" y.tab.c
|
||||||
|
fi
|
||||||
|
SRCFILE=`echo "$LASTARG" | sed 's/y$/h/'`
|
||||||
|
if [ -f "$SRCFILE" ]; then
|
||||||
|
cp "$SRCFILE" y.tab.h
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
fi
|
||||||
|
if [ ! -f y.tab.h ]; then
|
||||||
|
echo >y.tab.h
|
||||||
|
fi
|
||||||
|
if [ ! -f y.tab.c ]; then
|
||||||
|
echo 'main() { return 0; }' >y.tab.c
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
|
||||||
|
lex|flex)
|
||||||
|
echo 1>&2 "\
|
||||||
|
WARNING: \`$1' is missing on your system. You should only need it if
|
||||||
|
you modified a \`.l' file. You may need the \`Flex' package
|
||||||
|
in order for those modifications to take effect. You can get
|
||||||
|
\`Flex' from any GNU archive site."
|
||||||
|
rm -f lex.yy.c
|
||||||
|
if [ $# -ne 1 ]; then
|
||||||
|
eval LASTARG="\${$#}"
|
||||||
|
case "$LASTARG" in
|
||||||
|
*.l)
|
||||||
|
SRCFILE=`echo "$LASTARG" | sed 's/l$/c/'`
|
||||||
|
if [ -f "$SRCFILE" ]; then
|
||||||
|
cp "$SRCFILE" lex.yy.c
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
fi
|
||||||
|
if [ ! -f lex.yy.c ]; then
|
||||||
|
echo 'main() { return 0; }' >lex.yy.c
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
|
||||||
|
help2man)
|
||||||
|
if test -z "$run" && ($1 --version) > /dev/null 2>&1; then
|
||||||
|
# We have it, but it failed.
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo 1>&2 "\
|
||||||
|
WARNING: \`$1' is missing on your system. You should only need it if
|
||||||
|
you modified a dependency of a manual page. You may need the
|
||||||
|
\`Help2man' package in order for those modifications to take
|
||||||
|
effect. You can get \`Help2man' from any GNU archive site."
|
||||||
|
|
||||||
|
file=`echo "$*" | sed -n 's/.*-o \([^ ]*\).*/\1/p'`
|
||||||
|
if test -z "$file"; then
|
||||||
|
file=`echo "$*" | sed -n 's/.*--output=\([^ ]*\).*/\1/p'`
|
||||||
|
fi
|
||||||
|
if [ -f "$file" ]; then
|
||||||
|
touch $file
|
||||||
|
else
|
||||||
|
test -z "$file" || exec >$file
|
||||||
|
echo ".ab help2man is required to generate this page"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
|
||||||
|
makeinfo)
|
||||||
|
if test -z "$run" && (makeinfo --version) > /dev/null 2>&1; then
|
||||||
|
# We have makeinfo, but it failed.
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo 1>&2 "\
|
||||||
|
WARNING: \`$1' is missing on your system. You should only need it if
|
||||||
|
you modified a \`.texi' or \`.texinfo' file, or any other file
|
||||||
|
indirectly affecting the aspect of the manual. The spurious
|
||||||
|
call might also be the consequence of using a buggy \`make' (AIX,
|
||||||
|
DU, IRIX). You might want to install the \`Texinfo' package or
|
||||||
|
the \`GNU make' package. Grab either from any GNU archive site."
|
||||||
|
file=`echo "$*" | sed -n 's/.*-o \([^ ]*\).*/\1/p'`
|
||||||
|
if test -z "$file"; then
|
||||||
|
file=`echo "$*" | sed 's/.* \([^ ]*\) *$/\1/'`
|
||||||
|
file=`sed -n '/^@setfilename/ { s/.* \([^ ]*\) *$/\1/; p; q; }' $file`
|
||||||
|
fi
|
||||||
|
touch $file
|
||||||
|
;;
|
||||||
|
|
||||||
|
tar)
|
||||||
|
shift
|
||||||
|
if test -n "$run"; then
|
||||||
|
echo 1>&2 "ERROR: \`tar' requires --run"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
# We have already tried tar in the generic part.
|
||||||
|
# Look for gnutar/gtar before invocation to avoid ugly error
|
||||||
|
# messages.
|
||||||
|
if (gnutar --version > /dev/null 2>&1); then
|
||||||
|
gnutar "$@" && exit 0
|
||||||
|
fi
|
||||||
|
if (gtar --version > /dev/null 2>&1); then
|
||||||
|
gtar "$@" && exit 0
|
||||||
|
fi
|
||||||
|
firstarg="$1"
|
||||||
|
if shift; then
|
||||||
|
case "$firstarg" in
|
||||||
|
*o*)
|
||||||
|
firstarg=`echo "$firstarg" | sed s/o//`
|
||||||
|
tar "$firstarg" "$@" && exit 0
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
case "$firstarg" in
|
||||||
|
*h*)
|
||||||
|
firstarg=`echo "$firstarg" | sed s/h//`
|
||||||
|
tar "$firstarg" "$@" && exit 0
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo 1>&2 "\
|
||||||
|
WARNING: I can't seem to be able to run \`tar' with the given arguments.
|
||||||
|
You may want to install GNU tar or Free paxutils, or check the
|
||||||
|
command line arguments."
|
||||||
|
exit 1
|
||||||
|
;;
|
||||||
|
|
||||||
|
*)
|
||||||
|
echo 1>&2 "\
|
||||||
|
WARNING: \`$1' is needed, and you do not seem to have it handy on your
|
||||||
|
system. You might have modified some files without having the
|
||||||
|
proper tools for further handling them. Check the \`README' file,
|
||||||
|
it often tells you about the needed prerequirements for installing
|
||||||
|
this package. You may also peek at any GNU archive site, in case
|
||||||
|
some other package would contain this missing \`$1' program."
|
||||||
|
exit 1
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
exit 0
|
||||||
@@ -0,0 +1,111 @@
|
|||||||
|
#! /bin/sh
|
||||||
|
# mkinstalldirs --- make directory hierarchy
|
||||||
|
# Author: Noah Friedman <[email protected]>
|
||||||
|
# Created: 1993-05-16
|
||||||
|
# Public domain
|
||||||
|
|
||||||
|
errstatus=0
|
||||||
|
dirmode=""
|
||||||
|
|
||||||
|
usage="\
|
||||||
|
Usage: mkinstalldirs [-h] [--help] [-m mode] dir ..."
|
||||||
|
|
||||||
|
# process command line arguments
|
||||||
|
while test $# -gt 0 ; do
|
||||||
|
case $1 in
|
||||||
|
-h | --help | --h*) # -h for help
|
||||||
|
echo "$usage" 1>&2
|
||||||
|
exit 0
|
||||||
|
;;
|
||||||
|
-m) # -m PERM arg
|
||||||
|
shift
|
||||||
|
test $# -eq 0 && { echo "$usage" 1>&2; exit 1; }
|
||||||
|
dirmode=$1
|
||||||
|
shift
|
||||||
|
;;
|
||||||
|
--) # stop option processing
|
||||||
|
shift
|
||||||
|
break
|
||||||
|
;;
|
||||||
|
-*) # unknown option
|
||||||
|
echo "$usage" 1>&2
|
||||||
|
exit 1
|
||||||
|
;;
|
||||||
|
*) # first non-opt arg
|
||||||
|
break
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
done
|
||||||
|
|
||||||
|
for file
|
||||||
|
do
|
||||||
|
if test -d "$file"; then
|
||||||
|
shift
|
||||||
|
else
|
||||||
|
break
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
|
||||||
|
case $# in
|
||||||
|
0) exit 0 ;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
case $dirmode in
|
||||||
|
'')
|
||||||
|
if mkdir -p -- . 2>/dev/null; then
|
||||||
|
echo "mkdir -p -- $*"
|
||||||
|
exec mkdir -p -- "$@"
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
if mkdir -m "$dirmode" -p -- . 2>/dev/null; then
|
||||||
|
echo "mkdir -m $dirmode -p -- $*"
|
||||||
|
exec mkdir -m "$dirmode" -p -- "$@"
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
for file
|
||||||
|
do
|
||||||
|
set fnord `echo ":$file" | sed -ne 's/^:\//#/;s/^://;s/\// /g;s/^#/\//;p'`
|
||||||
|
shift
|
||||||
|
|
||||||
|
pathcomp=
|
||||||
|
for d
|
||||||
|
do
|
||||||
|
pathcomp="$pathcomp$d"
|
||||||
|
case $pathcomp in
|
||||||
|
-*) pathcomp=./$pathcomp ;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
if test ! -d "$pathcomp"; then
|
||||||
|
echo "mkdir $pathcomp"
|
||||||
|
|
||||||
|
mkdir "$pathcomp" || lasterr=$?
|
||||||
|
|
||||||
|
if test ! -d "$pathcomp"; then
|
||||||
|
errstatus=$lasterr
|
||||||
|
else
|
||||||
|
if test ! -z "$dirmode"; then
|
||||||
|
echo "chmod $dirmode $pathcomp"
|
||||||
|
lasterr=""
|
||||||
|
chmod "$dirmode" "$pathcomp" || lasterr=$?
|
||||||
|
|
||||||
|
if test ! -z "$lasterr"; then
|
||||||
|
errstatus=$lasterr
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
pathcomp="$pathcomp/"
|
||||||
|
done
|
||||||
|
done
|
||||||
|
|
||||||
|
exit $errstatus
|
||||||
|
|
||||||
|
# Local Variables:
|
||||||
|
# mode: shell-script
|
||||||
|
# sh-indentation: 2
|
||||||
|
# End:
|
||||||
|
# mkinstalldirs ends here
|
||||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,435 @@
|
|||||||
|
2003-04-02 Jim Meyering <[email protected]>
|
||||||
|
|
||||||
|
* coreutils.texi (false invocation): Note that false exits
|
||||||
|
unsuccessfully even with --help and --version.
|
||||||
|
|
||||||
|
* Makefile.am (check-texinfo): Don't fail if perl is missing.
|
||||||
|
Reported by Nelson Beebe.
|
||||||
|
|
||||||
|
2003-03-27 Jim Meyering <[email protected]>
|
||||||
|
|
||||||
|
* coreutils.texi (printf invocation): Fix formatting bugs.
|
||||||
|
From Paul Eggert.
|
||||||
|
(sort invocation): Describe sort's --stable (-s) option.
|
||||||
|
|
||||||
|
2003-03-13 Jim Meyering <[email protected]>
|
||||||
|
|
||||||
|
* coreutils.texi (shred invocation): Mention that --exact
|
||||||
|
is now the default for non-regular files.
|
||||||
|
|
||||||
|
2003-03-02 Jim Meyering <[email protected]>
|
||||||
|
|
||||||
|
* coreutils.texi (Exit status): New section.
|
||||||
|
Suggestion from Michael Stone.
|
||||||
|
|
||||||
|
2003-02-21 Jim Meyering <[email protected]>
|
||||||
|
|
||||||
|
* coreutils.texi (du invocation): Document --apparent-size.
|
||||||
|
Adjust documentation of --bytes (-b).
|
||||||
|
(stat invocation): Describe %B.
|
||||||
|
|
||||||
|
2003-02-07 Richard Dawe <[email protected]>
|
||||||
|
|
||||||
|
* coreutils.texi: Use @command instead of @code for program names.
|
||||||
|
|
||||||
|
* perm.texi (Mode Structure): Mention filesystem-specific
|
||||||
|
permissions and that mounting a filesystem as read-only may
|
||||||
|
override actual file permissions. Use @command instead
|
||||||
|
of @code for program names.
|
||||||
|
|
||||||
|
2003-02-06 Jim Meyering <[email protected]>
|
||||||
|
|
||||||
|
* coreutils.texi: Adjust alignment and mention `file, text, shell'
|
||||||
|
on the `* Coreutils:...' dirently line. From Karl Berry.
|
||||||
|
|
||||||
|
2003-02-05 Jim Meyering <[email protected]>
|
||||||
|
|
||||||
|
* Makefile.am (check-texinfo): Allow bare `POSIX' to be used on
|
||||||
|
direntry lines.
|
||||||
|
|
||||||
|
* coreutils.texi: Use new form of @direntry.
|
||||||
|
Put unlink in its proper place. Adjust wording in some
|
||||||
|
dir entry descriptions, mainly so they fit in 80 columns.
|
||||||
|
Don't use mark-up like @acronym{POSIX} in direntries.
|
||||||
|
Mostly from Karl Berry.
|
||||||
|
|
||||||
|
2003-01-25 Jim Meyering <[email protected]>
|
||||||
|
|
||||||
|
* coreutils.texi (cut invocation): Describe new functionality of
|
||||||
|
--output-delimiter=STR.
|
||||||
|
|
||||||
|
2003-01-24 Jim Meyering <[email protected]>
|
||||||
|
|
||||||
|
* coreutils.texi (The cut command): Give an example of using cut -c
|
||||||
|
with an output delimiter. From Jan Nieuwenhuizen.
|
||||||
|
|
||||||
|
* coreutils.texi (The cut command): Extend the new example a little.
|
||||||
|
(Formatting file timestamps): Fix typo: s/%M:S/%M:%S/.
|
||||||
|
|
||||||
|
* coreutils.texi: Change each use of `Core-utils' to `Coreutils'.
|
||||||
|
From Karl Berry.
|
||||||
|
|
||||||
|
2003-01-19 Jim Meyering <[email protected]>
|
||||||
|
|
||||||
|
* coreutils.texi (Which files are listed): Document new option:
|
||||||
|
--dereference-command-line-symlink-to-dir.
|
||||||
|
|
||||||
|
2003-01-15 Paul Eggert <[email protected]>
|
||||||
|
|
||||||
|
Change ls -H back to the way it was yesterday, since this is
|
||||||
|
compatible with FreeBSD and the POSIX spec is confusing
|
||||||
|
and somewhat contradictory.
|
||||||
|
|
||||||
|
* doc/coreutils.texi (Which files are listed, General output
|
||||||
|
formatting): Undo last change.
|
||||||
|
|
||||||
|
2003-01-15 Jim Meyering <[email protected]>
|
||||||
|
|
||||||
|
* coreutils.texi (General output formatting): Reflect option name change:
|
||||||
|
s/--dereference-command-line/--dereference-command-line-symlink-to-dir/.
|
||||||
|
Say that this option changes how ls treats only symlinks to directories
|
||||||
|
specified on the command line.
|
||||||
|
|
||||||
|
2002-08-27 Dmitry V. Levin <[email protected]>
|
||||||
|
|
||||||
|
* coreutils.texi: Document readlink.
|
||||||
|
|
||||||
|
2002-12-14 Jim Meyering <[email protected]>
|
||||||
|
|
||||||
|
* coreutils.texi (mknod invocation): Specify how major and minor mode
|
||||||
|
numbers are interpreted. Report forwarded by Kristin E Thomas.
|
||||||
|
|
||||||
|
2002-11-13 Jim Meyering <[email protected]>
|
||||||
|
|
||||||
|
* coreutils.texi (Examples of expr): Remove bogus `^'s.
|
||||||
|
Reported by Thomas Goerlich.
|
||||||
|
|
||||||
|
2002-11-09 Jim Meyering <[email protected]>
|
||||||
|
|
||||||
|
* coreutils.texi (What information is listed) [--dired]:
|
||||||
|
Correct parts of --dired description. Reported by Andre Spiegel.
|
||||||
|
Include a lot more description, with examples.
|
||||||
|
|
||||||
|
2002-11-06 Jim Meyering <[email protected]>
|
||||||
|
|
||||||
|
* coreutils.texi (printf invocation): Fix typo in index:
|
||||||
|
change \0x prefix to \x.
|
||||||
|
Change \xhhh to \xhh.
|
||||||
|
|
||||||
|
2002-10-07 Paul Eggert <[email protected]>
|
||||||
|
|
||||||
|
Add support for locale-specific size indications (e.g.,
|
||||||
|
thousands-separators) and for explicit size suffixes on output.
|
||||||
|
|
||||||
|
* coreutils.texi (Block size): Say that:
|
||||||
|
This affects display format as well as block size.
|
||||||
|
Fractional block counts are rounded up.
|
||||||
|
ls file size blocksize defaults to 1.
|
||||||
|
A block size spec preceded by ' generates thousands separators.
|
||||||
|
A suffix without a preceding integer generates suffixes.
|
||||||
|
(tail invocation): 32k -> 32 KiB.
|
||||||
|
(What information is listed): ls -h is now equivalent to
|
||||||
|
ls --block-size=human, and ls -H is now equivalent to
|
||||||
|
ls --block-size=si. Displayed file size is now always affected by
|
||||||
|
--block-size.
|
||||||
|
|
||||||
|
2002-09-13 Jim Meyering <[email protected]>
|
||||||
|
|
||||||
|
* coreutils.texi (tail invocation): In --sleep-interval=NUMBER,
|
||||||
|
NUMBER may now be a floating point number.
|
||||||
|
(stat invocation): Remove references to now-removed %S and %C.
|
||||||
|
(Time directives) [%S]: Explain why the range is [0..60].
|
||||||
|
|
||||||
|
2002-08-30 Jim Meyering <[email protected]>
|
||||||
|
|
||||||
|
* coreutils.texi [START-INFO-DIR-ENTRY]: Don't use sc{} on LHS.
|
||||||
|
Fix typo: s/permission/permissions/. From Michail Litvak.
|
||||||
|
|
||||||
|
2002-08-02 Paul Eggert <[email protected]>
|
||||||
|
|
||||||
|
* coreutils.texi (uniq invocation): uniq now obeys LC_COLLATE.
|
||||||
|
|
||||||
|
2002-07-29 Paul Eggert <[email protected]>
|
||||||
|
|
||||||
|
* coreutils.texi (nohup invocation): Change behavior to conform to
|
||||||
|
POSIX 1003.1-2001:
|
||||||
|
- Do not adjust scheduling priority.
|
||||||
|
- Redirects stderr to stdout, if stderr is not a terminal.
|
||||||
|
- Exit status is now 126 if command was found but not invoked,
|
||||||
|
127 if nohup failed or if command was not found.
|
||||||
|
|
||||||
|
2002-07-24 Jim Meyering <[email protected]>
|
||||||
|
|
||||||
|
* coreutils.texi (Time directives): Document %P, %R, %e, %F,
|
||||||
|
%g, %G, and %V
|
||||||
|
|
||||||
|
2002-07-22 Martin Michlmayr <[email protected]>
|
||||||
|
|
||||||
|
* coreutils.texi (Formatting the file names): Document
|
||||||
|
that -N/--literal are equivalent to --quoting-style=literal.
|
||||||
|
Reported by Oskar Liljeblad as Debian bug#103612.
|
||||||
|
|
||||||
|
2002-07-10 Jim Meyering <[email protected]>
|
||||||
|
|
||||||
|
* coreutils.texi (du invocation): s/PAT/PATTERN/.
|
||||||
|
From Martin Michlmayr.
|
||||||
|
|
||||||
|
2002-07-08 Jim Meyering <[email protected]>
|
||||||
|
|
||||||
|
* coreutils.texi (cp invocation): Remove unnecessary "$@" in example;
|
||||||
|
Texinfo would render the @" as an umlaut over the following character.
|
||||||
|
From Paul Eggert.
|
||||||
|
* Makefile.am (check-texinfo): Check for the above.
|
||||||
|
|
||||||
|
2002-07-06 Jim Meyering <[email protected]>
|
||||||
|
|
||||||
|
* coreutils.texi (stat invocation): Remove description of --secure.
|
||||||
|
|
||||||
|
2002-07-03 Jim Meyering <[email protected]>
|
||||||
|
|
||||||
|
* coreutils.texi (stat invocation): Rename --link/-l
|
||||||
|
to --dereference/-L. Rewrite description of --dereference.
|
||||||
|
|
||||||
|
2002-06-26 Paul Eggert <[email protected]>
|
||||||
|
|
||||||
|
* coreutils.texi (Putting the tools together): Don't mention egrep,
|
||||||
|
since it's not part of POSIX 1003.1-2001.
|
||||||
|
|
||||||
|
2002-06-21 Jim Meyering <[email protected]>
|
||||||
|
|
||||||
|
* coreutils.texi (stat invocation): New section. From Michael Meskes.
|
||||||
|
|
||||||
|
2002-05-19 Paul Eggert <[email protected]>
|
||||||
|
|
||||||
|
* coreutils.texi (ls invocation): Document new option: --author.
|
||||||
|
|
||||||
|
2002-06-03 Jim Meyering <[email protected]>
|
||||||
|
|
||||||
|
* coreutils.texi (rm invocation): Add the warning (also in the --help
|
||||||
|
output) that the contents of a removed file are often recoverable.
|
||||||
|
|
||||||
|
2002-05-27 Jim Meyering <[email protected]>
|
||||||
|
|
||||||
|
* Makefile.am (check-texinfo): Adapt to reflect that now we use
|
||||||
|
@acronym{POSIX}.
|
||||||
|
|
||||||
|
2002-05-26 Jim Meyering <[email protected]>
|
||||||
|
|
||||||
|
* coreutils.texi: Use @acronym in place of most uses of @sc.
|
||||||
|
* getdate.texi (Date input formats): Likewise.
|
||||||
|
|
||||||
|
2002-04-28 Jim Meyering <[email protected]>
|
||||||
|
|
||||||
|
* coreutils.texi: Change `@code{PROG}' to `@command{PROG}'.
|
||||||
|
|
||||||
|
2002-04-28 Paul Eggert <[email protected]>
|
||||||
|
|
||||||
|
* coreutils.texi (kill invocation): Document the above.
|
||||||
|
Document POSIX signals better.
|
||||||
|
|
||||||
|
2002-04-15 Jim Meyering <[email protected]>
|
||||||
|
|
||||||
|
* coreutils.texi: Document kill.
|
||||||
|
Written by Marcus Brinkmann.
|
||||||
|
|
||||||
|
2002-04-13 Jim Meyering <[email protected]>
|
||||||
|
|
||||||
|
* coreutils.texi: Document link and unlink.
|
||||||
|
|
||||||
|
2002-04-08 Jim Meyering <[email protected]>
|
||||||
|
|
||||||
|
* coreutils.texi: Use new directives, @copying and @insertcopying,
|
||||||
|
thus now requiring texinfo-4.2 to create the .info file.
|
||||||
|
|
||||||
|
2002-02-26 Paul Eggert <[email protected]>
|
||||||
|
|
||||||
|
* coreutils.texi (File characteristic tests): Document the
|
||||||
|
behavior of test -nt and -ot when one of the files does not exist,
|
||||||
|
using the same behavior that is documented in ksh93.
|
||||||
|
|
||||||
|
2002-03-05 Paul Eggert <[email protected]>
|
||||||
|
|
||||||
|
* coreutils.texi (cut invocation): Say that selected input is
|
||||||
|
written in the same order that it is read, and is written
|
||||||
|
exactly once.
|
||||||
|
|
||||||
|
2002-03-03 Paul Eggert <[email protected]>
|
||||||
|
|
||||||
|
Make cp -r equivalent to cp -R. Add a new cp option --copy-contents
|
||||||
|
for people who want to emulate the traditional (and rarely desirable)
|
||||||
|
cp -r behavior.
|
||||||
|
|
||||||
|
* coreutils.texi (cp invocation): Document this.
|
||||||
|
Fix some related minor bugs: --no-dereference is no longer
|
||||||
|
equivalent to -d, and --archive (-a) can override the other
|
||||||
|
symlink options. Warn that cp -R is not portable on symbolic
|
||||||
|
links unless you also specify -P.
|
||||||
|
|
||||||
|
2002-03-02 Jim Meyering <[email protected]>
|
||||||
|
|
||||||
|
* coreutils.texi (cp invocation): Document that cp -r
|
||||||
|
preserves symlinks. Emphasize non-portability of cp -r.
|
||||||
|
|
||||||
|
2002-02-27 Paul Eggert <[email protected]>
|
||||||
|
|
||||||
|
* coreutils.texi (Time directives): Add %N for nanoseconds.
|
||||||
|
This documents the recent change to 'ls'.
|
||||||
|
|
||||||
|
2002-02-28 Jim Meyering <[email protected]>
|
||||||
|
|
||||||
|
* coreutils.texi (pr invocation): Reword to avoid using `:'
|
||||||
|
in an @opindex entry -- info doesn't permit it.
|
||||||
|
|
||||||
|
2002-02-27 Paul Eggert <[email protected]>
|
||||||
|
|
||||||
|
* coreutils.texi (Formatting file timestamps): Document new
|
||||||
|
time-formatting method: --time-style=+FORMAT.
|
||||||
|
|
||||||
|
2002-02-18 Paul Eggert <[email protected]>
|
||||||
|
|
||||||
|
* coreutils.texi (seq invocation): In the example, use "tail
|
||||||
|
-n 3", not "tail -3", to conform to POSIX 1003.1-2001.
|
||||||
|
|
||||||
|
2002-02-17 Jim Meyering <[email protected]>
|
||||||
|
|
||||||
|
* coreutils.texi (tsort background): New section.
|
||||||
|
From Ian Lance Taylor.
|
||||||
|
(tsort invocation): Add a more realistic example.
|
||||||
|
|
||||||
|
2002-02-15 Paul Eggert <[email protected]>
|
||||||
|
|
||||||
|
* coreutils.texi: Document _POSIX2_VERSION.
|
||||||
|
(Standards Conformance): New section.
|
||||||
|
|
||||||
|
2002-01-24 Jim Meyering <[email protected]>
|
||||||
|
|
||||||
|
* coreutils.texi (START-INFO-DIR-ENTRY): Remove a few entries
|
||||||
|
and clean up a few others based on suggestions from Bob Proulx.
|
||||||
|
|
||||||
|
2002-02-14 Paul Eggert <[email protected]>
|
||||||
|
|
||||||
|
Add support for POSIX 1003.1-2001, which requires removal for
|
||||||
|
support of obsolete "+" option syntax in sort, tail, and uniq.
|
||||||
|
* coreutils.texi: Document this. (Also, document a similar
|
||||||
|
change to "touch", for fileutils).
|
||||||
|
|
||||||
|
2002-01-12 Jim Meyering <[email protected]>
|
||||||
|
|
||||||
|
* coreutils.texi (shred invocation): List some journaled filesystems.
|
||||||
|
|
||||||
|
2001-11-10 Jim Meyering <[email protected]>
|
||||||
|
|
||||||
|
* coreutils.texi (Date directives): Document %u.
|
||||||
|
|
||||||
|
2001-11-07 Paul Eggert <[email protected]>
|
||||||
|
|
||||||
|
* coreutils.texi (paste invocation): Give examples.
|
||||||
|
Thanks to Dan Jacobson for suggesting the examples.
|
||||||
|
|
||||||
|
2001-11-05 Jim Meyering <[email protected]>
|
||||||
|
|
||||||
|
* coreutils.texi (sort invocation): Recommend setting LC_ALL=C,
|
||||||
|
not LC_COLLATE=C. Explain how the latter can cause problems.
|
||||||
|
Based on a message from Paul Eggert.
|
||||||
|
(ls invocation): Recommend setting LC_ALL=C, not LC_COLLATE=C.
|
||||||
|
|
||||||
|
2001-10-21 Jim Meyering <[email protected]>
|
||||||
|
|
||||||
|
* coreutils.texi (cp invocation): Describe --reply=...
|
||||||
|
|
||||||
|
2001-10-17 Jim Meyering <[email protected]>
|
||||||
|
|
||||||
|
* coreutils.texi (cp invocation): `cp --no-dereference' is
|
||||||
|
no longer equivalent to `cp -d'.
|
||||||
|
`cp -d' is equivalent to `--no-dereference --preserve=links'.
|
||||||
|
cp's -P option means --no-dereference, not --parents.
|
||||||
|
Describe new optional argument to --preserve.
|
||||||
|
Describe new option: --no-preserve=ATTRIBUTE_LIST.
|
||||||
|
|
||||||
|
2001-09-23 Jim Meyering <[email protected]>
|
||||||
|
|
||||||
|
* Makefile.am (check-texinfo): Redirect stderr of `grep -w' to
|
||||||
|
/dev/null, so people with old versions of grep don't see the failure.
|
||||||
|
|
||||||
|
2001-09-16 Jim Meyering <[email protected]>
|
||||||
|
|
||||||
|
* coreutils.texi (mv invocation): Describe new option:
|
||||||
|
--reply={yes,no,query}. Fix a few typos.
|
||||||
|
|
||||||
|
2001-09-15 Paul Eggert <[email protected]>
|
||||||
|
|
||||||
|
* coreutils.texi (uniq invocation): The input need not
|
||||||
|
be sorted. Try to clarify -d versus -D versus -u.
|
||||||
|
|
||||||
|
2001-09-12 Jim Meyering <[email protected]>
|
||||||
|
|
||||||
|
* coreutils.texi (tail invocation): Document new option: -F.
|
||||||
|
From Herbert Xu.
|
||||||
|
|
||||||
|
2001-09-04 Paul Eggert <[email protected]>
|
||||||
|
|
||||||
|
* coreutils.texi (join invocation): Describe the GNU
|
||||||
|
extension to join, which does not require sorted input when
|
||||||
|
the input contains no unpairable lines.
|
||||||
|
|
||||||
|
2001-09-03 Paul Eggert <[email protected]>
|
||||||
|
|
||||||
|
* coreutils.texi:
|
||||||
|
New 'uname' options -i or --hardware-platform,
|
||||||
|
and -o or --operating-system.
|
||||||
|
'uname -a' now outputs -i and -o information at the end.
|
||||||
|
New uname option --kernel-version is an alias for -v.
|
||||||
|
Uname option --release has been renamed to --kernel-release,
|
||||||
|
and --sysname has been renamed to --kernel-name;
|
||||||
|
the old options will work for a while, but are no longer documented.
|
||||||
|
|
||||||
|
2001-08-24 Herbert Xu <[email protected]>
|
||||||
|
|
||||||
|
* coreutils.texi (cut invocation): Document how cut treats lines
|
||||||
|
with no separators.
|
||||||
|
|
||||||
|
2001-06-19 Paul Eggert <[email protected]>
|
||||||
|
|
||||||
|
* coreutils.texi: expr now uses LC_COLLATE for string comparison,
|
||||||
|
as per POSIX.
|
||||||
|
|
||||||
|
2001-08-25 Jim Meyering <[email protected]>
|
||||||
|
|
||||||
|
* coreutils.texi: Use @option, rather than @samp everywhere.
|
||||||
|
|
||||||
|
2001-06-21 Paul Eggert <[email protected]>
|
||||||
|
|
||||||
|
* coreutils.texi: 'expr' now requires '+' rather than 'quote'
|
||||||
|
to quote tokens.
|
||||||
|
|
||||||
|
2001-07-14 Jim Meyering <[email protected]>
|
||||||
|
|
||||||
|
* coreutils.texi (cp invocation): Reflect 2001-07-08 change to
|
||||||
|
cp (via copy.c).
|
||||||
|
|
||||||
|
2001-06-16 Jim Meyering <[email protected]>
|
||||||
|
|
||||||
|
* Makefile.am (info_TEXINFOS): Reflect renaming: s/omni-/core/.
|
||||||
|
* coreutils.texi: Likewise.
|
||||||
|
|
||||||
|
* coreutils.texi: New, renamed from omni-utils.texi.
|
||||||
|
* omni-utils.texi: Removed, renamed to coreutils.texi.
|
||||||
|
|
||||||
|
* omni-utils.texi (ls invocation): Mention the effect of locale.
|
||||||
|
Reported by Keith Thompson.
|
||||||
|
|
||||||
|
2001-05-24 Jim Meyering <[email protected]>
|
||||||
|
|
||||||
|
* texinfo.tex: Update from master source.
|
||||||
|
|
||||||
|
* omni-utils.texi (ls invocation): Document more clearly what ls
|
||||||
|
does when given no arguments.
|
||||||
|
|
||||||
|
2001-05-21 Jim Meyering <[email protected]>
|
||||||
|
|
||||||
|
* textutils.texi: Remove file.
|
||||||
|
|
||||||
|
* Makefile.am ($(DVIS), $(INFO_DEPS)): Depend on $(EXTRA_DIST).
|
||||||
|
(DISABLED_constants.texi): New rule -- disabled for now.
|
||||||
|
|
||||||
|
This directory is now shared by fileutils, textutils, and sh-utils.
|
||||||
@@ -0,0 +1,457 @@
|
|||||||
|
# Makefile.in generated by automake 1.7.3 from Makefile.am.
|
||||||
|
# doc/Makefile. Generated from Makefile.in by configure.
|
||||||
|
|
||||||
|
# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003
|
||||||
|
# Free Software Foundation, Inc.
|
||||||
|
# This Makefile.in is free software; the Free Software Foundation
|
||||||
|
# gives unlimited permission to copy and/or distribute it,
|
||||||
|
# with or without modifications, as long as this notice is preserved.
|
||||||
|
|
||||||
|
# This program is distributed in the hope that it will be useful,
|
||||||
|
# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
|
||||||
|
# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
|
||||||
|
# PARTICULAR PURPOSE.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
srcdir = .
|
||||||
|
top_srcdir = ..
|
||||||
|
|
||||||
|
pkgdatadir = $(datadir)/coreutils
|
||||||
|
pkglibdir = $(libdir)/coreutils
|
||||||
|
pkgincludedir = $(includedir)/coreutils
|
||||||
|
top_builddir = ..
|
||||||
|
|
||||||
|
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
|
||||||
|
INSTALL = /bin/install -c
|
||||||
|
install_sh_DATA = $(install_sh) -c -m 644
|
||||||
|
install_sh_PROGRAM = $(install_sh) -c
|
||||||
|
install_sh_SCRIPT = $(install_sh) -c
|
||||||
|
INSTALL_HEADER = $(INSTALL_DATA)
|
||||||
|
transform = $(program_transform_name)
|
||||||
|
NORMAL_INSTALL = :
|
||||||
|
PRE_INSTALL = :
|
||||||
|
POST_INSTALL = :
|
||||||
|
NORMAL_UNINSTALL = :
|
||||||
|
PRE_UNINSTALL = :
|
||||||
|
POST_UNINSTALL = :
|
||||||
|
host_triplet = i586-pc-beos
|
||||||
|
ACLOCAL = ${SHELL} /boot/home/Development/current/src/apps/bin/coreutils-5.0/config/missing --run aclocal-1.7
|
||||||
|
ALLOCA =
|
||||||
|
AMDEP_FALSE = #
|
||||||
|
AMDEP_TRUE =
|
||||||
|
AMTAR = ${SHELL} /boot/home/Development/current/src/apps/bin/coreutils-5.0/config/missing --run tar
|
||||||
|
AUTOCONF = ${SHELL} /boot/home/Development/current/src/apps/bin/coreutils-5.0/config/missing --run autoconf
|
||||||
|
AUTOHEADER = ${SHELL} /boot/home/Development/current/src/apps/bin/coreutils-5.0/config/missing --run autoheader
|
||||||
|
AUTOMAKE = ${SHELL} /boot/home/Development/current/src/apps/bin/coreutils-5.0/config/missing --run automake-1.7
|
||||||
|
AWK = gawk
|
||||||
|
CC = gcc
|
||||||
|
CCDEPMODE = depmode=gcc
|
||||||
|
CFLAGS = -g -O2
|
||||||
|
CPP = gcc -E
|
||||||
|
CPPFLAGS =
|
||||||
|
CYGPATH_W = echo
|
||||||
|
DEFS = -DHAVE_CONFIG_H
|
||||||
|
DEPDIR = .deps
|
||||||
|
DF_PROG =
|
||||||
|
ECHO_C =
|
||||||
|
ECHO_N = -n
|
||||||
|
ECHO_T =
|
||||||
|
EGREP = grep -E
|
||||||
|
EXEEXT =
|
||||||
|
FESETROUND_LIBM =
|
||||||
|
GETLOADAVG_LIBS =
|
||||||
|
GLIBC21 = no
|
||||||
|
GMSGFMT = :
|
||||||
|
GNU_PACKAGE = GNU coreutils
|
||||||
|
HELP2MAN = ${SHELL} /boot/home/Development/current/src/apps/bin/coreutils-5.0/config/missing --run help2man
|
||||||
|
INSTALL_DATA = ${INSTALL} -m 644
|
||||||
|
INSTALL_PROGRAM = ${INSTALL}
|
||||||
|
INSTALL_SCRIPT = ${INSTALL}
|
||||||
|
INSTALL_STRIP_PROGRAM = ${SHELL} $(install_sh) -c -s
|
||||||
|
INTLLIBS =
|
||||||
|
KMEM_GROUP =
|
||||||
|
LDFLAGS =
|
||||||
|
LIBICONV =
|
||||||
|
LIBINTL =
|
||||||
|
LIBOBJS = fileblocks$U.o mkdir$U.o fnmatch$U.o strnlen$U.o ftw$U.o tsearch$U.o lchown$U.o chown$U.o mktime$U.o nanosleep$U.o group-member$U.o putenv$U.o error$U.o __fpending$U.o rename$U.o getcwd$U.o canonicalize$U.o regex$U.o getloadavg$U.o getusershell$U.o sig2str$U.o euidaccess$U.o rpmatch$U.o strndup$U.o strverscmp$U.o getpass$U.o memrchr$U.o fchdir-stub$U.o
|
||||||
|
LIBS =
|
||||||
|
LIB_CLOCK_GETTIME =
|
||||||
|
LIB_CRYPT =
|
||||||
|
LIB_NANOSLEEP =
|
||||||
|
LN_S = ln -s
|
||||||
|
LTLIBICONV =
|
||||||
|
LTLIBINTL =
|
||||||
|
LTLIBOBJS = fileblocks$U.lo mkdir$U.lo fnmatch$U.lo strnlen$U.lo ftw$U.lo tsearch$U.lo lchown$U.lo chown$U.lo mktime$U.lo nanosleep$U.lo group-member$U.lo putenv$U.lo error$U.lo __fpending$U.lo rename$U.lo getcwd$U.lo canonicalize$U.lo regex$U.lo getloadavg$U.lo getusershell$U.lo sig2str$U.lo euidaccess$U.lo rpmatch$U.lo strndup$U.lo strverscmp$U.lo getpass$U.lo memrchr$U.lo fchdir-stub$U.lo
|
||||||
|
|
||||||
|
# The following is necessary if the package name is 8 characters or longer.
|
||||||
|
# If the info documentation would be split into 10 or more separate files,
|
||||||
|
# then this is necessary even if the package name is 7 characters long.
|
||||||
|
#
|
||||||
|
# Tell makeinfo to put everything in a single info file: <package>.info.
|
||||||
|
# Otherwise, it would also generate files with names like <package>.info-[123],
|
||||||
|
# and those names all map to one 14-byte name (<package>.info-) on some crufty
|
||||||
|
# old systems.
|
||||||
|
MAKEINFO = makeinfo --no-split
|
||||||
|
MAN = uname.1 stty.1
|
||||||
|
MKINSTALLDIRS = config/mkinstalldirs
|
||||||
|
MSGFMT = :
|
||||||
|
MSGMERGE = :
|
||||||
|
NEED_SETGID = false
|
||||||
|
OBJEXT = o
|
||||||
|
OPTIONAL_BIN_PROGS = uname$(EXEEXT) stty$(EXEEXT)
|
||||||
|
OPTIONAL_BIN_ZCRIPTS =
|
||||||
|
PACKAGE = coreutils
|
||||||
|
PACKAGE_BUGREPORT = [email protected]
|
||||||
|
PACKAGE_NAME = GNU coreutils
|
||||||
|
PACKAGE_STRING = GNU coreutils 5.0
|
||||||
|
PACKAGE_TARNAME = coreutils
|
||||||
|
PACKAGE_VERSION = 5.0
|
||||||
|
PATH_SEPARATOR = :
|
||||||
|
PERL = perl
|
||||||
|
POSUB =
|
||||||
|
POW_LIB =
|
||||||
|
RANLIB = ranlib
|
||||||
|
SEQ_LIBM =
|
||||||
|
SET_MAKE =
|
||||||
|
SHELL = /bin/sh
|
||||||
|
SQRT_LIBM =
|
||||||
|
STRIP =
|
||||||
|
U =
|
||||||
|
USE_NLS = no
|
||||||
|
VERSION = 5.0
|
||||||
|
XGETTEXT = :
|
||||||
|
YACC = bison -y
|
||||||
|
ac_ct_CC = gcc
|
||||||
|
ac_ct_RANLIB = ranlib
|
||||||
|
ac_ct_STRIP =
|
||||||
|
am__fastdepCC_FALSE =
|
||||||
|
am__fastdepCC_TRUE = #
|
||||||
|
am__include = include
|
||||||
|
am__leading_dot = .
|
||||||
|
am__quote =
|
||||||
|
bindir = ${exec_prefix}/bin
|
||||||
|
build = i586-pc-beos
|
||||||
|
build_alias =
|
||||||
|
build_cpu = i586
|
||||||
|
build_os = beos
|
||||||
|
build_vendor = pc
|
||||||
|
datadir = ${prefix}/share
|
||||||
|
exec_prefix = ${prefix}
|
||||||
|
host = i586-pc-beos
|
||||||
|
host_alias =
|
||||||
|
host_cpu = i586
|
||||||
|
host_os = beos
|
||||||
|
host_vendor = pc
|
||||||
|
includedir = ${prefix}/include
|
||||||
|
infodir = ${prefix}/info
|
||||||
|
install_sh = /boot/home/Development/current/src/apps/bin/coreutils-5.0/config/install-sh
|
||||||
|
libdir = ${exec_prefix}/lib
|
||||||
|
libexecdir = ${exec_prefix}/libexec
|
||||||
|
localstatedir = ${prefix}/var
|
||||||
|
mandir = ${prefix}/man
|
||||||
|
oldincludedir = /usr/include
|
||||||
|
prefix = /usr/local
|
||||||
|
program_transform_name = s,x,x,
|
||||||
|
sbindir = ${exec_prefix}/sbin
|
||||||
|
sharedstatedir = ${prefix}/com
|
||||||
|
sysconfdir = ${prefix}/etc
|
||||||
|
target_alias =
|
||||||
|
info_TEXINFOS = coreutils.texi
|
||||||
|
|
||||||
|
EXTRA_DIST = perm.texi getdate.texi constants.texi doclicense.texi
|
||||||
|
subdir = doc
|
||||||
|
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
|
||||||
|
mkinstalldirs = $(SHELL) $(top_srcdir)/config/mkinstalldirs
|
||||||
|
CONFIG_HEADER = $(top_builddir)/config.h
|
||||||
|
CONFIG_CLEAN_FILES =
|
||||||
|
DIST_SOURCES =
|
||||||
|
TEXINFO_TEX = $(top_srcdir)/config/texinfo.tex
|
||||||
|
am__TEXINFO_TEX_DIR = $(top_srcdir)/config
|
||||||
|
INFO_DEPS = coreutils.info
|
||||||
|
DVIS = coreutils.dvi
|
||||||
|
PDFS = coreutils.pdf
|
||||||
|
PSS = coreutils.ps
|
||||||
|
TEXINFOS = coreutils.texi
|
||||||
|
DIST_COMMON = ChangeLog Makefile.am Makefile.in stamp-vti version.texi
|
||||||
|
all: all-am
|
||||||
|
|
||||||
|
.SUFFIXES:
|
||||||
|
.SUFFIXES: .dvi .info .pdf .ps .texi
|
||||||
|
$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.ac $(ACLOCAL_M4)
|
||||||
|
cd $(top_srcdir) && \
|
||||||
|
$(AUTOMAKE) --gnits doc/Makefile
|
||||||
|
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
|
||||||
|
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)
|
||||||
|
|
||||||
|
.texi.info:
|
||||||
|
@rm -f $@ $@-[0-9] $@-[0-9][0-9] $(@:.info=).i[0-9] $(@:.info=).i[0-9][0-9]
|
||||||
|
$(MAKEINFO) $(AM_MAKEINFOFLAGS) $(MAKEINFOFLAGS) -I $(srcdir) \
|
||||||
|
-o $@ `test -f '$<' || echo '$(srcdir)/'`$<
|
||||||
|
|
||||||
|
.texi.dvi:
|
||||||
|
TEXINPUTS="$(am__TEXINFO_TEX_DIR)$(PATH_SEPARATOR)$$TEXINPUTS" \
|
||||||
|
MAKEINFO='$(MAKEINFO) $(AM_MAKEINFOFLAGS) $(MAKEINFOFLAGS) -I $(srcdir)' \
|
||||||
|
$(TEXI2DVI) `test -f '$<' || echo '$(srcdir)/'`$<
|
||||||
|
|
||||||
|
.texi.pdf:
|
||||||
|
TEXINPUTS="$(am__TEXINFO_TEX_DIR)$(PATH_SEPARATOR)$$TEXINPUTS" \
|
||||||
|
MAKEINFO='$(MAKEINFO) $(AM_MAKEINFOFLAGS) $(MAKEINFOFLAGS) -I $(srcdir)' \
|
||||||
|
$(TEXI2PDF) `test -f '$<' || echo '$(srcdir)/'`$<
|
||||||
|
coreutils.info: coreutils.texi version.texi
|
||||||
|
coreutils.dvi: coreutils.texi version.texi
|
||||||
|
coreutils.pdf: coreutils.texi version.texi
|
||||||
|
version.texi: stamp-vti
|
||||||
|
stamp-vti: coreutils.texi $(top_srcdir)/configure
|
||||||
|
@(dir=.; test -f ./coreutils.texi || dir=$(srcdir); \
|
||||||
|
set `$(SHELL) $(top_srcdir)/config/mdate-sh $$dir/coreutils.texi`; \
|
||||||
|
echo "@set UPDATED $$1 $$2 $$3"; \
|
||||||
|
echo "@set UPDATED-MONTH $$2 $$3"; \
|
||||||
|
echo "@set EDITION $(VERSION)"; \
|
||||||
|
echo "@set VERSION $(VERSION)") > vti.tmp
|
||||||
|
@cmp -s vti.tmp version.texi \
|
||||||
|
|| (echo "Updating version.texi"; \
|
||||||
|
cp vti.tmp version.texi)
|
||||||
|
-@rm -f vti.tmp
|
||||||
|
@cp version.texi $@
|
||||||
|
|
||||||
|
mostlyclean-vti:
|
||||||
|
-rm -f vti.tmp
|
||||||
|
|
||||||
|
maintainer-clean-vti:
|
||||||
|
-rm -f stamp-vti version.texi
|
||||||
|
TEXI2DVI = texi2dvi
|
||||||
|
|
||||||
|
TEXI2PDF = $(TEXI2DVI) --pdf --batch
|
||||||
|
DVIPS = dvips
|
||||||
|
.dvi.ps:
|
||||||
|
$(DVIPS) -o $@ $<
|
||||||
|
|
||||||
|
uninstall-info-am:
|
||||||
|
$(PRE_UNINSTALL)
|
||||||
|
@if (install-info --version && \
|
||||||
|
install-info --version | grep -i -v debian) >/dev/null 2>&1; then \
|
||||||
|
list='$(INFO_DEPS)'; \
|
||||||
|
for file in $$list; do \
|
||||||
|
relfile=`echo "$$file" | sed 's|^.*/||'`; \
|
||||||
|
echo " install-info --info-dir=$(DESTDIR)$(infodir) --remove $(DESTDIR)$(infodir)/$$relfile"; \
|
||||||
|
install-info --info-dir=$(DESTDIR)$(infodir) --remove $(DESTDIR)$(infodir)/$$relfile; \
|
||||||
|
done; \
|
||||||
|
else :; fi
|
||||||
|
@$(NORMAL_UNINSTALL)
|
||||||
|
@list='$(INFO_DEPS)'; \
|
||||||
|
for file in $$list; do \
|
||||||
|
relfile=`echo "$$file" | sed 's|^.*/||'`; \
|
||||||
|
relfile_i=`echo "$$relfile" | sed 's|\.info$$||;s|$$|.i|'`; \
|
||||||
|
(if cd $(DESTDIR)$(infodir); then \
|
||||||
|
echo " rm -f $$relfile $$relfile-[0-9] $$relfile-[0-9][0-9] $$relfile_i[0-9] $$relfile_i[0-9][0-9])"; \
|
||||||
|
rm -f $$relfile $$relfile-[0-9] $$relfile-[0-9][0-9] $$relfile_i[0-9] $$relfile_i[0-9][0-9]; \
|
||||||
|
else :; fi); \
|
||||||
|
done
|
||||||
|
|
||||||
|
dist-info: $(INFO_DEPS)
|
||||||
|
list='$(INFO_DEPS)'; \
|
||||||
|
for base in $$list; do \
|
||||||
|
if test -f $$base; then d=.; else d=$(srcdir); fi; \
|
||||||
|
for file in $$d/$$base*; do \
|
||||||
|
relfile=`expr "$$file" : "$$d/\(.*\)"`; \
|
||||||
|
test -f $(distdir)/$$relfile || \
|
||||||
|
cp -p $$file $(distdir)/$$relfile; \
|
||||||
|
done; \
|
||||||
|
done
|
||||||
|
|
||||||
|
mostlyclean-aminfo:
|
||||||
|
-rm -f coreutils.aux coreutils.cp coreutils.cps coreutils.fl coreutils.fn \
|
||||||
|
coreutils.ky coreutils.log coreutils.op coreutils.pg \
|
||||||
|
coreutils.tmp coreutils.toc coreutils.tp coreutils.tps \
|
||||||
|
coreutils.vr coreutils.dvi coreutils.pdf coreutils.ps
|
||||||
|
|
||||||
|
maintainer-clean-aminfo:
|
||||||
|
@list='$(INFO_DEPS)'; for i in $$list; do \
|
||||||
|
i_i=`echo "$$i" | sed 's|\.info$$||;s|$$|.i|'`; \
|
||||||
|
echo " rm -f $$i $$i-[0-9] $$i-[0-9][0-9] $$i_i[0-9] $$i_i[0-9][0-9]"; \
|
||||||
|
rm -f $$i $$i-[0-9] $$i-[0-9][0-9] $$i_i[0-9] $$i_i[0-9][0-9]; \
|
||||||
|
done
|
||||||
|
tags: TAGS
|
||||||
|
TAGS:
|
||||||
|
|
||||||
|
ctags: CTAGS
|
||||||
|
CTAGS:
|
||||||
|
|
||||||
|
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
|
||||||
|
|
||||||
|
top_distdir = ..
|
||||||
|
distdir = $(top_distdir)/$(PACKAGE)-$(VERSION)
|
||||||
|
|
||||||
|
distdir: $(DISTFILES)
|
||||||
|
@srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
|
||||||
|
topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
|
||||||
|
list='$(DISTFILES)'; for file in $$list; do \
|
||||||
|
case $$file in \
|
||||||
|
$(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
|
||||||
|
$(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
|
||||||
|
esac; \
|
||||||
|
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
|
||||||
|
dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
|
||||||
|
if test "$$dir" != "$$file" && test "$$dir" != "."; then \
|
||||||
|
dir="/$$dir"; \
|
||||||
|
$(mkinstalldirs) "$(distdir)$$dir"; \
|
||||||
|
else \
|
||||||
|
dir=''; \
|
||||||
|
fi; \
|
||||||
|
if test -d $$d/$$file; then \
|
||||||
|
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
|
||||||
|
cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
|
||||||
|
fi; \
|
||||||
|
cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
|
||||||
|
else \
|
||||||
|
test -f $(distdir)/$$file \
|
||||||
|
|| cp -p $$d/$$file $(distdir)/$$file \
|
||||||
|
|| exit 1; \
|
||||||
|
fi; \
|
||||||
|
done
|
||||||
|
$(MAKE) $(AM_MAKEFLAGS) \
|
||||||
|
top_distdir="$(top_distdir)" distdir="$(distdir)" \
|
||||||
|
dist-info
|
||||||
|
check-am: all-am
|
||||||
|
check: check-am
|
||||||
|
all-am: Makefile $(INFO_DEPS)
|
||||||
|
|
||||||
|
installdirs:
|
||||||
|
$(mkinstalldirs) $(DESTDIR)$(infodir)
|
||||||
|
|
||||||
|
install: install-am
|
||||||
|
install-exec: install-exec-am
|
||||||
|
install-data: install-data-am
|
||||||
|
uninstall: uninstall-am
|
||||||
|
|
||||||
|
install-am: all-am
|
||||||
|
@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
|
||||||
|
|
||||||
|
installcheck: installcheck-am
|
||||||
|
install-strip:
|
||||||
|
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
|
||||||
|
INSTALL_STRIP_FLAG=-s \
|
||||||
|
`test -z '$(STRIP)' || \
|
||||||
|
echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
|
||||||
|
mostlyclean-generic:
|
||||||
|
|
||||||
|
clean-generic:
|
||||||
|
|
||||||
|
distclean-generic:
|
||||||
|
-rm -f Makefile $(CONFIG_CLEAN_FILES)
|
||||||
|
|
||||||
|
maintainer-clean-generic:
|
||||||
|
@echo "This command is intended for maintainers to use"
|
||||||
|
@echo "it deletes files that may require special tools to rebuild."
|
||||||
|
clean: clean-am
|
||||||
|
|
||||||
|
clean-am: clean-generic mostlyclean-am
|
||||||
|
|
||||||
|
distclean: distclean-am
|
||||||
|
|
||||||
|
distclean-am: clean-am distclean-generic
|
||||||
|
|
||||||
|
dvi: dvi-am
|
||||||
|
|
||||||
|
dvi-am: $(DVIS)
|
||||||
|
|
||||||
|
info: info-am
|
||||||
|
|
||||||
|
info-am: $(INFO_DEPS)
|
||||||
|
|
||||||
|
install-data-am: install-info-am
|
||||||
|
|
||||||
|
install-exec-am:
|
||||||
|
|
||||||
|
install-info: install-info-am
|
||||||
|
|
||||||
|
install-info-am: $(INFO_DEPS)
|
||||||
|
@$(NORMAL_INSTALL)
|
||||||
|
$(mkinstalldirs) $(DESTDIR)$(infodir)
|
||||||
|
@list='$(INFO_DEPS)'; \
|
||||||
|
for file in $$list; do \
|
||||||
|
if test -f $$file; then d=.; else d=$(srcdir); fi; \
|
||||||
|
file_i=`echo "$$file" | sed 's|\.info$$||;s|$$|.i|'`; \
|
||||||
|
for ifile in $$d/$$file $$d/$$file-[0-9] $$d/$$file-[0-9][0-9] \
|
||||||
|
$$d/$$file_i[0-9] $$d/$$file_i[0-9][0-9] ; do \
|
||||||
|
if test -f $$ifile; then \
|
||||||
|
relfile=`echo "$$ifile" | sed 's|^.*/||'`; \
|
||||||
|
echo " $(INSTALL_DATA) $$ifile $(DESTDIR)$(infodir)/$$relfile"; \
|
||||||
|
$(INSTALL_DATA) $$ifile $(DESTDIR)$(infodir)/$$relfile; \
|
||||||
|
else : ; fi; \
|
||||||
|
done; \
|
||||||
|
done
|
||||||
|
@$(POST_INSTALL)
|
||||||
|
@if (install-info --version && \
|
||||||
|
install-info --version | grep -i -v debian) >/dev/null 2>&1; then \
|
||||||
|
list='$(INFO_DEPS)'; \
|
||||||
|
for file in $$list; do \
|
||||||
|
relfile=`echo "$$file" | sed 's|^.*/||'`; \
|
||||||
|
echo " install-info --info-dir=$(DESTDIR)$(infodir) $(DESTDIR)$(infodir)/$$relfile";\
|
||||||
|
install-info --info-dir=$(DESTDIR)$(infodir) $(DESTDIR)$(infodir)/$$relfile || :;\
|
||||||
|
done; \
|
||||||
|
else : ; fi
|
||||||
|
install-man:
|
||||||
|
|
||||||
|
installcheck-am:
|
||||||
|
|
||||||
|
maintainer-clean: maintainer-clean-am
|
||||||
|
|
||||||
|
maintainer-clean-am: distclean-am maintainer-clean-aminfo \
|
||||||
|
maintainer-clean-generic maintainer-clean-vti
|
||||||
|
|
||||||
|
mostlyclean: mostlyclean-am
|
||||||
|
|
||||||
|
mostlyclean-am: mostlyclean-aminfo mostlyclean-generic mostlyclean-vti
|
||||||
|
|
||||||
|
pdf: pdf-am
|
||||||
|
|
||||||
|
pdf-am: $(PDFS)
|
||||||
|
|
||||||
|
ps: ps-am
|
||||||
|
|
||||||
|
ps-am: $(PSS)
|
||||||
|
|
||||||
|
uninstall-am: uninstall-info-am
|
||||||
|
|
||||||
|
.PHONY: all all-am check check-am clean clean-generic dist-info \
|
||||||
|
distclean distclean-generic distdir dvi dvi-am info info-am \
|
||||||
|
install install-am install-data install-data-am install-exec \
|
||||||
|
install-exec-am install-info install-info-am install-man \
|
||||||
|
install-strip installcheck installcheck-am installdirs \
|
||||||
|
maintainer-clean maintainer-clean-aminfo \
|
||||||
|
maintainer-clean-generic maintainer-clean-vti mostlyclean \
|
||||||
|
mostlyclean-aminfo mostlyclean-generic mostlyclean-vti pdf \
|
||||||
|
pdf-am ps ps-am uninstall uninstall-am uninstall-info-am
|
||||||
|
|
||||||
|
|
||||||
|
# Remove `DISABLED_' when fileutils, textutils, and sh-utils have
|
||||||
|
# all been merged into one package.
|
||||||
|
DISABLED_constants.texi: $(top_srcdir)/src/tail.c
|
||||||
|
LC_ALL=C \
|
||||||
|
sed -n -e 's/^#define \(DEFAULT_MAX[_A-Z]*\) \(.*\)/@set \1 \2/p' \
|
||||||
|
$(top_srcdir)/src/tail.c > t-$@
|
||||||
|
mv t-$@ $@
|
||||||
|
|
||||||
|
# Uncomment this when fileutils, textutils, and sh-utils have
|
||||||
|
# all been merged into one package.
|
||||||
|
# MAINTAINERCLEANFILES = constants.texi
|
||||||
|
|
||||||
|
$(DVIS): $(EXTRA_DIST)
|
||||||
|
$(INFO_DEPS): $(EXTRA_DIST)
|
||||||
|
|
||||||
|
# List words/regexps here that should not appear in the texinfo documentation.
|
||||||
|
check-texinfo:
|
||||||
|
fail=0; \
|
||||||
|
grep timezone $(srcdir)/*.texi && fail=1; \
|
||||||
|
grep '\$$@"' $(srcdir)/*.texi && fail=1; \
|
||||||
|
$(PERL) -e 1 2> /dev/null && { $(PERL) -ne \
|
||||||
|
'/\bPOSIX\b/ && !/\@acronym{POSIX}/ && !/^\* / || /{posix}/ and print,exit 1' \
|
||||||
|
$(srcdir)/*.texi 2> /dev/null || fail=1; }; \
|
||||||
|
exit $$fail
|
||||||
|
|
||||||
|
check: check-texinfo
|
||||||
|
# Tell versions [3.59,3.63) of GNU make to not export all variables.
|
||||||
|
# Otherwise a system limit (for SysV at least) may be exceeded.
|
||||||
|
.NOEXPORT:
|
||||||
@@ -0,0 +1,41 @@
|
|||||||
|
## Process this file with automake to produce Makefile.in -*-Makefile-*-
|
||||||
|
info_TEXINFOS = coreutils.texi
|
||||||
|
|
||||||
|
EXTRA_DIST = perm.texi getdate.texi constants.texi doclicense.texi
|
||||||
|
|
||||||
|
# The following is necessary if the package name is 8 characters or longer.
|
||||||
|
# If the info documentation would be split into 10 or more separate files,
|
||||||
|
# then this is necessary even if the package name is 7 characters long.
|
||||||
|
#
|
||||||
|
# Tell makeinfo to put everything in a single info file: <package>.info.
|
||||||
|
# Otherwise, it would also generate files with names like <package>.info-[123],
|
||||||
|
# and those names all map to one 14-byte name (<package>.info-) on some crufty
|
||||||
|
# old systems.
|
||||||
|
MAKEINFO = makeinfo --no-split
|
||||||
|
|
||||||
|
# Remove `DISABLED_' when fileutils, textutils, and sh-utils have
|
||||||
|
# all been merged into one package.
|
||||||
|
DISABLED_constants.texi: $(top_srcdir)/src/tail.c
|
||||||
|
LC_ALL=C \
|
||||||
|
sed -n -e 's/^#define \(DEFAULT_MAX[_A-Z]*\) \(.*\)/@set \1 \2/p' \
|
||||||
|
$(top_srcdir)/src/tail.c > t-$@
|
||||||
|
mv t-$@ $@
|
||||||
|
|
||||||
|
# Uncomment this when fileutils, textutils, and sh-utils have
|
||||||
|
# all been merged into one package.
|
||||||
|
# MAINTAINERCLEANFILES = constants.texi
|
||||||
|
|
||||||
|
$(DVIS): $(EXTRA_DIST)
|
||||||
|
$(INFO_DEPS): $(EXTRA_DIST)
|
||||||
|
|
||||||
|
# List words/regexps here that should not appear in the texinfo documentation.
|
||||||
|
check-texinfo:
|
||||||
|
fail=0; \
|
||||||
|
grep timezone $(srcdir)/*.texi && fail=1; \
|
||||||
|
grep '\$$@"' $(srcdir)/*.texi && fail=1; \
|
||||||
|
$(PERL) -e 1 2> /dev/null && { $(PERL) -ne \
|
||||||
|
'/\bPOSIX\b/ && !/\@acronym{POSIX}/ && !/^\* / || /{posix}/ and print,exit 1' \
|
||||||
|
$(srcdir)/*.texi 2> /dev/null || fail=1; }; \
|
||||||
|
exit $$fail
|
||||||
|
|
||||||
|
check: check-texinfo
|
||||||
@@ -0,0 +1,457 @@
|
|||||||
|
# Makefile.in generated by automake 1.7.3 from Makefile.am.
|
||||||
|
# @configure_input@
|
||||||
|
|
||||||
|
# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003
|
||||||
|
# Free Software Foundation, Inc.
|
||||||
|
# This Makefile.in is free software; the Free Software Foundation
|
||||||
|
# gives unlimited permission to copy and/or distribute it,
|
||||||
|
# with or without modifications, as long as this notice is preserved.
|
||||||
|
|
||||||
|
# This program is distributed in the hope that it will be useful,
|
||||||
|
# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
|
||||||
|
# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
|
||||||
|
# PARTICULAR PURPOSE.
|
||||||
|
|
||||||
|
@SET_MAKE@
|
||||||
|
|
||||||
|
srcdir = @srcdir@
|
||||||
|
top_srcdir = @top_srcdir@
|
||||||
|
VPATH = @srcdir@
|
||||||
|
pkgdatadir = $(datadir)/@PACKAGE@
|
||||||
|
pkglibdir = $(libdir)/@PACKAGE@
|
||||||
|
pkgincludedir = $(includedir)/@PACKAGE@
|
||||||
|
top_builddir = ..
|
||||||
|
|
||||||
|
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
|
||||||
|
INSTALL = @INSTALL@
|
||||||
|
install_sh_DATA = $(install_sh) -c -m 644
|
||||||
|
install_sh_PROGRAM = $(install_sh) -c
|
||||||
|
install_sh_SCRIPT = $(install_sh) -c
|
||||||
|
INSTALL_HEADER = $(INSTALL_DATA)
|
||||||
|
transform = $(program_transform_name)
|
||||||
|
NORMAL_INSTALL = :
|
||||||
|
PRE_INSTALL = :
|
||||||
|
POST_INSTALL = :
|
||||||
|
NORMAL_UNINSTALL = :
|
||||||
|
PRE_UNINSTALL = :
|
||||||
|
POST_UNINSTALL = :
|
||||||
|
host_triplet = @host@
|
||||||
|
ACLOCAL = @ACLOCAL@
|
||||||
|
ALLOCA = @ALLOCA@
|
||||||
|
AMDEP_FALSE = @AMDEP_FALSE@
|
||||||
|
AMDEP_TRUE = @AMDEP_TRUE@
|
||||||
|
AMTAR = @AMTAR@
|
||||||
|
AUTOCONF = @AUTOCONF@
|
||||||
|
AUTOHEADER = @AUTOHEADER@
|
||||||
|
AUTOMAKE = @AUTOMAKE@
|
||||||
|
AWK = @AWK@
|
||||||
|
CC = @CC@
|
||||||
|
CCDEPMODE = @CCDEPMODE@
|
||||||
|
CFLAGS = @CFLAGS@
|
||||||
|
CPP = @CPP@
|
||||||
|
CPPFLAGS = @CPPFLAGS@
|
||||||
|
CYGPATH_W = @CYGPATH_W@
|
||||||
|
DEFS = @DEFS@
|
||||||
|
DEPDIR = @DEPDIR@
|
||||||
|
DF_PROG = @DF_PROG@
|
||||||
|
ECHO_C = @ECHO_C@
|
||||||
|
ECHO_N = @ECHO_N@
|
||||||
|
ECHO_T = @ECHO_T@
|
||||||
|
EGREP = @EGREP@
|
||||||
|
EXEEXT = @EXEEXT@
|
||||||
|
FESETROUND_LIBM = @FESETROUND_LIBM@
|
||||||
|
GETLOADAVG_LIBS = @GETLOADAVG_LIBS@
|
||||||
|
GLIBC21 = @GLIBC21@
|
||||||
|
GMSGFMT = @GMSGFMT@
|
||||||
|
GNU_PACKAGE = @GNU_PACKAGE@
|
||||||
|
HELP2MAN = @HELP2MAN@
|
||||||
|
INSTALL_DATA = @INSTALL_DATA@
|
||||||
|
INSTALL_PROGRAM = @INSTALL_PROGRAM@
|
||||||
|
INSTALL_SCRIPT = @INSTALL_SCRIPT@
|
||||||
|
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
|
||||||
|
INTLLIBS = @INTLLIBS@
|
||||||
|
KMEM_GROUP = @KMEM_GROUP@
|
||||||
|
LDFLAGS = @LDFLAGS@
|
||||||
|
LIBICONV = @LIBICONV@
|
||||||
|
LIBINTL = @LIBINTL@
|
||||||
|
LIBOBJS = @LIBOBJS@
|
||||||
|
LIBS = @LIBS@
|
||||||
|
LIB_CLOCK_GETTIME = @LIB_CLOCK_GETTIME@
|
||||||
|
LIB_CRYPT = @LIB_CRYPT@
|
||||||
|
LIB_NANOSLEEP = @LIB_NANOSLEEP@
|
||||||
|
LN_S = @LN_S@
|
||||||
|
LTLIBICONV = @LTLIBICONV@
|
||||||
|
LTLIBINTL = @LTLIBINTL@
|
||||||
|
LTLIBOBJS = @LTLIBOBJS@
|
||||||
|
|
||||||
|
# The following is necessary if the package name is 8 characters or longer.
|
||||||
|
# If the info documentation would be split into 10 or more separate files,
|
||||||
|
# then this is necessary even if the package name is 7 characters long.
|
||||||
|
#
|
||||||
|
# Tell makeinfo to put everything in a single info file: <package>.info.
|
||||||
|
# Otherwise, it would also generate files with names like <package>.info-[123],
|
||||||
|
# and those names all map to one 14-byte name (<package>.info-) on some crufty
|
||||||
|
# old systems.
|
||||||
|
MAKEINFO = makeinfo --no-split
|
||||||
|
MAN = @MAN@
|
||||||
|
MKINSTALLDIRS = @MKINSTALLDIRS@
|
||||||
|
MSGFMT = @MSGFMT@
|
||||||
|
MSGMERGE = @MSGMERGE@
|
||||||
|
NEED_SETGID = @NEED_SETGID@
|
||||||
|
OBJEXT = @OBJEXT@
|
||||||
|
OPTIONAL_BIN_PROGS = @OPTIONAL_BIN_PROGS@
|
||||||
|
OPTIONAL_BIN_ZCRIPTS = @OPTIONAL_BIN_ZCRIPTS@
|
||||||
|
PACKAGE = @PACKAGE@
|
||||||
|
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
|
||||||
|
PACKAGE_NAME = @PACKAGE_NAME@
|
||||||
|
PACKAGE_STRING = @PACKAGE_STRING@
|
||||||
|
PACKAGE_TARNAME = @PACKAGE_TARNAME@
|
||||||
|
PACKAGE_VERSION = @PACKAGE_VERSION@
|
||||||
|
PATH_SEPARATOR = @PATH_SEPARATOR@
|
||||||
|
PERL = @PERL@
|
||||||
|
POSUB = @POSUB@
|
||||||
|
POW_LIB = @POW_LIB@
|
||||||
|
RANLIB = @RANLIB@
|
||||||
|
SEQ_LIBM = @SEQ_LIBM@
|
||||||
|
SET_MAKE = @SET_MAKE@
|
||||||
|
SHELL = @SHELL@
|
||||||
|
SQRT_LIBM = @SQRT_LIBM@
|
||||||
|
STRIP = @STRIP@
|
||||||
|
U = @U@
|
||||||
|
USE_NLS = @USE_NLS@
|
||||||
|
VERSION = @VERSION@
|
||||||
|
XGETTEXT = @XGETTEXT@
|
||||||
|
YACC = @YACC@
|
||||||
|
ac_ct_CC = @ac_ct_CC@
|
||||||
|
ac_ct_RANLIB = @ac_ct_RANLIB@
|
||||||
|
ac_ct_STRIP = @ac_ct_STRIP@
|
||||||
|
am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
|
||||||
|
am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
|
||||||
|
am__include = @am__include@
|
||||||
|
am__leading_dot = @am__leading_dot@
|
||||||
|
am__quote = @am__quote@
|
||||||
|
bindir = @bindir@
|
||||||
|
build = @build@
|
||||||
|
build_alias = @build_alias@
|
||||||
|
build_cpu = @build_cpu@
|
||||||
|
build_os = @build_os@
|
||||||
|
build_vendor = @build_vendor@
|
||||||
|
datadir = @datadir@
|
||||||
|
exec_prefix = @exec_prefix@
|
||||||
|
host = @host@
|
||||||
|
host_alias = @host_alias@
|
||||||
|
host_cpu = @host_cpu@
|
||||||
|
host_os = @host_os@
|
||||||
|
host_vendor = @host_vendor@
|
||||||
|
includedir = @includedir@
|
||||||
|
infodir = @infodir@
|
||||||
|
install_sh = @install_sh@
|
||||||
|
libdir = @libdir@
|
||||||
|
libexecdir = @libexecdir@
|
||||||
|
localstatedir = @localstatedir@
|
||||||
|
mandir = @mandir@
|
||||||
|
oldincludedir = @oldincludedir@
|
||||||
|
prefix = @prefix@
|
||||||
|
program_transform_name = @program_transform_name@
|
||||||
|
sbindir = @sbindir@
|
||||||
|
sharedstatedir = @sharedstatedir@
|
||||||
|
sysconfdir = @sysconfdir@
|
||||||
|
target_alias = @target_alias@
|
||||||
|
info_TEXINFOS = coreutils.texi
|
||||||
|
|
||||||
|
EXTRA_DIST = perm.texi getdate.texi constants.texi doclicense.texi
|
||||||
|
subdir = doc
|
||||||
|
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
|
||||||
|
mkinstalldirs = $(SHELL) $(top_srcdir)/config/mkinstalldirs
|
||||||
|
CONFIG_HEADER = $(top_builddir)/config.h
|
||||||
|
CONFIG_CLEAN_FILES =
|
||||||
|
DIST_SOURCES =
|
||||||
|
TEXINFO_TEX = $(top_srcdir)/config/texinfo.tex
|
||||||
|
am__TEXINFO_TEX_DIR = $(top_srcdir)/config
|
||||||
|
INFO_DEPS = coreutils.info
|
||||||
|
DVIS = coreutils.dvi
|
||||||
|
PDFS = coreutils.pdf
|
||||||
|
PSS = coreutils.ps
|
||||||
|
TEXINFOS = coreutils.texi
|
||||||
|
DIST_COMMON = ChangeLog Makefile.am Makefile.in stamp-vti version.texi
|
||||||
|
all: all-am
|
||||||
|
|
||||||
|
.SUFFIXES:
|
||||||
|
.SUFFIXES: .dvi .info .pdf .ps .texi
|
||||||
|
$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.ac $(ACLOCAL_M4)
|
||||||
|
cd $(top_srcdir) && \
|
||||||
|
$(AUTOMAKE) --gnits doc/Makefile
|
||||||
|
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
|
||||||
|
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)
|
||||||
|
|
||||||
|
.texi.info:
|
||||||
|
@rm -f $@ $@-[0-9] $@-[0-9][0-9] $(@:.info=).i[0-9] $(@:.info=).i[0-9][0-9]
|
||||||
|
$(MAKEINFO) $(AM_MAKEINFOFLAGS) $(MAKEINFOFLAGS) -I $(srcdir) \
|
||||||
|
-o $@ `test -f '$<' || echo '$(srcdir)/'`$<
|
||||||
|
|
||||||
|
.texi.dvi:
|
||||||
|
TEXINPUTS="$(am__TEXINFO_TEX_DIR)$(PATH_SEPARATOR)$$TEXINPUTS" \
|
||||||
|
MAKEINFO='$(MAKEINFO) $(AM_MAKEINFOFLAGS) $(MAKEINFOFLAGS) -I $(srcdir)' \
|
||||||
|
$(TEXI2DVI) `test -f '$<' || echo '$(srcdir)/'`$<
|
||||||
|
|
||||||
|
.texi.pdf:
|
||||||
|
TEXINPUTS="$(am__TEXINFO_TEX_DIR)$(PATH_SEPARATOR)$$TEXINPUTS" \
|
||||||
|
MAKEINFO='$(MAKEINFO) $(AM_MAKEINFOFLAGS) $(MAKEINFOFLAGS) -I $(srcdir)' \
|
||||||
|
$(TEXI2PDF) `test -f '$<' || echo '$(srcdir)/'`$<
|
||||||
|
coreutils.info: coreutils.texi version.texi
|
||||||
|
coreutils.dvi: coreutils.texi version.texi
|
||||||
|
coreutils.pdf: coreutils.texi version.texi
|
||||||
|
version.texi: stamp-vti
|
||||||
|
stamp-vti: coreutils.texi $(top_srcdir)/configure
|
||||||
|
@(dir=.; test -f ./coreutils.texi || dir=$(srcdir); \
|
||||||
|
set `$(SHELL) $(top_srcdir)/config/mdate-sh $$dir/coreutils.texi`; \
|
||||||
|
echo "@set UPDATED $$1 $$2 $$3"; \
|
||||||
|
echo "@set UPDATED-MONTH $$2 $$3"; \
|
||||||
|
echo "@set EDITION $(VERSION)"; \
|
||||||
|
echo "@set VERSION $(VERSION)") > vti.tmp
|
||||||
|
@cmp -s vti.tmp version.texi \
|
||||||
|
|| (echo "Updating version.texi"; \
|
||||||
|
cp vti.tmp version.texi)
|
||||||
|
-@rm -f vti.tmp
|
||||||
|
@cp version.texi $@
|
||||||
|
|
||||||
|
mostlyclean-vti:
|
||||||
|
-rm -f vti.tmp
|
||||||
|
|
||||||
|
maintainer-clean-vti:
|
||||||
|
-rm -f stamp-vti version.texi
|
||||||
|
TEXI2DVI = texi2dvi
|
||||||
|
|
||||||
|
TEXI2PDF = $(TEXI2DVI) --pdf --batch
|
||||||
|
DVIPS = dvips
|
||||||
|
.dvi.ps:
|
||||||
|
$(DVIPS) -o $@ $<
|
||||||
|
|
||||||
|
uninstall-info-am:
|
||||||
|
$(PRE_UNINSTALL)
|
||||||
|
@if (install-info --version && \
|
||||||
|
install-info --version | grep -i -v debian) >/dev/null 2>&1; then \
|
||||||
|
list='$(INFO_DEPS)'; \
|
||||||
|
for file in $$list; do \
|
||||||
|
relfile=`echo "$$file" | sed 's|^.*/||'`; \
|
||||||
|
echo " install-info --info-dir=$(DESTDIR)$(infodir) --remove $(DESTDIR)$(infodir)/$$relfile"; \
|
||||||
|
install-info --info-dir=$(DESTDIR)$(infodir) --remove $(DESTDIR)$(infodir)/$$relfile; \
|
||||||
|
done; \
|
||||||
|
else :; fi
|
||||||
|
@$(NORMAL_UNINSTALL)
|
||||||
|
@list='$(INFO_DEPS)'; \
|
||||||
|
for file in $$list; do \
|
||||||
|
relfile=`echo "$$file" | sed 's|^.*/||'`; \
|
||||||
|
relfile_i=`echo "$$relfile" | sed 's|\.info$$||;s|$$|.i|'`; \
|
||||||
|
(if cd $(DESTDIR)$(infodir); then \
|
||||||
|
echo " rm -f $$relfile $$relfile-[0-9] $$relfile-[0-9][0-9] $$relfile_i[0-9] $$relfile_i[0-9][0-9])"; \
|
||||||
|
rm -f $$relfile $$relfile-[0-9] $$relfile-[0-9][0-9] $$relfile_i[0-9] $$relfile_i[0-9][0-9]; \
|
||||||
|
else :; fi); \
|
||||||
|
done
|
||||||
|
|
||||||
|
dist-info: $(INFO_DEPS)
|
||||||
|
list='$(INFO_DEPS)'; \
|
||||||
|
for base in $$list; do \
|
||||||
|
if test -f $$base; then d=.; else d=$(srcdir); fi; \
|
||||||
|
for file in $$d/$$base*; do \
|
||||||
|
relfile=`expr "$$file" : "$$d/\(.*\)"`; \
|
||||||
|
test -f $(distdir)/$$relfile || \
|
||||||
|
cp -p $$file $(distdir)/$$relfile; \
|
||||||
|
done; \
|
||||||
|
done
|
||||||
|
|
||||||
|
mostlyclean-aminfo:
|
||||||
|
-rm -f coreutils.aux coreutils.cp coreutils.cps coreutils.fl coreutils.fn \
|
||||||
|
coreutils.ky coreutils.log coreutils.op coreutils.pg \
|
||||||
|
coreutils.tmp coreutils.toc coreutils.tp coreutils.tps \
|
||||||
|
coreutils.vr coreutils.dvi coreutils.pdf coreutils.ps
|
||||||
|
|
||||||
|
maintainer-clean-aminfo:
|
||||||
|
@list='$(INFO_DEPS)'; for i in $$list; do \
|
||||||
|
i_i=`echo "$$i" | sed 's|\.info$$||;s|$$|.i|'`; \
|
||||||
|
echo " rm -f $$i $$i-[0-9] $$i-[0-9][0-9] $$i_i[0-9] $$i_i[0-9][0-9]"; \
|
||||||
|
rm -f $$i $$i-[0-9] $$i-[0-9][0-9] $$i_i[0-9] $$i_i[0-9][0-9]; \
|
||||||
|
done
|
||||||
|
tags: TAGS
|
||||||
|
TAGS:
|
||||||
|
|
||||||
|
ctags: CTAGS
|
||||||
|
CTAGS:
|
||||||
|
|
||||||
|
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
|
||||||
|
|
||||||
|
top_distdir = ..
|
||||||
|
distdir = $(top_distdir)/$(PACKAGE)-$(VERSION)
|
||||||
|
|
||||||
|
distdir: $(DISTFILES)
|
||||||
|
@srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
|
||||||
|
topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
|
||||||
|
list='$(DISTFILES)'; for file in $$list; do \
|
||||||
|
case $$file in \
|
||||||
|
$(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
|
||||||
|
$(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
|
||||||
|
esac; \
|
||||||
|
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
|
||||||
|
dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
|
||||||
|
if test "$$dir" != "$$file" && test "$$dir" != "."; then \
|
||||||
|
dir="/$$dir"; \
|
||||||
|
$(mkinstalldirs) "$(distdir)$$dir"; \
|
||||||
|
else \
|
||||||
|
dir=''; \
|
||||||
|
fi; \
|
||||||
|
if test -d $$d/$$file; then \
|
||||||
|
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
|
||||||
|
cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
|
||||||
|
fi; \
|
||||||
|
cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
|
||||||
|
else \
|
||||||
|
test -f $(distdir)/$$file \
|
||||||
|
|| cp -p $$d/$$file $(distdir)/$$file \
|
||||||
|
|| exit 1; \
|
||||||
|
fi; \
|
||||||
|
done
|
||||||
|
$(MAKE) $(AM_MAKEFLAGS) \
|
||||||
|
top_distdir="$(top_distdir)" distdir="$(distdir)" \
|
||||||
|
dist-info
|
||||||
|
check-am: all-am
|
||||||
|
check: check-am
|
||||||
|
all-am: Makefile $(INFO_DEPS)
|
||||||
|
|
||||||
|
installdirs:
|
||||||
|
$(mkinstalldirs) $(DESTDIR)$(infodir)
|
||||||
|
|
||||||
|
install: install-am
|
||||||
|
install-exec: install-exec-am
|
||||||
|
install-data: install-data-am
|
||||||
|
uninstall: uninstall-am
|
||||||
|
|
||||||
|
install-am: all-am
|
||||||
|
@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
|
||||||
|
|
||||||
|
installcheck: installcheck-am
|
||||||
|
install-strip:
|
||||||
|
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
|
||||||
|
INSTALL_STRIP_FLAG=-s \
|
||||||
|
`test -z '$(STRIP)' || \
|
||||||
|
echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
|
||||||
|
mostlyclean-generic:
|
||||||
|
|
||||||
|
clean-generic:
|
||||||
|
|
||||||
|
distclean-generic:
|
||||||
|
-rm -f Makefile $(CONFIG_CLEAN_FILES)
|
||||||
|
|
||||||
|
maintainer-clean-generic:
|
||||||
|
@echo "This command is intended for maintainers to use"
|
||||||
|
@echo "it deletes files that may require special tools to rebuild."
|
||||||
|
clean: clean-am
|
||||||
|
|
||||||
|
clean-am: clean-generic mostlyclean-am
|
||||||
|
|
||||||
|
distclean: distclean-am
|
||||||
|
|
||||||
|
distclean-am: clean-am distclean-generic
|
||||||
|
|
||||||
|
dvi: dvi-am
|
||||||
|
|
||||||
|
dvi-am: $(DVIS)
|
||||||
|
|
||||||
|
info: info-am
|
||||||
|
|
||||||
|
info-am: $(INFO_DEPS)
|
||||||
|
|
||||||
|
install-data-am: install-info-am
|
||||||
|
|
||||||
|
install-exec-am:
|
||||||
|
|
||||||
|
install-info: install-info-am
|
||||||
|
|
||||||
|
install-info-am: $(INFO_DEPS)
|
||||||
|
@$(NORMAL_INSTALL)
|
||||||
|
$(mkinstalldirs) $(DESTDIR)$(infodir)
|
||||||
|
@list='$(INFO_DEPS)'; \
|
||||||
|
for file in $$list; do \
|
||||||
|
if test -f $$file; then d=.; else d=$(srcdir); fi; \
|
||||||
|
file_i=`echo "$$file" | sed 's|\.info$$||;s|$$|.i|'`; \
|
||||||
|
for ifile in $$d/$$file $$d/$$file-[0-9] $$d/$$file-[0-9][0-9] \
|
||||||
|
$$d/$$file_i[0-9] $$d/$$file_i[0-9][0-9] ; do \
|
||||||
|
if test -f $$ifile; then \
|
||||||
|
relfile=`echo "$$ifile" | sed 's|^.*/||'`; \
|
||||||
|
echo " $(INSTALL_DATA) $$ifile $(DESTDIR)$(infodir)/$$relfile"; \
|
||||||
|
$(INSTALL_DATA) $$ifile $(DESTDIR)$(infodir)/$$relfile; \
|
||||||
|
else : ; fi; \
|
||||||
|
done; \
|
||||||
|
done
|
||||||
|
@$(POST_INSTALL)
|
||||||
|
@if (install-info --version && \
|
||||||
|
install-info --version | grep -i -v debian) >/dev/null 2>&1; then \
|
||||||
|
list='$(INFO_DEPS)'; \
|
||||||
|
for file in $$list; do \
|
||||||
|
relfile=`echo "$$file" | sed 's|^.*/||'`; \
|
||||||
|
echo " install-info --info-dir=$(DESTDIR)$(infodir) $(DESTDIR)$(infodir)/$$relfile";\
|
||||||
|
install-info --info-dir=$(DESTDIR)$(infodir) $(DESTDIR)$(infodir)/$$relfile || :;\
|
||||||
|
done; \
|
||||||
|
else : ; fi
|
||||||
|
install-man:
|
||||||
|
|
||||||
|
installcheck-am:
|
||||||
|
|
||||||
|
maintainer-clean: maintainer-clean-am
|
||||||
|
|
||||||
|
maintainer-clean-am: distclean-am maintainer-clean-aminfo \
|
||||||
|
maintainer-clean-generic maintainer-clean-vti
|
||||||
|
|
||||||
|
mostlyclean: mostlyclean-am
|
||||||
|
|
||||||
|
mostlyclean-am: mostlyclean-aminfo mostlyclean-generic mostlyclean-vti
|
||||||
|
|
||||||
|
pdf: pdf-am
|
||||||
|
|
||||||
|
pdf-am: $(PDFS)
|
||||||
|
|
||||||
|
ps: ps-am
|
||||||
|
|
||||||
|
ps-am: $(PSS)
|
||||||
|
|
||||||
|
uninstall-am: uninstall-info-am
|
||||||
|
|
||||||
|
.PHONY: all all-am check check-am clean clean-generic dist-info \
|
||||||
|
distclean distclean-generic distdir dvi dvi-am info info-am \
|
||||||
|
install install-am install-data install-data-am install-exec \
|
||||||
|
install-exec-am install-info install-info-am install-man \
|
||||||
|
install-strip installcheck installcheck-am installdirs \
|
||||||
|
maintainer-clean maintainer-clean-aminfo \
|
||||||
|
maintainer-clean-generic maintainer-clean-vti mostlyclean \
|
||||||
|
mostlyclean-aminfo mostlyclean-generic mostlyclean-vti pdf \
|
||||||
|
pdf-am ps ps-am uninstall uninstall-am uninstall-info-am
|
||||||
|
|
||||||
|
|
||||||
|
# Remove `DISABLED_' when fileutils, textutils, and sh-utils have
|
||||||
|
# all been merged into one package.
|
||||||
|
DISABLED_constants.texi: $(top_srcdir)/src/tail.c
|
||||||
|
LC_ALL=C \
|
||||||
|
sed -n -e 's/^#define \(DEFAULT_MAX[_A-Z]*\) \(.*\)/@set \1 \2/p' \
|
||||||
|
$(top_srcdir)/src/tail.c > t-$@
|
||||||
|
mv t-$@ $@
|
||||||
|
|
||||||
|
# Uncomment this when fileutils, textutils, and sh-utils have
|
||||||
|
# all been merged into one package.
|
||||||
|
# MAINTAINERCLEANFILES = constants.texi
|
||||||
|
|
||||||
|
$(DVIS): $(EXTRA_DIST)
|
||||||
|
$(INFO_DEPS): $(EXTRA_DIST)
|
||||||
|
|
||||||
|
# List words/regexps here that should not appear in the texinfo documentation.
|
||||||
|
check-texinfo:
|
||||||
|
fail=0; \
|
||||||
|
grep timezone $(srcdir)/*.texi && fail=1; \
|
||||||
|
grep '\$$@"' $(srcdir)/*.texi && fail=1; \
|
||||||
|
$(PERL) -e 1 2> /dev/null && { $(PERL) -ne \
|
||||||
|
'/\bPOSIX\b/ && !/\@acronym{POSIX}/ && !/^\* / || /{posix}/ and print,exit 1' \
|
||||||
|
$(srcdir)/*.texi 2> /dev/null || fail=1; }; \
|
||||||
|
exit $$fail
|
||||||
|
|
||||||
|
check: check-texinfo
|
||||||
|
# Tell versions [3.59,3.63) of GNU make to not export all variables.
|
||||||
|
# Otherwise a system limit (for SysV at least) may be exceeded.
|
||||||
|
.NOEXPORT:
|
||||||
@@ -0,0 +1,2 @@
|
|||||||
|
@set DEFAULT_MAX_N_UNCHANGED_STATS_BETWEEN_OPENS 5
|
||||||
|
@set DEFAULT_MAX_N_CONSECUTIVE_SIZE_CHANGES 200
|
||||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,395 @@
|
|||||||
|
@c -*-texinfo-*-
|
||||||
|
@node GNU Free Documentation License
|
||||||
|
@appendix GNU Free Documentation License
|
||||||
|
@center Version 1.1, March 2000
|
||||||
|
@ifnottex
|
||||||
|
@menu
|
||||||
|
* How to use this License for your documents::
|
||||||
|
@end menu
|
||||||
|
@end ifnottex
|
||||||
|
@display
|
||||||
|
Copyright (C) 2000 Free Software Foundation, Inc.
|
||||||
|
59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||||
|
|
||||||
|
Everyone is permitted to copy and distribute verbatim copies
|
||||||
|
of this license document, but changing it is not allowed.
|
||||||
|
@end display
|
||||||
|
@iftex
|
||||||
|
@sp1
|
||||||
|
@end iftex
|
||||||
|
@enumerate 0
|
||||||
|
@item
|
||||||
|
PREAMBLE
|
||||||
|
|
||||||
|
The purpose of this License is to make a manual, textbook, or other
|
||||||
|
written document ``free'' in the sense of freedom: to assure everyone
|
||||||
|
the effective freedom to copy and redistribute it, with or without
|
||||||
|
modifying it, either commercially or noncommercially. Secondarily,
|
||||||
|
this License preserves for the author and publisher a way to get
|
||||||
|
credit for their work, while not being considered responsible for
|
||||||
|
modifications made by others.
|
||||||
|
|
||||||
|
This License is a kind of ``copyleft'', which means that derivative
|
||||||
|
works of the document must themselves be free in the same sense. It
|
||||||
|
complements the GNU General Public License, which is a copyleft
|
||||||
|
license designed for free software.
|
||||||
|
|
||||||
|
We have designed this License in order to use it for manuals for free
|
||||||
|
software, because free software needs free documentation: a free
|
||||||
|
program should come with manuals providing the same freedoms that the
|
||||||
|
software does. But this License is not limited to software manuals;
|
||||||
|
it can be used for any textual work, regardless of subject matter or
|
||||||
|
whether it is published as a printed book. We recommend this License
|
||||||
|
principally for works whose purpose is instruction or reference.
|
||||||
|
@iftex
|
||||||
|
@sp1
|
||||||
|
@end iftex
|
||||||
|
@item
|
||||||
|
APPLICABILITY AND DEFINITIONS
|
||||||
|
|
||||||
|
This License applies to any manual or other work that contains a
|
||||||
|
notice placed by the copyright holder saying it can be distributed
|
||||||
|
under the terms of this License. The ``Document'', below, refers to any
|
||||||
|
such manual or work. Any member of the public is a licensee, and is
|
||||||
|
addressed as ``you''.
|
||||||
|
|
||||||
|
A ``Modified Version'' of the Document means any work containing the
|
||||||
|
Document or a portion of it, either copied verbatim, or with
|
||||||
|
modifications and/or translated into another language.
|
||||||
|
|
||||||
|
A ``Secondary Section'' is a named appendix or a front-matter section of
|
||||||
|
the Document that deals exclusively with the relationship of the
|
||||||
|
publishers or authors of the Document to the Document's overall subject
|
||||||
|
(or to related matters) and contains nothing that could fall directly
|
||||||
|
within that overall subject. (For example, if the Document is in part a
|
||||||
|
textbook of mathematics, a Secondary Section may not explain any
|
||||||
|
mathematics.) The relationship could be a matter of historical
|
||||||
|
connection with the subject or with related matters, or of legal,
|
||||||
|
commercial, philosophical, ethical or political position regarding
|
||||||
|
them.
|
||||||
|
|
||||||
|
The ``Invariant Sections'' are certain Secondary Sections whose titles
|
||||||
|
are designated, as being those of Invariant Sections, in the notice
|
||||||
|
that says that the Document is released under this License.
|
||||||
|
|
||||||
|
The ``Cover Texts'' are certain short passages of text that are listed,
|
||||||
|
as Front-Cover Texts or Back-Cover Texts, in the notice that says that
|
||||||
|
the Document is released under this License.
|
||||||
|
|
||||||
|
A ``Transparent'' copy of the Document means a machine-readable copy,
|
||||||
|
represented in a format whose specification is available to the
|
||||||
|
general public, whose contents can be viewed and edited directly and
|
||||||
|
straightforwardly with generic text editors or (for images composed of
|
||||||
|
pixels) generic paint programs or (for drawings) some widely available
|
||||||
|
drawing editor, and that is suitable for input to text formatters or
|
||||||
|
for automatic translation to a variety of formats suitable for input
|
||||||
|
to text formatters. A copy made in an otherwise Transparent file
|
||||||
|
format whose markup has been designed to thwart or discourage
|
||||||
|
subsequent modification by readers is not Transparent. A copy that is
|
||||||
|
not ``Transparent'' is called ``Opaque''.
|
||||||
|
|
||||||
|
Examples of suitable formats for Transparent copies include plain
|
||||||
|
ASCII without markup, Texinfo input format, LaTeX input format, SGML
|
||||||
|
or XML using a publicly available DTD, and standard-conforming simple
|
||||||
|
HTML designed for human modification. Opaque formats include
|
||||||
|
PostScript, PDF, proprietary formats that can be read and edited only
|
||||||
|
by proprietary word processors, SGML or XML for which the DTD and/or
|
||||||
|
processing tools are not generally available, and the
|
||||||
|
machine-generated HTML produced by some word processors for output
|
||||||
|
purposes only.
|
||||||
|
|
||||||
|
The ``Title Page'' means, for a printed book, the title page itself,
|
||||||
|
plus such following pages as are needed to hold, legibly, the material
|
||||||
|
this License requires to appear in the title page. For works in
|
||||||
|
formats which do not have any title page as such, ``Title Page'' means
|
||||||
|
the text near the most prominent appearance of the work's title,
|
||||||
|
preceding the beginning of the body of the text.
|
||||||
|
@iftex
|
||||||
|
@sp1
|
||||||
|
@end iftex
|
||||||
|
@item
|
||||||
|
VERBATIM COPYING
|
||||||
|
|
||||||
|
You may copy and distribute the Document in any medium, either
|
||||||
|
commercially or noncommercially, provided that this License, the
|
||||||
|
copyright notices, and the license notice saying this License applies
|
||||||
|
to the Document are reproduced in all copies, and that you add no other
|
||||||
|
conditions whatsoever to those of this License. You may not use
|
||||||
|
technical measures to obstruct or control the reading or further
|
||||||
|
copying of the copies you make or distribute. However, you may accept
|
||||||
|
compensation in exchange for copies. If you distribute a large enough
|
||||||
|
number of copies you must also follow the conditions in section 3.
|
||||||
|
|
||||||
|
You may also lend copies, under the same conditions stated above, and
|
||||||
|
you may publicly display copies.
|
||||||
|
@iftex
|
||||||
|
@sp1
|
||||||
|
@end iftex
|
||||||
|
@item
|
||||||
|
COPYING IN QUANTITY
|
||||||
|
|
||||||
|
If you publish printed copies of the Document numbering more than 100,
|
||||||
|
and the Document's license notice requires Cover Texts, you must enclose
|
||||||
|
the copies in covers that carry, clearly and legibly, all these Cover
|
||||||
|
Texts: Front-Cover Texts on the front cover, and Back-Cover Texts on
|
||||||
|
the back cover. Both covers must also clearly and legibly identify
|
||||||
|
you as the publisher of these copies. The front cover must present
|
||||||
|
the full title with all words of the title equally prominent and
|
||||||
|
visible. You may add other material on the covers in addition.
|
||||||
|
Copying with changes limited to the covers, as long as they preserve
|
||||||
|
the title of the Document and satisfy these conditions, can be treated
|
||||||
|
as verbatim copying in other respects.
|
||||||
|
|
||||||
|
If the required texts for either cover are too voluminous to fit
|
||||||
|
legibly, you should put the first ones listed (as many as fit
|
||||||
|
reasonably) on the actual cover, and continue the rest onto adjacent
|
||||||
|
pages.
|
||||||
|
|
||||||
|
If you publish or distribute Opaque copies of the Document numbering
|
||||||
|
more than 100, you must either include a machine-readable Transparent
|
||||||
|
copy along with each Opaque copy, or state in or with each Opaque copy
|
||||||
|
a publicly-accessible computer-network location containing a complete
|
||||||
|
Transparent copy of the Document, free of added material, which the
|
||||||
|
general network-using public has access to download anonymously at no
|
||||||
|
charge using public-standard network protocols. If you use the latter
|
||||||
|
option, you must take reasonably prudent steps, when you begin
|
||||||
|
distribution of Opaque copies in quantity, to ensure that this
|
||||||
|
Transparent copy will remain thus accessible at the stated location
|
||||||
|
until at least one year after the last time you distribute an Opaque
|
||||||
|
copy (directly or through your agents or retailers) of that edition to
|
||||||
|
the public.
|
||||||
|
|
||||||
|
It is requested, but not required, that you contact the authors of the
|
||||||
|
Document well before redistributing any large number of copies, to give
|
||||||
|
them a chance to provide you with an updated version of the Document.
|
||||||
|
@iftex
|
||||||
|
@sp1
|
||||||
|
@end iftex
|
||||||
|
@item
|
||||||
|
MODIFICATIONS
|
||||||
|
|
||||||
|
You may copy and distribute a Modified Version of the Document under
|
||||||
|
the conditions of sections 2 and 3 above, provided that you release
|
||||||
|
the Modified Version under precisely this License, with the Modified
|
||||||
|
Version filling the role of the Document, thus licensing distribution
|
||||||
|
and modification of the Modified Version to whoever possesses a copy
|
||||||
|
of it. In addition, you must do these things in the Modified Version:
|
||||||
|
|
||||||
|
A. Use in the Title Page (and on the covers, if any) a title distinct
|
||||||
|
from that of the Document, and from those of previous versions
|
||||||
|
(which should, if there were any, be listed in the History section
|
||||||
|
of the Document). You may use the same title as a previous version
|
||||||
|
if the original publisher of that version gives permission.@*
|
||||||
|
B. List on the Title Page, as authors, one or more persons or entities
|
||||||
|
responsible for authorship of the modifications in the Modified
|
||||||
|
Version, together with at least five of the principal authors of the
|
||||||
|
Document (all of its principal authors, if it has less than five).@*
|
||||||
|
C. State on the Title page the name of the publisher of the
|
||||||
|
Modified Version, as the publisher.@*
|
||||||
|
D. Preserve all the copyright notices of the Document.@*
|
||||||
|
E. Add an appropriate copyright notice for your modifications
|
||||||
|
adjacent to the other copyright notices.@*
|
||||||
|
F. Include, immediately after the copyright notices, a license notice
|
||||||
|
giving the public permission to use the Modified Version under the
|
||||||
|
terms of this License, in the form shown in the Addendum below.@*
|
||||||
|
G. Preserve in that license notice the full lists of Invariant Sections
|
||||||
|
and required Cover Texts given in the Document's license notice.@*
|
||||||
|
H. Include an unaltered copy of this License.@*
|
||||||
|
I. Preserve the section entitled ``History'', and its title, and add to
|
||||||
|
it an item stating at least the title, year, new authors, and
|
||||||
|
publisher of the Modified Version as given on the Title Page. If
|
||||||
|
there is no section entitled ``History'' in the Document, create one
|
||||||
|
stating the title, year, authors, and publisher of the Document as
|
||||||
|
given on its Title Page, then add an item describing the Modified
|
||||||
|
Version as stated in the previous sentence.@*
|
||||||
|
J. Preserve the network location, if any, given in the Document for
|
||||||
|
public access to a Transparent copy of the Document, and likewise
|
||||||
|
the network locations given in the Document for previous versions
|
||||||
|
it was based on. These may be placed in the ``History'' section.
|
||||||
|
You may omit a network location for a work that was published at
|
||||||
|
least four years before the Document itself, or if the original
|
||||||
|
publisher of the version it refers to gives permission.@*
|
||||||
|
K. In any section entitled ``Acknowledgements'' or ``Dedications'',
|
||||||
|
preserve the section's title, and preserve in the section all the
|
||||||
|
substance and tone of each of the contributor acknowledgements
|
||||||
|
and/or dedications given therein.@*
|
||||||
|
L. Preserve all the Invariant Sections of the Document,
|
||||||
|
unaltered in their text and in their titles. Section numbers
|
||||||
|
or the equivalent are not considered part of the section titles.@*
|
||||||
|
M. Delete any section entitled ``Endorsements''. Such a section
|
||||||
|
may not be included in the Modified Version.@*
|
||||||
|
N. Do not retitle any existing section as ``Endorsements''
|
||||||
|
or to conflict in title with any Invariant Section.@*
|
||||||
|
@iftex
|
||||||
|
@sp1
|
||||||
|
@end iftex
|
||||||
|
If the Modified Version includes new front-matter sections or
|
||||||
|
appendices that qualify as Secondary Sections and contain no material
|
||||||
|
copied from the Document, you may at your option designate some or all
|
||||||
|
of these sections as invariant. To do this, add their titles to the
|
||||||
|
list of Invariant Sections in the Modified Version's license notice.
|
||||||
|
These titles must be distinct from any other section titles.
|
||||||
|
|
||||||
|
You may add a section entitled ``Endorsements'', provided it contains
|
||||||
|
nothing but endorsements of your Modified Version by various
|
||||||
|
parties--for example, statements of peer review or that the text has
|
||||||
|
been approved by an organization as the authoritative definition of a
|
||||||
|
standard.
|
||||||
|
|
||||||
|
You may add a passage of up to five words as a Front-Cover Text, and a
|
||||||
|
passage of up to 25 words as a Back-Cover Text, to the end of the list
|
||||||
|
of Cover Texts in the Modified Version. Only one passage of
|
||||||
|
Front-Cover Text and one of Back-Cover Text may be added by (or
|
||||||
|
through arrangements made by) any one entity. If the Document already
|
||||||
|
includes a cover text for the same cover, previously added by you or
|
||||||
|
by arrangement made by the same entity you are acting on behalf of,
|
||||||
|
you may not add another; but you may replace the old one, on explicit
|
||||||
|
permission from the previous publisher that added the old one.
|
||||||
|
|
||||||
|
The author(s) and publisher(s) of the Document do not by this License
|
||||||
|
give permission to use their names for publicity for or to assert or
|
||||||
|
imply endorsement of any Modified Version.
|
||||||
|
@iftex
|
||||||
|
@sp1
|
||||||
|
@end iftex
|
||||||
|
@item
|
||||||
|
COMBINING DOCUMENTS
|
||||||
|
|
||||||
|
You may combine the Document with other documents released under this
|
||||||
|
License, under the terms defined in section 4 above for modified
|
||||||
|
versions, provided that you include in the combination all of the
|
||||||
|
Invariant Sections of all of the original documents, unmodified, and
|
||||||
|
list them all as Invariant Sections of your combined work in its
|
||||||
|
license notice.
|
||||||
|
|
||||||
|
The combined work need only contain one copy of this License, and
|
||||||
|
multiple identical Invariant Sections may be replaced with a single
|
||||||
|
copy. If there are multiple Invariant Sections with the same name but
|
||||||
|
different contents, make the title of each such section unique by
|
||||||
|
adding at the end of it, in parentheses, the name of the original
|
||||||
|
author or publisher of that section if known, or else a unique number.
|
||||||
|
Make the same adjustment to the section titles in the list of
|
||||||
|
Invariant Sections in the license notice of the combined work.
|
||||||
|
|
||||||
|
In the combination, you must combine any sections entitled ``History''
|
||||||
|
in the various original documents, forming one section entitled
|
||||||
|
``History''; likewise combine any sections entitled ``Acknowledgements'',
|
||||||
|
and any sections entitled ``Dedications''. You must delete all sections
|
||||||
|
entitled ``Endorsements.''
|
||||||
|
@iftex
|
||||||
|
@sp1
|
||||||
|
@end iftex
|
||||||
|
@item
|
||||||
|
COLLECTIONS OF DOCUMENTS
|
||||||
|
|
||||||
|
You may make a collection consisting of the Document and other documents
|
||||||
|
released under this License, and replace the individual copies of this
|
||||||
|
License in the various documents with a single copy that is included in
|
||||||
|
the collection, provided that you follow the rules of this License for
|
||||||
|
verbatim copying of each of the documents in all other respects.
|
||||||
|
|
||||||
|
You may extract a single document from such a collection, and distribute
|
||||||
|
it individually under this License, provided you insert a copy of this
|
||||||
|
License into the extracted document, and follow this License in all
|
||||||
|
other respects regarding verbatim copying of that document.
|
||||||
|
@iftex
|
||||||
|
@sp1
|
||||||
|
@end iftex
|
||||||
|
@item
|
||||||
|
AGGREGATION WITH INDEPENDENT WORKS
|
||||||
|
|
||||||
|
A compilation of the Document or its derivatives with other separate
|
||||||
|
and independent documents or works, in or on a volume of a storage or
|
||||||
|
distribution medium, does not as a whole count as a Modified Version
|
||||||
|
of the Document, provided no compilation copyright is claimed for the
|
||||||
|
compilation. Such a compilation is called an ``aggregate'', and this
|
||||||
|
License does not apply to the other self-contained works thus compiled
|
||||||
|
with the Document, on account of their being thus compiled, if they
|
||||||
|
are not themselves derivative works of the Document.
|
||||||
|
|
||||||
|
If the Cover Text requirement of section 3 is applicable to these
|
||||||
|
copies of the Document, then if the Document is less than one quarter
|
||||||
|
of the entire aggregate, the Document's Cover Texts may be placed on
|
||||||
|
covers that surround only the Document within the aggregate.
|
||||||
|
Otherwise they must appear on covers around the whole aggregate.
|
||||||
|
@iftex
|
||||||
|
@sp1
|
||||||
|
@end iftex
|
||||||
|
@item
|
||||||
|
TRANSLATION
|
||||||
|
|
||||||
|
Translation is considered a kind of modification, so you may
|
||||||
|
distribute translations of the Document under the terms of section 4.
|
||||||
|
Replacing Invariant Sections with translations requires special
|
||||||
|
permission from their copyright holders, but you may include
|
||||||
|
translations of some or all Invariant Sections in addition to the
|
||||||
|
original versions of these Invariant Sections. You may include a
|
||||||
|
translation of this License provided that you also include the
|
||||||
|
original English version of this License. In case of a disagreement
|
||||||
|
between the translation and the original English version of this
|
||||||
|
License, the original English version will prevail.
|
||||||
|
@iftex
|
||||||
|
@sp1
|
||||||
|
@end iftex
|
||||||
|
@item
|
||||||
|
TERMINATION
|
||||||
|
|
||||||
|
You may not copy, modify, sublicense, or distribute the Document except
|
||||||
|
as expressly provided for under this License. Any other attempt to
|
||||||
|
copy, modify, sublicense or distribute the Document is void, and will
|
||||||
|
automatically terminate your rights under this License. However,
|
||||||
|
parties who have received copies, or rights, from you under this
|
||||||
|
License will not have their licenses terminated so long as such
|
||||||
|
parties remain in full compliance.
|
||||||
|
@iftex
|
||||||
|
@sp1
|
||||||
|
@end iftex
|
||||||
|
@item
|
||||||
|
FUTURE REVISIONS OF THIS LICENSE
|
||||||
|
|
||||||
|
The Free Software Foundation may publish new, revised versions
|
||||||
|
of the GNU Free Documentation License from time to time. Such new
|
||||||
|
versions will be similar in spirit to the present version, but may
|
||||||
|
differ in detail to address new problems or concerns. See
|
||||||
|
http://www.gnu.org/copyleft/.
|
||||||
|
|
||||||
|
Each version of the License is given a distinguishing version number.
|
||||||
|
If the Document specifies that a particular numbered version of this
|
||||||
|
License ``or any later version'' applies to it, you have the option of
|
||||||
|
following the terms and conditions either of that specified version or
|
||||||
|
of any later version that has been published (not as a draft) by the
|
||||||
|
Free Software Foundation. If the Document does not specify a version
|
||||||
|
number of this License, you may choose any version ever published (not
|
||||||
|
as a draft) by the Free Software Foundation.
|
||||||
|
|
||||||
|
@end enumerate
|
||||||
|
|
||||||
|
@node How to use this License for your documents
|
||||||
|
@unnumberedsec ADDENDUM: How to use this License for your documents
|
||||||
|
|
||||||
|
To use this License in a document you have written, include a copy of
|
||||||
|
the License in the document and put the following copyright and
|
||||||
|
license notices just after the title page:
|
||||||
|
|
||||||
|
@smallexample
|
||||||
|
@group
|
||||||
|
|
||||||
|
Copyright (C) @var{year} @var{your name}.
|
||||||
|
Permission is granted to copy, distribute and/or modify this document
|
||||||
|
under the terms of the GNU Free Documentation License, Version 1.1
|
||||||
|
or any later version published by the Free Software Foundation;
|
||||||
|
with the Invariant Sections being @var{list their titles}, with the
|
||||||
|
Front-Cover Texts being @var{list}, and with the Back-Cover Texts being @var{list}.
|
||||||
|
A copy of the license is included in the section entitled ``GNU
|
||||||
|
Free Documentation License''.
|
||||||
|
@end group
|
||||||
|
@end smallexample
|
||||||
|
If you have no Invariant Sections, write ``with no Invariant Sections''
|
||||||
|
instead of saying which ones are invariant. If you have no
|
||||||
|
Front-Cover Texts, write ``no Front-Cover Texts'' instead of
|
||||||
|
``Front-Cover Texts being @var{list}''; likewise for Back-Cover Texts.
|
||||||
|
|
||||||
|
If your document contains nontrivial examples of program code, we
|
||||||
|
recommend releasing these examples in parallel under your choice of
|
||||||
|
free software license, such as the GNU General Public License,
|
||||||
|
to permit their use in free software.
|
||||||
@@ -0,0 +1,421 @@
|
|||||||
|
@node Date input formats
|
||||||
|
@chapter Date input formats
|
||||||
|
|
||||||
|
@cindex date input formats
|
||||||
|
@findex getdate
|
||||||
|
|
||||||
|
First, a quote:
|
||||||
|
|
||||||
|
@quotation
|
||||||
|
Our units of temporal measurement, from seconds on up to months, are so
|
||||||
|
complicated, asymmetrical and disjunctive so as to make coherent mental
|
||||||
|
reckoning in time all but impossible. Indeed, had some tyrannical god
|
||||||
|
contrived to enslave our minds to time, to make it all but impossible
|
||||||
|
for us to escape subjection to sodden routines and unpleasant surprises,
|
||||||
|
he could hardly have done better than handing down our present system.
|
||||||
|
It is like a set of trapezoidal building blocks, with no vertical or
|
||||||
|
horizontal surfaces, like a language in which the simplest thought
|
||||||
|
demands ornate constructions, useless particles and lengthy
|
||||||
|
circumlocutions. Unlike the more successful patterns of language and
|
||||||
|
science, which enable us to face experience boldly or at least
|
||||||
|
level-headedly, our system of temporal calculation silently and
|
||||||
|
persistently encourages our terror of time.
|
||||||
|
|
||||||
|
@dots{} It is as though architects had to measure length in feet, width
|
||||||
|
in meters and height in ells; as though basic instruction manuals
|
||||||
|
demanded a knowledge of five different languages. It is no wonder then
|
||||||
|
that we often look into our own immediate past or future, last Tuesday
|
||||||
|
or a week from Sunday, with feelings of helpless confusion. @dots{}
|
||||||
|
|
||||||
|
--- Robert Grudin, @cite{Time and the Art of Living}.
|
||||||
|
@end quotation
|
||||||
|
|
||||||
|
This section describes the textual date representations that @sc{gnu}
|
||||||
|
programs accept. These are the strings you, as a user, can supply as
|
||||||
|
arguments to the various programs. The C interface (via the
|
||||||
|
@code{getdate} function) is not described here.
|
||||||
|
|
||||||
|
@cindex beginning of time, for @acronym{POSIX}
|
||||||
|
@cindex epoch, for @acronym{POSIX}
|
||||||
|
Although the date syntax here can represent any possible time since the
|
||||||
|
year zero, computer integers often cannot represent such a wide range of
|
||||||
|
time. On @acronym{POSIX} systems, the clock starts at 1970-01-01 00:00:00
|
||||||
|
@sc{utc}: @acronym{POSIX} does not require support for times before the
|
||||||
|
@acronym{POSIX} Epoch and times far in the future. Traditional Unix systems
|
||||||
|
have 32-bit signed @code{time_t} and can represent times from 1901-12-13
|
||||||
|
20:45:52 through 2038-01-19 03:14:07 @sc{utc}. Systems with 64-bit
|
||||||
|
signed @code{time_t} can represent all the times in the known
|
||||||
|
lifetime of the universe.
|
||||||
|
|
||||||
|
@menu
|
||||||
|
* General date syntax:: Common rules.
|
||||||
|
* Calendar date items:: 19 Dec 1994.
|
||||||
|
* Time of day items:: 9:20pm.
|
||||||
|
* Time zone items:: @sc{est}, @sc{pdt}, @sc{gmt}, ...
|
||||||
|
* Day of week items:: Monday and others.
|
||||||
|
* Relative items in date strings:: next tuesday, 2 years ago.
|
||||||
|
* Pure numbers in date strings:: 19931219, 1440.
|
||||||
|
* Authors of getdate:: Bellovin, Eggert, Salz, Berets, et al.
|
||||||
|
@end menu
|
||||||
|
|
||||||
|
|
||||||
|
@node General date syntax
|
||||||
|
@section General date syntax
|
||||||
|
|
||||||
|
@cindex general date syntax
|
||||||
|
|
||||||
|
@cindex items in date strings
|
||||||
|
A @dfn{date} is a string, possibly empty, containing many items
|
||||||
|
separated by whitespace. The whitespace may be omitted when no
|
||||||
|
ambiguity arises. The empty string means the beginning of today (i.e.,
|
||||||
|
midnight). Order of the items is immaterial. A date string may contain
|
||||||
|
many flavors of items:
|
||||||
|
|
||||||
|
@itemize @bullet
|
||||||
|
@item calendar date items
|
||||||
|
@item time of the day items
|
||||||
|
@item time zone items
|
||||||
|
@item day of the week items
|
||||||
|
@item relative items
|
||||||
|
@item pure numbers.
|
||||||
|
@end itemize
|
||||||
|
|
||||||
|
@noindent We describe each of these item types in turn, below.
|
||||||
|
|
||||||
|
@cindex numbers, written-out
|
||||||
|
@cindex ordinal numbers
|
||||||
|
@findex first @r{in date strings}
|
||||||
|
@findex next @r{in date strings}
|
||||||
|
@findex last @r{in date strings}
|
||||||
|
A few numbers may be written out in words in most contexts. This is
|
||||||
|
most useful for specifying day of the week items or relative items (see
|
||||||
|
below). Here is the list: @samp{first} for 1, @samp{next} for 2,
|
||||||
|
@samp{third} for 3, @samp{fourth} for 4, @samp{fifth} for 5,
|
||||||
|
@samp{sixth} for 6, @samp{seventh} for 7, @samp{eighth} for 8,
|
||||||
|
@samp{ninth} for 9, @samp{tenth} for 10, @samp{eleventh} for 11 and
|
||||||
|
@samp{twelfth} for 12. Also, @samp{last} means exactly @math{-1}.
|
||||||
|
|
||||||
|
@cindex months, written-out
|
||||||
|
When a month is written this way, it is still considered to be written
|
||||||
|
numerically, instead of being ``spelled in full''; this changes the
|
||||||
|
allowed strings.
|
||||||
|
|
||||||
|
@cindex language, in dates
|
||||||
|
In the current implementation, only English is supported for words and
|
||||||
|
abbreviations like @samp{AM}, @samp{DST}, @samp{EST}, @samp{first},
|
||||||
|
@samp{January}, @samp{Sunday}, @samp{tomorrow}, and @samp{year}.
|
||||||
|
|
||||||
|
@cindex language, in dates
|
||||||
|
@cindex time zone item
|
||||||
|
The output of @command{date} is not always acceptable as a date string,
|
||||||
|
not only because of the language problem, but also because there is no
|
||||||
|
standard meaning for time zone items like @samp{IST}. When using
|
||||||
|
@command{date} to generate a date string intended to be parsed later,
|
||||||
|
specify a date format that is independent of language and that does not
|
||||||
|
use time zone items other than @samp{UTC} and @samp{Z}. Here are some
|
||||||
|
ways to do this:
|
||||||
|
|
||||||
|
@example
|
||||||
|
$ LC_ALL=C TZ=UTC0 date
|
||||||
|
Fri Dec 15 19:48:05 UTC 2000
|
||||||
|
$ TZ=UTC0 date +"%Y-%m-%d %H:%M:%SZ"
|
||||||
|
2000-12-15 19:48:05Z
|
||||||
|
$ date --iso-8601=seconds # a GNU extension
|
||||||
|
2000-12-15T11:48:05-0800
|
||||||
|
$ date --rfc-822 # a GNU extension
|
||||||
|
Fri, 15 Dec 2000 11:48:05 -0800
|
||||||
|
$ date +"%Y-%m-%d %H:%M:%S %z" # %z is a GNU extension.
|
||||||
|
2000-12-15 11:48:05 -0800
|
||||||
|
@end example
|
||||||
|
|
||||||
|
@cindex case, ignored in dates
|
||||||
|
@cindex comments, in dates
|
||||||
|
Alphabetic case is completely ignored in dates. Comments may be introduced
|
||||||
|
between round parentheses, as long as included parentheses are properly
|
||||||
|
nested. Hyphens not followed by a digit are currently ignored. Leading
|
||||||
|
zeros on numbers are ignored.
|
||||||
|
|
||||||
|
|
||||||
|
@node Calendar date items
|
||||||
|
@section Calendar date items
|
||||||
|
|
||||||
|
@cindex calendar date item
|
||||||
|
|
||||||
|
A @dfn{calendar date item} specifies a day of the year. It is
|
||||||
|
specified differently, depending on whether the month is specified
|
||||||
|
numerically or literally. All these strings specify the same calendar date:
|
||||||
|
|
||||||
|
@example
|
||||||
|
1972-09-24 # @sc{iso} 8601.
|
||||||
|
72-9-24 # Assume 19xx for 69 through 99,
|
||||||
|
# 20xx for 00 through 68.
|
||||||
|
72-09-24 # Leading zeros are ignored.
|
||||||
|
9/24/72 # Common U.S. writing.
|
||||||
|
24 September 1972
|
||||||
|
24 Sept 72 # September has a special abbreviation.
|
||||||
|
24 Sep 72 # Three-letter abbreviations always allowed.
|
||||||
|
Sep 24, 1972
|
||||||
|
24-sep-72
|
||||||
|
24sep72
|
||||||
|
@end example
|
||||||
|
|
||||||
|
The year can also be omitted. In this case, the last specified year is
|
||||||
|
used, or the current year if none. For example:
|
||||||
|
|
||||||
|
@example
|
||||||
|
9/24
|
||||||
|
sep 24
|
||||||
|
@end example
|
||||||
|
|
||||||
|
Here are the rules.
|
||||||
|
|
||||||
|
@cindex @sc{iso} 8601 date format
|
||||||
|
@cindex date format, @sc{iso} 8601
|
||||||
|
For numeric months, the @sc{iso} 8601 format
|
||||||
|
@samp{@var{year}-@var{month}-@var{day}} is allowed, where @var{year} is
|
||||||
|
any positive number, @var{month} is a number between 01 and 12, and
|
||||||
|
@var{day} is a number between 01 and 31. A leading zero must be present
|
||||||
|
if a number is less than ten. If @var{year} is 68 or smaller, then 2000
|
||||||
|
is added to it; otherwise, if @var{year} is less than 100,
|
||||||
|
then 1900 is added to it. The construct
|
||||||
|
@samp{@var{month}/@var{day}/@var{year}}, popular in the United States,
|
||||||
|
is accepted. Also @samp{@var{month}/@var{day}}, omitting the year.
|
||||||
|
|
||||||
|
@cindex month names in date strings
|
||||||
|
@cindex abbreviations for months
|
||||||
|
Literal months may be spelled out in full: @samp{January},
|
||||||
|
@samp{February}, @samp{March}, @samp{April}, @samp{May}, @samp{June},
|
||||||
|
@samp{July}, @samp{August}, @samp{September}, @samp{October},
|
||||||
|
@samp{November} or @samp{December}. Literal months may be abbreviated
|
||||||
|
to their first three letters, possibly followed by an abbreviating dot.
|
||||||
|
It is also permitted to write @samp{Sept} instead of @samp{September}.
|
||||||
|
|
||||||
|
When months are written literally, the calendar date may be given as any
|
||||||
|
of the following:
|
||||||
|
|
||||||
|
@example
|
||||||
|
@var{day} @var{month} @var{year}
|
||||||
|
@var{day} @var{month}
|
||||||
|
@var{month} @var{day} @var{year}
|
||||||
|
@var{day}-@var{month}-@var{year}
|
||||||
|
@end example
|
||||||
|
|
||||||
|
Or, omitting the year:
|
||||||
|
|
||||||
|
@example
|
||||||
|
@var{month} @var{day}
|
||||||
|
@end example
|
||||||
|
|
||||||
|
|
||||||
|
@node Time of day items
|
||||||
|
@section Time of day items
|
||||||
|
|
||||||
|
@cindex time of day item
|
||||||
|
|
||||||
|
A @dfn{time of day item} in date strings specifies the time on a given
|
||||||
|
day. Here are some examples, all of which represent the same time:
|
||||||
|
|
||||||
|
@example
|
||||||
|
20:02:0
|
||||||
|
20:02
|
||||||
|
8:02pm
|
||||||
|
20:02-0500 # In @sc{est} (U.S. Eastern Standard Time).
|
||||||
|
@end example
|
||||||
|
|
||||||
|
More generally, the time of the day may be given as
|
||||||
|
@samp{@var{hour}:@var{minute}:@var{second}}, where @var{hour} is
|
||||||
|
a number between 0 and 23, @var{minute} is a number between 0 and
|
||||||
|
59, and @var{second} is a number between 0 and 59. Alternatively,
|
||||||
|
@samp{:@var{second}} can be omitted, in which case it is taken to
|
||||||
|
be zero.
|
||||||
|
|
||||||
|
@findex am @r{in date strings}
|
||||||
|
@findex pm @r{in date strings}
|
||||||
|
@findex midnight @r{in date strings}
|
||||||
|
@findex noon @r{in date strings}
|
||||||
|
If the time is followed by @samp{am} or @samp{pm} (or @samp{a.m.}
|
||||||
|
or @samp{p.m.}), @var{hour} is restricted to run from 1 to 12, and
|
||||||
|
@samp{:@var{minute}} may be omitted (taken to be zero). @samp{am}
|
||||||
|
indicates the first half of the day, @samp{pm} indicates the second
|
||||||
|
half of the day. In this notation, 12 is the predecessor of 1:
|
||||||
|
midnight is @samp{12am} while noon is @samp{12pm}.
|
||||||
|
(This is the zero-oriented interpretation of @samp{12am} and @samp{12pm},
|
||||||
|
as opposed to the old tradition derived from Latin
|
||||||
|
which uses @samp{12m} for noon and @samp{12pm} for midnight.)
|
||||||
|
|
||||||
|
@cindex time zone correction
|
||||||
|
@cindex minutes, time zone correction by
|
||||||
|
The time may alternatively be followed by a time zone correction,
|
||||||
|
expressed as @samp{@var{s}@var{hh}@var{mm}}, where @var{s} is @samp{+}
|
||||||
|
or @samp{-}, @var{hh} is a number of zone hours and @var{mm} is a number
|
||||||
|
of zone minutes. When a time zone correction is given this way, it
|
||||||
|
forces interpretation of the time relative to
|
||||||
|
Coordinated Universal Time (@sc{utc}), overriding any previous
|
||||||
|
specification for the time zone or the local time zone. The @var{minute}
|
||||||
|
part of the time of the day may not be elided when a time zone correction
|
||||||
|
is used. This is the best way to specify a time zone correction by
|
||||||
|
fractional parts of an hour.
|
||||||
|
|
||||||
|
Either @samp{am}/@samp{pm} or a time zone correction may be specified,
|
||||||
|
but not both.
|
||||||
|
|
||||||
|
|
||||||
|
@node Time zone items
|
||||||
|
@section Time zone items
|
||||||
|
|
||||||
|
@cindex time zone item
|
||||||
|
|
||||||
|
A @dfn{time zone item} specifies an international time zone, indicated
|
||||||
|
by a small set of letters, e.g., @samp{UTC} or @samp{Z}
|
||||||
|
for Coordinated Universal
|
||||||
|
Time. Any included periods are ignored. By following a
|
||||||
|
non-daylight-saving time zone by the string @samp{DST} in a separate
|
||||||
|
word (that is, separated by some white space), the corresponding
|
||||||
|
daylight saving time zone may be specified.
|
||||||
|
|
||||||
|
Time zone items other than @samp{UTC} and @samp{Z}
|
||||||
|
are obsolescent and are not recommended, because they
|
||||||
|
are ambiguous; for example, @samp{EST} has a different meaning in
|
||||||
|
Australia than in the United States. Instead, it's better to use
|
||||||
|
unambiguous numeric time zone corrections like @samp{-0500}, as
|
||||||
|
described in the previous section.
|
||||||
|
|
||||||
|
|
||||||
|
@node Day of week items
|
||||||
|
@section Day of week items
|
||||||
|
|
||||||
|
@cindex day of week item
|
||||||
|
|
||||||
|
The explicit mention of a day of the week will forward the date
|
||||||
|
(only if necessary) to reach that day of the week in the future.
|
||||||
|
|
||||||
|
Days of the week may be spelled out in full: @samp{Sunday},
|
||||||
|
@samp{Monday}, @samp{Tuesday}, @samp{Wednesday}, @samp{Thursday},
|
||||||
|
@samp{Friday} or @samp{Saturday}. Days may be abbreviated to their
|
||||||
|
first three letters, optionally followed by a period. The special
|
||||||
|
abbreviations @samp{Tues} for @samp{Tuesday}, @samp{Wednes} for
|
||||||
|
@samp{Wednesday} and @samp{Thur} or @samp{Thurs} for @samp{Thursday} are
|
||||||
|
also allowed.
|
||||||
|
|
||||||
|
@findex next @var{day}
|
||||||
|
@findex last @var{day}
|
||||||
|
A number may precede a day of the week item to move forward
|
||||||
|
supplementary weeks. It is best used in expression like @samp{third
|
||||||
|
monday}. In this context, @samp{last @var{day}} or @samp{next
|
||||||
|
@var{day}} is also acceptable; they move one week before or after
|
||||||
|
the day that @var{day} by itself would represent.
|
||||||
|
|
||||||
|
A comma following a day of the week item is ignored.
|
||||||
|
|
||||||
|
|
||||||
|
@node Relative items in date strings
|
||||||
|
@section Relative items in date strings
|
||||||
|
|
||||||
|
@cindex relative items in date strings
|
||||||
|
@cindex displacement of dates
|
||||||
|
|
||||||
|
@dfn{Relative items} adjust a date (or the current date if none) forward
|
||||||
|
or backward. The effects of relative items accumulate. Here are some
|
||||||
|
examples:
|
||||||
|
|
||||||
|
@example
|
||||||
|
1 year
|
||||||
|
1 year ago
|
||||||
|
3 years
|
||||||
|
2 days
|
||||||
|
@end example
|
||||||
|
|
||||||
|
@findex year @r{in date strings}
|
||||||
|
@findex month @r{in date strings}
|
||||||
|
@findex fortnight @r{in date strings}
|
||||||
|
@findex week @r{in date strings}
|
||||||
|
@findex day @r{in date strings}
|
||||||
|
@findex hour @r{in date strings}
|
||||||
|
@findex minute @r{in date strings}
|
||||||
|
The unit of time displacement may be selected by the string @samp{year}
|
||||||
|
or @samp{month} for moving by whole years or months. These are fuzzy
|
||||||
|
units, as years and months are not all of equal duration. More precise
|
||||||
|
units are @samp{fortnight} which is worth 14 days, @samp{week} worth 7
|
||||||
|
days, @samp{day} worth 24 hours, @samp{hour} worth 60 minutes,
|
||||||
|
@samp{minute} or @samp{min} worth 60 seconds, and @samp{second} or
|
||||||
|
@samp{sec} worth one second. An @samp{s} suffix on these units is
|
||||||
|
accepted and ignored.
|
||||||
|
|
||||||
|
@findex ago @r{in date strings}
|
||||||
|
The unit of time may be preceded by a multiplier, given as an optionally
|
||||||
|
signed number. Unsigned numbers are taken as positively signed. No
|
||||||
|
number at all implies 1 for a multiplier. Following a relative item by
|
||||||
|
the string @samp{ago} is equivalent to preceding the unit by a
|
||||||
|
multiplier with value @math{-1}.
|
||||||
|
|
||||||
|
@findex day @r{in date strings}
|
||||||
|
@findex tomorrow @r{in date strings}
|
||||||
|
@findex yesterday @r{in date strings}
|
||||||
|
The string @samp{tomorrow} is worth one day in the future (equivalent
|
||||||
|
to @samp{day}), the string @samp{yesterday} is worth
|
||||||
|
one day in the past (equivalent to @samp{day ago}).
|
||||||
|
|
||||||
|
@findex now @r{in date strings}
|
||||||
|
@findex today @r{in date strings}
|
||||||
|
@findex this @r{in date strings}
|
||||||
|
The strings @samp{now} or @samp{today} are relative items corresponding
|
||||||
|
to zero-valued time displacement, these strings come from the fact
|
||||||
|
a zero-valued time displacement represents the current time when not
|
||||||
|
otherwise changed by previous items. They may be used to stress other
|
||||||
|
items, like in @samp{12:00 today}. The string @samp{this} also has
|
||||||
|
the meaning of a zero-valued time displacement, but is preferred in
|
||||||
|
date strings like @samp{this thursday}.
|
||||||
|
|
||||||
|
When a relative item causes the resulting date to cross a boundary
|
||||||
|
where the clocks were adjusted, typically for daylight-saving time,
|
||||||
|
the resulting date and time are adjusted accordingly.
|
||||||
|
|
||||||
|
|
||||||
|
@node Pure numbers in date strings
|
||||||
|
@section Pure numbers in date strings
|
||||||
|
|
||||||
|
@cindex pure numbers in date strings
|
||||||
|
|
||||||
|
The precise interpretation of a pure decimal number depends
|
||||||
|
on the context in the date string.
|
||||||
|
|
||||||
|
If the decimal number is of the form @var{yyyy}@var{mm}@var{dd} and no
|
||||||
|
other calendar date item (@pxref{Calendar date items}) appears before it
|
||||||
|
in the date string, then @var{yyyy} is read as the year, @var{mm} as the
|
||||||
|
month number and @var{dd} as the day of the month, for the specified
|
||||||
|
calendar date.
|
||||||
|
|
||||||
|
If the decimal number is of the form @var{hh}@var{mm} and no other time
|
||||||
|
of day item appears before it in the date string, then @var{hh} is read
|
||||||
|
as the hour of the day and @var{mm} as the minute of the hour, for the
|
||||||
|
specified time of the day. @var{mm} can also be omitted.
|
||||||
|
|
||||||
|
If both a calendar date and a time of day appear to the left of a number
|
||||||
|
in the date string, but no relative item, then the number overrides the
|
||||||
|
year.
|
||||||
|
|
||||||
|
|
||||||
|
@node Authors of getdate
|
||||||
|
@section Authors of @code{getdate}
|
||||||
|
|
||||||
|
@cindex authors of @code{getdate}
|
||||||
|
|
||||||
|
@cindex Bellovin, Steven M.
|
||||||
|
@cindex Salz, Rich
|
||||||
|
@cindex Berets, Jim
|
||||||
|
@cindex MacKenzie, David
|
||||||
|
@cindex Meyering, Jim
|
||||||
|
@cindex Eggert, Paul
|
||||||
|
@code{getdate} was originally implemented by Steven M. Bellovin
|
||||||
|
(@email{smb@@research.att.com}) while at the University of North Carolina
|
||||||
|
at Chapel Hill. The code was later tweaked by a couple of people on
|
||||||
|
Usenet, then completely overhauled by Rich $alz (@email{rsalz@@bbn.com})
|
||||||
|
and Jim Berets (@email{jberets@@bbn.com}) in August, 1990. Various
|
||||||
|
revisions for the @sc{gnu} system were made by David MacKenzie, Jim Meyering,
|
||||||
|
Paul Eggert and others.
|
||||||
|
|
||||||
|
@cindex Pinard, F.
|
||||||
|
@cindex Berry, K.
|
||||||
|
This chapter was originally produced by Fran@,{c}ois Pinard
|
||||||
|
(@email{pinard@@iro.umontreal.ca}) from the @file{getdate.y} source code,
|
||||||
|
and then edited by K.@: Berry (@email{kb@@cs.umb.edu}).
|
||||||
@@ -0,0 +1,502 @@
|
|||||||
|
Each file has a set of @dfn{permissions} that control the kinds of
|
||||||
|
access that users have to that file. The permissions for a file are
|
||||||
|
also called its @dfn{access mode}. They can be represented either in
|
||||||
|
symbolic form or as an octal number.
|
||||||
|
|
||||||
|
@menu
|
||||||
|
* Mode Structure:: Structure of file permissions.
|
||||||
|
* Symbolic Modes:: Mnemonic permissions representation.
|
||||||
|
* Numeric Modes:: Permissions as octal numbers.
|
||||||
|
@end menu
|
||||||
|
|
||||||
|
@node Mode Structure
|
||||||
|
@section Structure of File Permissions
|
||||||
|
|
||||||
|
There are three kinds of permissions that a user can have for a file:
|
||||||
|
|
||||||
|
@enumerate
|
||||||
|
@item
|
||||||
|
@cindex read permission
|
||||||
|
permission to read the file. For directories, this means permission to
|
||||||
|
list the contents of the directory.
|
||||||
|
@item
|
||||||
|
@cindex write permission
|
||||||
|
permission to write to (change) the file. For directories, this means
|
||||||
|
permission to create and remove files in the directory.
|
||||||
|
@item
|
||||||
|
@cindex execute permission
|
||||||
|
permission to execute the file (run it as a program). For directories,
|
||||||
|
this means permission to access files in the directory.
|
||||||
|
@end enumerate
|
||||||
|
|
||||||
|
There are three categories of users who may have different permissions
|
||||||
|
to perform any of the above operations on a file:
|
||||||
|
|
||||||
|
@enumerate
|
||||||
|
@item
|
||||||
|
the file's owner;
|
||||||
|
@item
|
||||||
|
other users who are in the file's group;
|
||||||
|
@item
|
||||||
|
everyone else.
|
||||||
|
@end enumerate
|
||||||
|
|
||||||
|
@cindex owner, default
|
||||||
|
@cindex group owner, default
|
||||||
|
Files are given an owner and group when they are created. Usually the
|
||||||
|
owner is the current user and the group is the group of the directory
|
||||||
|
the file is in, but this varies with the operating system, the
|
||||||
|
filesystem the file is created on, and the way the file is created. You
|
||||||
|
can change the owner and group of a file by using the @command{chown} and
|
||||||
|
@command{chgrp} commands.
|
||||||
|
|
||||||
|
In addition to the three sets of three permissions listed above, a
|
||||||
|
file's permissions have three special components, which affect only
|
||||||
|
executable files (programs) and, on some systems, directories:
|
||||||
|
|
||||||
|
@enumerate
|
||||||
|
@item
|
||||||
|
@cindex setuid
|
||||||
|
set the process's effective user ID to that of the file upon execution
|
||||||
|
(called the @dfn{setuid bit}). No effect on directories.
|
||||||
|
@item
|
||||||
|
@cindex setgid
|
||||||
|
set the process's effective group ID to that of the file upon execution
|
||||||
|
(called the @dfn{setgid bit}). For directories on some systems, put
|
||||||
|
files created in the directory into the same group as the directory, no
|
||||||
|
matter what group the user who creates them is in.
|
||||||
|
@item
|
||||||
|
@cindex sticky
|
||||||
|
@cindex swap space, saving text image in
|
||||||
|
@cindex text image, saving in swap space
|
||||||
|
@cindex restricted deletion flag
|
||||||
|
save the program's text image on the swap device so it will load more
|
||||||
|
quickly when run (called the @dfn{sticky bit}). For directories on some
|
||||||
|
systems, prevent users from removing or renaming a file in a directory
|
||||||
|
unless they own the file or the directory; this is called the
|
||||||
|
@dfn{restricted deletion flag} for the directory.
|
||||||
|
@end enumerate
|
||||||
|
|
||||||
|
In addition to the permissions listed above, there may be file attributes
|
||||||
|
specific to the filesystem, e.g: access control lists (ACLs), whether a
|
||||||
|
file is compressed, whether a file can be modified (immutability), whether
|
||||||
|
a file can be dumped. These are usually set using programs
|
||||||
|
specific to the filesystem. For example:
|
||||||
|
@c should probably say a lot more about ACLs... someday
|
||||||
|
|
||||||
|
@table @asis
|
||||||
|
@item ext2
|
||||||
|
On GNU and Linux/GNU the file permissions (``attributes'') specific to
|
||||||
|
the ext2 filesystem are set using @command{chattr}.
|
||||||
|
|
||||||
|
@item FFS
|
||||||
|
On FreeBSD the file permissions (``flags'') specific to the FFS
|
||||||
|
filesystem are set using @command{chrflags}.
|
||||||
|
@end table
|
||||||
|
|
||||||
|
Although a file's permission ``bits'' allow an operation on that file,
|
||||||
|
that operation may still fail, because:
|
||||||
|
|
||||||
|
@itemize
|
||||||
|
@item
|
||||||
|
the filesystem-specific permissions do not permit it;
|
||||||
|
|
||||||
|
@item
|
||||||
|
the filesystem is mounted as read-only.
|
||||||
|
@end itemize
|
||||||
|
|
||||||
|
For example, if the immutable attribute is set on a file,
|
||||||
|
it cannot be modified, regardless of the fact that you
|
||||||
|
may have just run @code{chmod a+w FILE}.
|
||||||
|
|
||||||
|
@node Symbolic Modes
|
||||||
|
@section Symbolic Modes
|
||||||
|
|
||||||
|
@cindex symbolic modes
|
||||||
|
@dfn{Symbolic modes} represent changes to files' permissions as
|
||||||
|
operations on single-character symbols. They allow you to modify either
|
||||||
|
all or selected parts of files' permissions, optionally based on
|
||||||
|
their previous values, and perhaps on the current @code{umask} as well
|
||||||
|
(@pxref{Umask and Protection}).
|
||||||
|
|
||||||
|
The format of symbolic modes is:
|
||||||
|
|
||||||
|
@example
|
||||||
|
@r{[}ugoa@dots{}@r{][[}+-=@r{][}rwxXstugo@dots{}@r{]}@dots{}@r{][},@dots{}@r{]}
|
||||||
|
@end example
|
||||||
|
|
||||||
|
The following sections describe the operators and other details of
|
||||||
|
symbolic modes.
|
||||||
|
|
||||||
|
@menu
|
||||||
|
* Setting Permissions:: Basic operations on permissions.
|
||||||
|
* Copying Permissions:: Copying existing permissions.
|
||||||
|
* Changing Special Permissions:: Special permissions.
|
||||||
|
* Conditional Executability:: Conditionally affecting executability.
|
||||||
|
* Multiple Changes:: Making multiple changes.
|
||||||
|
* Umask and Protection:: The effect of the umask.
|
||||||
|
@end menu
|
||||||
|
|
||||||
|
@node Setting Permissions
|
||||||
|
@subsection Setting Permissions
|
||||||
|
|
||||||
|
The basic symbolic operations on a file's permissions are adding,
|
||||||
|
removing, and setting the permission that certain users have to read,
|
||||||
|
write, and execute the file. These operations have the following
|
||||||
|
format:
|
||||||
|
|
||||||
|
@example
|
||||||
|
@var{users} @var{operation} @var{permissions}
|
||||||
|
@end example
|
||||||
|
|
||||||
|
@noindent
|
||||||
|
The spaces between the three parts above are shown for readability only;
|
||||||
|
symbolic modes cannot contain spaces.
|
||||||
|
|
||||||
|
The @var{users} part tells which users' access to the file is changed.
|
||||||
|
It consists of one or more of the following letters (or it can be empty;
|
||||||
|
@pxref{Umask and Protection}, for a description of what happens then). When
|
||||||
|
more than one of these letters is given, the order that they are in does
|
||||||
|
not matter.
|
||||||
|
|
||||||
|
@table @code
|
||||||
|
@item u
|
||||||
|
@cindex owner of file, permissions for
|
||||||
|
the user who owns the file;
|
||||||
|
@item g
|
||||||
|
@cindex group, permissions for
|
||||||
|
other users who are in the file's group;
|
||||||
|
@item o
|
||||||
|
@cindex other permissions
|
||||||
|
all other users;
|
||||||
|
@item a
|
||||||
|
all users; the same as @samp{ugo}.
|
||||||
|
@end table
|
||||||
|
|
||||||
|
The @var{operation} part tells how to change the affected users' access
|
||||||
|
to the file, and is one of the following symbols:
|
||||||
|
|
||||||
|
@table @code
|
||||||
|
@item +
|
||||||
|
@cindex adding permissions
|
||||||
|
to add the @var{permissions} to whatever permissions the @var{users}
|
||||||
|
already have for the file;
|
||||||
|
@item -
|
||||||
|
@cindex removing permissions
|
||||||
|
@cindex subtracting permissions
|
||||||
|
to remove the @var{permissions} from whatever permissions the
|
||||||
|
@var{users} already have for the file;
|
||||||
|
@item =
|
||||||
|
@cindex setting permissions
|
||||||
|
to make the @var{permissions} the only permissions that the @var{users}
|
||||||
|
have for the file.
|
||||||
|
@end table
|
||||||
|
|
||||||
|
The @var{permissions} part tells what kind of access to the file should
|
||||||
|
be changed; it is zero or more of the following letters. As with the
|
||||||
|
@var{users} part, the order does not matter when more than one letter is
|
||||||
|
given. Omitting the @var{permissions} part is useful only with the
|
||||||
|
@samp{=} operation, where it gives the specified @var{users} no access
|
||||||
|
at all to the file.
|
||||||
|
|
||||||
|
@table @code
|
||||||
|
@item r
|
||||||
|
@cindex read permission, symbolic
|
||||||
|
the permission the @var{users} have to read the file;
|
||||||
|
@item w
|
||||||
|
@cindex write permission, symbolic
|
||||||
|
the permission the @var{users} have to write to the file;
|
||||||
|
@item x
|
||||||
|
@cindex execute permission, symbolic
|
||||||
|
the permission the @var{users} have to execute the file.
|
||||||
|
@end table
|
||||||
|
|
||||||
|
For example, to give everyone permission to read and write a file,
|
||||||
|
but not to execute it, use:
|
||||||
|
|
||||||
|
@example
|
||||||
|
a=rw
|
||||||
|
@end example
|
||||||
|
|
||||||
|
To remove write permission for from all users other than the file's
|
||||||
|
owner, use:
|
||||||
|
|
||||||
|
@example
|
||||||
|
go-w
|
||||||
|
@end example
|
||||||
|
|
||||||
|
@noindent
|
||||||
|
The above command does not affect the access that the owner of
|
||||||
|
the file has to it, nor does it affect whether other users can
|
||||||
|
read or execute the file.
|
||||||
|
|
||||||
|
To give everyone except a file's owner no permission to do anything with
|
||||||
|
that file, use the mode below. Other users could still remove the file,
|
||||||
|
if they have write permission on the directory it is in.
|
||||||
|
|
||||||
|
@example
|
||||||
|
go=
|
||||||
|
@end example
|
||||||
|
|
||||||
|
@noindent
|
||||||
|
Another way to specify the same thing is:
|
||||||
|
|
||||||
|
@example
|
||||||
|
og-rxw
|
||||||
|
@end example
|
||||||
|
|
||||||
|
@node Copying Permissions
|
||||||
|
@subsection Copying Existing Permissions
|
||||||
|
|
||||||
|
@cindex copying existing permissions
|
||||||
|
@cindex permissions, copying existing
|
||||||
|
You can base a file's permissions on its existing permissions. To do
|
||||||
|
this, instead of using @samp{r}, @samp{w}, or @samp{x} after the
|
||||||
|
operator, you use the letter @samp{u}, @samp{g}, or @samp{o}. For
|
||||||
|
example, the mode
|
||||||
|
@example
|
||||||
|
o+g
|
||||||
|
@end example
|
||||||
|
@noindent
|
||||||
|
adds the permissions for users who are in a file's group to the
|
||||||
|
permissions that other users have for the file. Thus, if the file
|
||||||
|
started out as mode 664 (@samp{rw-rw-r--}), the above mode would change
|
||||||
|
it to mode 666 (@samp{rw-rw-rw-}). If the file had started out as mode
|
||||||
|
741 (@samp{rwxr----x}), the above mode would change it to mode 745
|
||||||
|
(@samp{rwxr--r-x}). The @samp{-} and @samp{=} operations work
|
||||||
|
analogously.
|
||||||
|
|
||||||
|
@node Changing Special Permissions
|
||||||
|
@subsection Changing Special Permissions
|
||||||
|
|
||||||
|
@cindex changing special permissions
|
||||||
|
In addition to changing a file's read, write, and execute permissions,
|
||||||
|
you can change its special permissions. @xref{Mode Structure}, for a
|
||||||
|
summary of these permissions.
|
||||||
|
|
||||||
|
To change a file's permission to set the user ID on execution, use
|
||||||
|
@samp{u} in the @var{users} part of the symbolic mode and
|
||||||
|
@samp{s} in the @var{permissions} part.
|
||||||
|
|
||||||
|
To change a file's permission to set the group ID on execution, use
|
||||||
|
@samp{g} in the @var{users} part of the symbolic mode and
|
||||||
|
@samp{s} in the @var{permissions} part.
|
||||||
|
|
||||||
|
To change a file's permission to stay permanently on the swap device,
|
||||||
|
use @samp{o} in the @var{users} part of the symbolic mode and
|
||||||
|
@samp{t} in the @var{permissions} part.
|
||||||
|
|
||||||
|
For example, to add set user ID permission to a program,
|
||||||
|
you can use the mode:
|
||||||
|
|
||||||
|
@example
|
||||||
|
u+s
|
||||||
|
@end example
|
||||||
|
|
||||||
|
To remove both set user ID and set group ID permission from
|
||||||
|
it, you can use the mode:
|
||||||
|
|
||||||
|
@example
|
||||||
|
ug-s
|
||||||
|
@end example
|
||||||
|
|
||||||
|
To cause a program to be saved on the swap device, you can use
|
||||||
|
the mode:
|
||||||
|
|
||||||
|
@example
|
||||||
|
o+t
|
||||||
|
@end example
|
||||||
|
|
||||||
|
Remember that the special permissions only affect files that are
|
||||||
|
executable, plus, on some systems, directories (on which they have
|
||||||
|
different meanings; @pxref{Mode Structure}).
|
||||||
|
Also, the combinations @samp{u+t}, @samp{g+t}, and @samp{o+s} have no effect.
|
||||||
|
|
||||||
|
The @samp{=} operator is not very useful with special permissions; for
|
||||||
|
example, the mode:
|
||||||
|
|
||||||
|
@example
|
||||||
|
o=t
|
||||||
|
@end example
|
||||||
|
|
||||||
|
@noindent
|
||||||
|
does cause the file to be saved on the swap device, but it also
|
||||||
|
removes all read, write, and execute permissions that users not in the
|
||||||
|
file's group might have had for it.
|
||||||
|
|
||||||
|
@node Conditional Executability
|
||||||
|
@subsection Conditional Executability
|
||||||
|
|
||||||
|
@cindex conditional executability
|
||||||
|
There is one more special type of symbolic permission: if you use
|
||||||
|
@samp{X} instead of @samp{x}, execute permission is affected only if the
|
||||||
|
file already had execute permission or is a directory. It affects
|
||||||
|
directories' execute permission even if they did not initially have any
|
||||||
|
execute permissions set.
|
||||||
|
|
||||||
|
For example, this mode:
|
||||||
|
|
||||||
|
@example
|
||||||
|
a+X
|
||||||
|
@end example
|
||||||
|
|
||||||
|
@noindent
|
||||||
|
gives all users permission to execute files (or search directories) if
|
||||||
|
anyone could before.
|
||||||
|
|
||||||
|
@node Multiple Changes
|
||||||
|
@subsection Making Multiple Changes
|
||||||
|
|
||||||
|
@cindex multiple changes to permissions
|
||||||
|
The format of symbolic modes is actually more complex than described
|
||||||
|
above (@pxref{Setting Permissions}). It provides two ways to make
|
||||||
|
multiple changes to files' permissions.
|
||||||
|
|
||||||
|
The first way is to specify multiple @var{operation} and
|
||||||
|
@var{permissions} parts after a @var{users} part in the symbolic mode.
|
||||||
|
|
||||||
|
For example, the mode:
|
||||||
|
|
||||||
|
@example
|
||||||
|
og+rX-w
|
||||||
|
@end example
|
||||||
|
|
||||||
|
@noindent
|
||||||
|
gives users other than the owner of the file read permission and, if
|
||||||
|
it is a directory or if someone already had execute permission
|
||||||
|
to it, gives them execute permission; and it also denies them write
|
||||||
|
permission to the file. It does not affect the permission that the
|
||||||
|
owner of the file has for it. The above mode is equivalent to
|
||||||
|
the two modes:
|
||||||
|
|
||||||
|
@example
|
||||||
|
og+rX
|
||||||
|
og-w
|
||||||
|
@end example
|
||||||
|
|
||||||
|
The second way to make multiple changes is to specify more than one
|
||||||
|
simple symbolic mode, separated by commas. For example, the mode:
|
||||||
|
|
||||||
|
@example
|
||||||
|
a+r,go-w
|
||||||
|
@end example
|
||||||
|
|
||||||
|
@noindent
|
||||||
|
gives everyone permission to read the file and removes write
|
||||||
|
permission on it for all users except its owner. Another example:
|
||||||
|
|
||||||
|
@example
|
||||||
|
u=rwx,g=rx,o=
|
||||||
|
@end example
|
||||||
|
|
||||||
|
@noindent
|
||||||
|
sets all of the non-special permissions for the file explicitly. (It
|
||||||
|
gives users who are not in the file's group no permission at all for
|
||||||
|
it.)
|
||||||
|
|
||||||
|
The two methods can be combined. The mode:
|
||||||
|
|
||||||
|
@example
|
||||||
|
a+r,g+x-w
|
||||||
|
@end example
|
||||||
|
|
||||||
|
@noindent
|
||||||
|
gives all users permission to read the file, and gives users who are in
|
||||||
|
the file's group permission to execute it, as well, but not permission
|
||||||
|
to write to it. The above mode could be written in several different
|
||||||
|
ways; another is:
|
||||||
|
|
||||||
|
@example
|
||||||
|
u+r,g+rx,o+r,g-w
|
||||||
|
@end example
|
||||||
|
|
||||||
|
@node Umask and Protection
|
||||||
|
@subsection The Umask and Protection
|
||||||
|
|
||||||
|
@cindex umask and modes
|
||||||
|
@cindex modes and umask
|
||||||
|
If the @var{users} part of a symbolic mode is omitted, it defaults to
|
||||||
|
@samp{a} (affect all users), except that any permissions that are
|
||||||
|
@emph{set} in the system variable @code{umask} are @emph{not affected}.
|
||||||
|
The value of @code{umask} can be set using the
|
||||||
|
@code{umask} command. Its default value varies from system to system.
|
||||||
|
|
||||||
|
@cindex giving away permissions
|
||||||
|
Omitting the @var{users} part of a symbolic mode is generally not useful
|
||||||
|
with operations other than @samp{+}. It is useful with @samp{+} because
|
||||||
|
it allows you to use @code{umask} as an easily customizable protection
|
||||||
|
against giving away more permission to files than you intended to.
|
||||||
|
|
||||||
|
As an example, if @code{umask} has the value 2, which removes write
|
||||||
|
permission for users who are not in the file's group, then the mode:
|
||||||
|
|
||||||
|
@example
|
||||||
|
+w
|
||||||
|
@end example
|
||||||
|
|
||||||
|
@noindent
|
||||||
|
adds permission to write to the file to its owner and to other users who
|
||||||
|
are in the file's group, but @emph{not} to other users. In contrast,
|
||||||
|
the mode:
|
||||||
|
|
||||||
|
@example
|
||||||
|
a+w
|
||||||
|
@end example
|
||||||
|
|
||||||
|
@noindent
|
||||||
|
ignores @code{umask}, and @emph{does} give write permission for
|
||||||
|
the file to all users.
|
||||||
|
|
||||||
|
@node Numeric Modes
|
||||||
|
@section Numeric Modes
|
||||||
|
|
||||||
|
@cindex numeric modes
|
||||||
|
@cindex file permissions, numeric
|
||||||
|
@cindex octal numbers for file modes
|
||||||
|
File permissions are stored internally as integers. As an
|
||||||
|
alternative to giving a symbolic mode, you can give an octal (base 8)
|
||||||
|
number that corresponds to the internal representation of the new mode.
|
||||||
|
This number is always interpreted in octal; you do not have to add a
|
||||||
|
leading 0, as you do in C. Mode 0055 is the same as mode 55.
|
||||||
|
|
||||||
|
A numeric mode is usually shorter than the corresponding symbolic
|
||||||
|
mode, but it is limited in that it cannot take into account a file's
|
||||||
|
previous permissions; it can only set them absolutely.
|
||||||
|
|
||||||
|
On most systems, the permissions granted to the user,
|
||||||
|
to other users in the file's group,
|
||||||
|
and to other users not in the file's group are each stored as three
|
||||||
|
bits, which are represented as one octal digit. The three special
|
||||||
|
permissions are also each stored as one bit, and they are as a group
|
||||||
|
represented as another octal digit. Here is how the bits are arranged,
|
||||||
|
starting with the lowest valued bit:
|
||||||
|
|
||||||
|
@example
|
||||||
|
Value in Corresponding
|
||||||
|
Mode Permission
|
||||||
|
|
||||||
|
Other users not in the file's group:
|
||||||
|
1 Execute
|
||||||
|
2 Write
|
||||||
|
4 Read
|
||||||
|
|
||||||
|
Other users in the file's group:
|
||||||
|
10 Execute
|
||||||
|
20 Write
|
||||||
|
40 Read
|
||||||
|
|
||||||
|
The file's owner:
|
||||||
|
100 Execute
|
||||||
|
200 Write
|
||||||
|
400 Read
|
||||||
|
|
||||||
|
Special permissions:
|
||||||
|
1000 Save text image on swap device
|
||||||
|
2000 Set group ID on execution
|
||||||
|
4000 Set user ID on execution
|
||||||
|
@end example
|
||||||
|
|
||||||
|
For example, numeric mode 4755 corresponds to symbolic mode
|
||||||
|
@samp{u=rwxs,go=rx}, and numeric mode 664 corresponds to symbolic mode
|
||||||
|
@samp{ug=rw,o=r}. Numeric mode 0 corresponds to symbolic mode
|
||||||
|
@samp{ugo=}.
|
||||||
@@ -0,0 +1,4 @@
|
|||||||
|
@set UPDATED 2 April 2003
|
||||||
|
@set UPDATED-MONTH April 2003
|
||||||
|
@set EDITION 5.0
|
||||||
|
@set VERSION 5.0
|
||||||
@@ -0,0 +1,4 @@
|
|||||||
|
@set UPDATED 2 April 2003
|
||||||
|
@set UPDATED-MONTH April 2003
|
||||||
|
@set EDITION 5.0
|
||||||
|
@set VERSION 5.0
|
||||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,387 @@
|
|||||||
|
# Makefile.in generated by automake 1.7.3 from Makefile.am.
|
||||||
|
# m4/Makefile. Generated from Makefile.in by configure.
|
||||||
|
|
||||||
|
# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003
|
||||||
|
# Free Software Foundation, Inc.
|
||||||
|
# This Makefile.in is free software; the Free Software Foundation
|
||||||
|
# gives unlimited permission to copy and/or distribute it,
|
||||||
|
# with or without modifications, as long as this notice is preserved.
|
||||||
|
|
||||||
|
# This program is distributed in the hope that it will be useful,
|
||||||
|
# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
|
||||||
|
# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
|
||||||
|
# PARTICULAR PURPOSE.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
srcdir = .
|
||||||
|
top_srcdir = ..
|
||||||
|
|
||||||
|
pkgdatadir = $(datadir)/coreutils
|
||||||
|
pkglibdir = $(libdir)/coreutils
|
||||||
|
pkgincludedir = $(includedir)/coreutils
|
||||||
|
top_builddir = ..
|
||||||
|
|
||||||
|
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
|
||||||
|
INSTALL = /bin/install -c
|
||||||
|
install_sh_DATA = $(install_sh) -c -m 644
|
||||||
|
install_sh_PROGRAM = $(install_sh) -c
|
||||||
|
install_sh_SCRIPT = $(install_sh) -c
|
||||||
|
INSTALL_HEADER = $(INSTALL_DATA)
|
||||||
|
transform = $(program_transform_name)
|
||||||
|
NORMAL_INSTALL = :
|
||||||
|
PRE_INSTALL = :
|
||||||
|
POST_INSTALL = :
|
||||||
|
NORMAL_UNINSTALL = :
|
||||||
|
PRE_UNINSTALL = :
|
||||||
|
POST_UNINSTALL = :
|
||||||
|
host_triplet = i586-pc-beos
|
||||||
|
ACLOCAL = ${SHELL} /boot/home/Development/current/src/apps/bin/coreutils-5.0/config/missing --run aclocal-1.7
|
||||||
|
ALLOCA =
|
||||||
|
AMDEP_FALSE = #
|
||||||
|
AMDEP_TRUE =
|
||||||
|
AMTAR = ${SHELL} /boot/home/Development/current/src/apps/bin/coreutils-5.0/config/missing --run tar
|
||||||
|
AUTOCONF = ${SHELL} /boot/home/Development/current/src/apps/bin/coreutils-5.0/config/missing --run autoconf
|
||||||
|
AUTOHEADER = ${SHELL} /boot/home/Development/current/src/apps/bin/coreutils-5.0/config/missing --run autoheader
|
||||||
|
AUTOMAKE = ${SHELL} /boot/home/Development/current/src/apps/bin/coreutils-5.0/config/missing --run automake-1.7
|
||||||
|
AWK = gawk
|
||||||
|
CC = gcc
|
||||||
|
CCDEPMODE = depmode=gcc
|
||||||
|
CFLAGS = -g -O2
|
||||||
|
CPP = gcc -E
|
||||||
|
CPPFLAGS =
|
||||||
|
CYGPATH_W = echo
|
||||||
|
DEFS = -DHAVE_CONFIG_H
|
||||||
|
DEPDIR = .deps
|
||||||
|
DF_PROG =
|
||||||
|
ECHO_C =
|
||||||
|
ECHO_N = -n
|
||||||
|
ECHO_T =
|
||||||
|
EGREP = grep -E
|
||||||
|
EXEEXT =
|
||||||
|
FESETROUND_LIBM =
|
||||||
|
GETLOADAVG_LIBS =
|
||||||
|
GLIBC21 = no
|
||||||
|
GMSGFMT = :
|
||||||
|
GNU_PACKAGE = GNU coreutils
|
||||||
|
HELP2MAN = ${SHELL} /boot/home/Development/current/src/apps/bin/coreutils-5.0/config/missing --run help2man
|
||||||
|
INSTALL_DATA = ${INSTALL} -m 644
|
||||||
|
INSTALL_PROGRAM = ${INSTALL}
|
||||||
|
INSTALL_SCRIPT = ${INSTALL}
|
||||||
|
INSTALL_STRIP_PROGRAM = ${SHELL} $(install_sh) -c -s
|
||||||
|
INTLLIBS =
|
||||||
|
KMEM_GROUP =
|
||||||
|
LDFLAGS =
|
||||||
|
LIBICONV =
|
||||||
|
LIBINTL =
|
||||||
|
LIBOBJS = fileblocks$U.o mkdir$U.o fnmatch$U.o strnlen$U.o ftw$U.o tsearch$U.o lchown$U.o chown$U.o mktime$U.o nanosleep$U.o group-member$U.o putenv$U.o error$U.o __fpending$U.o rename$U.o getcwd$U.o canonicalize$U.o regex$U.o getloadavg$U.o getusershell$U.o sig2str$U.o euidaccess$U.o rpmatch$U.o strndup$U.o strverscmp$U.o getpass$U.o memrchr$U.o fchdir-stub$U.o
|
||||||
|
LIBS =
|
||||||
|
LIB_CLOCK_GETTIME =
|
||||||
|
LIB_CRYPT =
|
||||||
|
LIB_NANOSLEEP =
|
||||||
|
LN_S = ln -s
|
||||||
|
LTLIBICONV =
|
||||||
|
LTLIBINTL =
|
||||||
|
LTLIBOBJS = fileblocks$U.lo mkdir$U.lo fnmatch$U.lo strnlen$U.lo ftw$U.lo tsearch$U.lo lchown$U.lo chown$U.lo mktime$U.lo nanosleep$U.lo group-member$U.lo putenv$U.lo error$U.lo __fpending$U.lo rename$U.lo getcwd$U.lo canonicalize$U.lo regex$U.lo getloadavg$U.lo getusershell$U.lo sig2str$U.lo euidaccess$U.lo rpmatch$U.lo strndup$U.lo strverscmp$U.lo getpass$U.lo memrchr$U.lo fchdir-stub$U.lo
|
||||||
|
MAKEINFO = ${SHELL} /boot/home/Development/current/src/apps/bin/coreutils-5.0/config/missing --run makeinfo
|
||||||
|
MAN = uname.1 stty.1
|
||||||
|
MKINSTALLDIRS = config/mkinstalldirs
|
||||||
|
MSGFMT = :
|
||||||
|
MSGMERGE = :
|
||||||
|
NEED_SETGID = false
|
||||||
|
OBJEXT = o
|
||||||
|
OPTIONAL_BIN_PROGS = uname$(EXEEXT) stty$(EXEEXT)
|
||||||
|
OPTIONAL_BIN_ZCRIPTS =
|
||||||
|
PACKAGE = coreutils
|
||||||
|
PACKAGE_BUGREPORT = [email protected]
|
||||||
|
PACKAGE_NAME = GNU coreutils
|
||||||
|
PACKAGE_STRING = GNU coreutils 5.0
|
||||||
|
PACKAGE_TARNAME = coreutils
|
||||||
|
PACKAGE_VERSION = 5.0
|
||||||
|
PATH_SEPARATOR = :
|
||||||
|
PERL = perl
|
||||||
|
POSUB =
|
||||||
|
POW_LIB =
|
||||||
|
RANLIB = ranlib
|
||||||
|
SEQ_LIBM =
|
||||||
|
SET_MAKE =
|
||||||
|
SHELL = /bin/sh
|
||||||
|
SQRT_LIBM =
|
||||||
|
STRIP =
|
||||||
|
U =
|
||||||
|
USE_NLS = no
|
||||||
|
VERSION = 5.0
|
||||||
|
XGETTEXT = :
|
||||||
|
YACC = bison -y
|
||||||
|
ac_ct_CC = gcc
|
||||||
|
ac_ct_RANLIB = ranlib
|
||||||
|
ac_ct_STRIP =
|
||||||
|
am__fastdepCC_FALSE =
|
||||||
|
am__fastdepCC_TRUE = #
|
||||||
|
am__include = include
|
||||||
|
am__leading_dot = .
|
||||||
|
am__quote =
|
||||||
|
bindir = ${exec_prefix}/bin
|
||||||
|
build = i586-pc-beos
|
||||||
|
build_alias =
|
||||||
|
build_cpu = i586
|
||||||
|
build_os = beos
|
||||||
|
build_vendor = pc
|
||||||
|
datadir = ${prefix}/share
|
||||||
|
exec_prefix = ${prefix}
|
||||||
|
host = i586-pc-beos
|
||||||
|
host_alias =
|
||||||
|
host_cpu = i586
|
||||||
|
host_os = beos
|
||||||
|
host_vendor = pc
|
||||||
|
includedir = ${prefix}/include
|
||||||
|
infodir = ${prefix}/info
|
||||||
|
install_sh = /boot/home/Development/current/src/apps/bin/coreutils-5.0/config/install-sh
|
||||||
|
libdir = ${exec_prefix}/lib
|
||||||
|
libexecdir = ${exec_prefix}/libexec
|
||||||
|
localstatedir = ${prefix}/var
|
||||||
|
mandir = ${prefix}/man
|
||||||
|
oldincludedir = /usr/include
|
||||||
|
prefix = /usr/local
|
||||||
|
program_transform_name = s,x,x,
|
||||||
|
sbindir = ${exec_prefix}/sbin
|
||||||
|
sharedstatedir = ${prefix}/com
|
||||||
|
sysconfdir = ${prefix}/etc
|
||||||
|
target_alias =
|
||||||
|
|
||||||
|
EXTRA_DIST = \
|
||||||
|
README Makefile.am.in \
|
||||||
|
acl.m4 \
|
||||||
|
afs.m4 \
|
||||||
|
assert.m4 \
|
||||||
|
bison.m4 \
|
||||||
|
boottime.m4 \
|
||||||
|
c-stack.m4 \
|
||||||
|
canonicalize.m4 \
|
||||||
|
check-decl.m4 \
|
||||||
|
chown.m4 \
|
||||||
|
codeset.m4 \
|
||||||
|
d-ino.m4 \
|
||||||
|
d-type.m4 \
|
||||||
|
dirfd.m4 \
|
||||||
|
dos.m4 \
|
||||||
|
error.m4 \
|
||||||
|
fpending.m4 \
|
||||||
|
fstypename.m4 \
|
||||||
|
fsusage.m4 \
|
||||||
|
ftruncate.m4 \
|
||||||
|
ftw.m4 \
|
||||||
|
getcwd-path-max.m4 \
|
||||||
|
getcwd.m4 \
|
||||||
|
getgroups.m4 \
|
||||||
|
getline.m4 \
|
||||||
|
gettext.m4 \
|
||||||
|
gettimeofday.m4 \
|
||||||
|
glibc.m4 \
|
||||||
|
glibc21.m4 \
|
||||||
|
group-member.m4 \
|
||||||
|
host-os.m4 \
|
||||||
|
iconv.m4 \
|
||||||
|
intdiv0.m4 \
|
||||||
|
inttypes-pri.m4 \
|
||||||
|
inttypes.m4 \
|
||||||
|
isc-posix.m4 \
|
||||||
|
jm-glibc-io.m4 \
|
||||||
|
jm-macros.m4 \
|
||||||
|
jm-mktime.m4 \
|
||||||
|
jm-winsz1.m4 \
|
||||||
|
jm-winsz2.m4 \
|
||||||
|
lchown.m4 \
|
||||||
|
lcmessage.m4 \
|
||||||
|
lib-check.m4 \
|
||||||
|
lib-ld.m4 \
|
||||||
|
lib-link.m4 \
|
||||||
|
lib-prefix.m4 \
|
||||||
|
link-follow.m4 \
|
||||||
|
longlong.m4 \
|
||||||
|
ls-mntd-fs.m4 \
|
||||||
|
lstat.m4 \
|
||||||
|
mbrtowc.m4 \
|
||||||
|
mbswidth.m4 \
|
||||||
|
memcmp.m4 \
|
||||||
|
mkdir-slash.m4 \
|
||||||
|
mkstemp.m4 \
|
||||||
|
nanosleep.m4 \
|
||||||
|
onceonly.m4 \
|
||||||
|
open-max.m4 \
|
||||||
|
perl.m4 \
|
||||||
|
prereq.m4 \
|
||||||
|
progtest.m4 \
|
||||||
|
putenv.m4 \
|
||||||
|
regex.m4 \
|
||||||
|
rename.m4 \
|
||||||
|
restrict.m4 \
|
||||||
|
rmdir-errno.m4 \
|
||||||
|
search-libs.m4 \
|
||||||
|
st_dm_mode.m4 \
|
||||||
|
st_mtim.m4 \
|
||||||
|
stat.m4 \
|
||||||
|
stdbool.m4 \
|
||||||
|
strftime.m4 \
|
||||||
|
timespec.m4 \
|
||||||
|
unlink-busy.m4 \
|
||||||
|
uptime.m4 \
|
||||||
|
utimbuf.m4 \
|
||||||
|
utime.m4 \
|
||||||
|
utimes.m4 \
|
||||||
|
xstrtoimax.m4 \
|
||||||
|
xstrtoumax.m4
|
||||||
|
|
||||||
|
subdir = m4
|
||||||
|
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
|
||||||
|
mkinstalldirs = $(SHELL) $(top_srcdir)/config/mkinstalldirs
|
||||||
|
CONFIG_HEADER = $(top_builddir)/config.h
|
||||||
|
CONFIG_CLEAN_FILES =
|
||||||
|
DIST_SOURCES =
|
||||||
|
DIST_COMMON = README ChangeLog Makefile.am Makefile.in
|
||||||
|
all: all-am
|
||||||
|
|
||||||
|
.SUFFIXES:
|
||||||
|
$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.ac $(ACLOCAL_M4)
|
||||||
|
cd $(top_srcdir) && \
|
||||||
|
$(AUTOMAKE) --gnits m4/Makefile
|
||||||
|
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
|
||||||
|
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)
|
||||||
|
uninstall-info-am:
|
||||||
|
tags: TAGS
|
||||||
|
TAGS:
|
||||||
|
|
||||||
|
ctags: CTAGS
|
||||||
|
CTAGS:
|
||||||
|
|
||||||
|
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
|
||||||
|
|
||||||
|
top_distdir = ..
|
||||||
|
distdir = $(top_distdir)/$(PACKAGE)-$(VERSION)
|
||||||
|
|
||||||
|
distdir: $(DISTFILES)
|
||||||
|
@srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
|
||||||
|
topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
|
||||||
|
list='$(DISTFILES)'; for file in $$list; do \
|
||||||
|
case $$file in \
|
||||||
|
$(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
|
||||||
|
$(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
|
||||||
|
esac; \
|
||||||
|
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
|
||||||
|
dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
|
||||||
|
if test "$$dir" != "$$file" && test "$$dir" != "."; then \
|
||||||
|
dir="/$$dir"; \
|
||||||
|
$(mkinstalldirs) "$(distdir)$$dir"; \
|
||||||
|
else \
|
||||||
|
dir=''; \
|
||||||
|
fi; \
|
||||||
|
if test -d $$d/$$file; then \
|
||||||
|
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
|
||||||
|
cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
|
||||||
|
fi; \
|
||||||
|
cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
|
||||||
|
else \
|
||||||
|
test -f $(distdir)/$$file \
|
||||||
|
|| cp -p $$d/$$file $(distdir)/$$file \
|
||||||
|
|| exit 1; \
|
||||||
|
fi; \
|
||||||
|
done
|
||||||
|
check-am: all-am
|
||||||
|
check: check-am
|
||||||
|
all-am: Makefile
|
||||||
|
|
||||||
|
installdirs:
|
||||||
|
|
||||||
|
install: install-am
|
||||||
|
install-exec: install-exec-am
|
||||||
|
install-data: install-data-am
|
||||||
|
uninstall: uninstall-am
|
||||||
|
|
||||||
|
install-am: all-am
|
||||||
|
@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
|
||||||
|
|
||||||
|
installcheck: installcheck-am
|
||||||
|
install-strip:
|
||||||
|
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
|
||||||
|
INSTALL_STRIP_FLAG=-s \
|
||||||
|
`test -z '$(STRIP)' || \
|
||||||
|
echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
|
||||||
|
mostlyclean-generic:
|
||||||
|
|
||||||
|
clean-generic:
|
||||||
|
|
||||||
|
distclean-generic:
|
||||||
|
-rm -f Makefile $(CONFIG_CLEAN_FILES)
|
||||||
|
|
||||||
|
maintainer-clean-generic:
|
||||||
|
@echo "This command is intended for maintainers to use"
|
||||||
|
@echo "it deletes files that may require special tools to rebuild."
|
||||||
|
clean: clean-am
|
||||||
|
|
||||||
|
clean-am: clean-generic mostlyclean-am
|
||||||
|
|
||||||
|
distclean: distclean-am
|
||||||
|
|
||||||
|
distclean-am: clean-am distclean-generic
|
||||||
|
|
||||||
|
dvi: dvi-am
|
||||||
|
|
||||||
|
dvi-am:
|
||||||
|
|
||||||
|
info: info-am
|
||||||
|
|
||||||
|
info-am:
|
||||||
|
|
||||||
|
install-data-am:
|
||||||
|
|
||||||
|
install-exec-am:
|
||||||
|
|
||||||
|
install-info: install-info-am
|
||||||
|
|
||||||
|
install-man:
|
||||||
|
|
||||||
|
installcheck-am:
|
||||||
|
|
||||||
|
maintainer-clean: maintainer-clean-am
|
||||||
|
|
||||||
|
maintainer-clean-am: distclean-am maintainer-clean-generic
|
||||||
|
|
||||||
|
mostlyclean: mostlyclean-am
|
||||||
|
|
||||||
|
mostlyclean-am: mostlyclean-generic
|
||||||
|
|
||||||
|
pdf: pdf-am
|
||||||
|
|
||||||
|
pdf-am:
|
||||||
|
|
||||||
|
ps: ps-am
|
||||||
|
|
||||||
|
ps-am:
|
||||||
|
|
||||||
|
uninstall-am: uninstall-info-am
|
||||||
|
|
||||||
|
.PHONY: all all-am check check-am clean clean-generic distclean \
|
||||||
|
distclean-generic distdir dvi dvi-am info info-am install \
|
||||||
|
install-am install-data install-data-am install-exec \
|
||||||
|
install-exec-am install-info install-info-am install-man \
|
||||||
|
install-strip installcheck installcheck-am installdirs \
|
||||||
|
maintainer-clean maintainer-clean-generic mostlyclean \
|
||||||
|
mostlyclean-generic pdf pdf-am ps ps-am uninstall uninstall-am \
|
||||||
|
uninstall-info-am
|
||||||
|
|
||||||
|
|
||||||
|
Makefile.am: Makefile.am.in
|
||||||
|
rm -f $@ $@t
|
||||||
|
sed -n '1,/^##m4-files-begin/p' $< > $@t
|
||||||
|
(((echo EXTRA_DIST =; \
|
||||||
|
echo " README Makefile.am.in" \
|
||||||
|
) | tr '\012' @); \
|
||||||
|
(echo *.m4|tr ' ' @) ) \
|
||||||
|
|sed 's/@$$/%/;s/@/ \\@/g' |tr @% '\012\012' \
|
||||||
|
>> $@t
|
||||||
|
sed -n '/^##m4-files-end/,$$p' $< >> $@t
|
||||||
|
chmod a-w $@t
|
||||||
|
mv $@t $@
|
||||||
|
# Tell versions [3.59,3.63) of GNU make to not export all variables.
|
||||||
|
# Otherwise a system limit (for SysV at least) may be exceeded.
|
||||||
|
.NOEXPORT:
|
||||||
@@ -0,0 +1,99 @@
|
|||||||
|
## Process this file with automake to produce Makefile.in -*-Makefile-*-
|
||||||
|
|
||||||
|
##m4-files-begin
|
||||||
|
EXTRA_DIST = \
|
||||||
|
README Makefile.am.in \
|
||||||
|
acl.m4 \
|
||||||
|
afs.m4 \
|
||||||
|
assert.m4 \
|
||||||
|
bison.m4 \
|
||||||
|
boottime.m4 \
|
||||||
|
c-stack.m4 \
|
||||||
|
canonicalize.m4 \
|
||||||
|
check-decl.m4 \
|
||||||
|
chown.m4 \
|
||||||
|
codeset.m4 \
|
||||||
|
d-ino.m4 \
|
||||||
|
d-type.m4 \
|
||||||
|
dirfd.m4 \
|
||||||
|
dos.m4 \
|
||||||
|
error.m4 \
|
||||||
|
fpending.m4 \
|
||||||
|
fstypename.m4 \
|
||||||
|
fsusage.m4 \
|
||||||
|
ftruncate.m4 \
|
||||||
|
ftw.m4 \
|
||||||
|
getcwd-path-max.m4 \
|
||||||
|
getcwd.m4 \
|
||||||
|
getgroups.m4 \
|
||||||
|
getline.m4 \
|
||||||
|
gettext.m4 \
|
||||||
|
gettimeofday.m4 \
|
||||||
|
glibc.m4 \
|
||||||
|
glibc21.m4 \
|
||||||
|
group-member.m4 \
|
||||||
|
host-os.m4 \
|
||||||
|
iconv.m4 \
|
||||||
|
intdiv0.m4 \
|
||||||
|
inttypes-pri.m4 \
|
||||||
|
inttypes.m4 \
|
||||||
|
isc-posix.m4 \
|
||||||
|
jm-glibc-io.m4 \
|
||||||
|
jm-macros.m4 \
|
||||||
|
jm-mktime.m4 \
|
||||||
|
jm-winsz1.m4 \
|
||||||
|
jm-winsz2.m4 \
|
||||||
|
lchown.m4 \
|
||||||
|
lcmessage.m4 \
|
||||||
|
lib-check.m4 \
|
||||||
|
lib-ld.m4 \
|
||||||
|
lib-link.m4 \
|
||||||
|
lib-prefix.m4 \
|
||||||
|
link-follow.m4 \
|
||||||
|
longlong.m4 \
|
||||||
|
ls-mntd-fs.m4 \
|
||||||
|
lstat.m4 \
|
||||||
|
mbrtowc.m4 \
|
||||||
|
mbswidth.m4 \
|
||||||
|
memcmp.m4 \
|
||||||
|
mkdir-slash.m4 \
|
||||||
|
mkstemp.m4 \
|
||||||
|
nanosleep.m4 \
|
||||||
|
onceonly.m4 \
|
||||||
|
open-max.m4 \
|
||||||
|
perl.m4 \
|
||||||
|
prereq.m4 \
|
||||||
|
progtest.m4 \
|
||||||
|
putenv.m4 \
|
||||||
|
regex.m4 \
|
||||||
|
rename.m4 \
|
||||||
|
restrict.m4 \
|
||||||
|
rmdir-errno.m4 \
|
||||||
|
search-libs.m4 \
|
||||||
|
st_dm_mode.m4 \
|
||||||
|
st_mtim.m4 \
|
||||||
|
stat.m4 \
|
||||||
|
stdbool.m4 \
|
||||||
|
strftime.m4 \
|
||||||
|
timespec.m4 \
|
||||||
|
unlink-busy.m4 \
|
||||||
|
uptime.m4 \
|
||||||
|
utimbuf.m4 \
|
||||||
|
utime.m4 \
|
||||||
|
utimes.m4 \
|
||||||
|
xstrtoimax.m4 \
|
||||||
|
xstrtoumax.m4
|
||||||
|
##m4-files-end
|
||||||
|
|
||||||
|
Makefile.am: Makefile.am.in
|
||||||
|
rm -f $@ $@t
|
||||||
|
sed -n '1,/^##m4-files-begin/p' $< > $@t
|
||||||
|
(((echo EXTRA_DIST =; \
|
||||||
|
echo " README Makefile.am.in" \
|
||||||
|
) | tr '\012' @); \
|
||||||
|
(echo *.m4|tr ' ' @) ) \
|
||||||
|
|sed 's/@$$/%/;s/@/ \\@/g' |tr @% '\012\012' \
|
||||||
|
>> $@t
|
||||||
|
sed -n '/^##m4-files-end/,$$p' $< >> $@t
|
||||||
|
chmod a-w $@t
|
||||||
|
mv $@t $@
|
||||||
@@ -0,0 +1,17 @@
|
|||||||
|
## Process this file with automake to produce Makefile.in -*-Makefile-*-
|
||||||
|
|
||||||
|
##m4-files-begin
|
||||||
|
##m4-files-end
|
||||||
|
|
||||||
|
Makefile.am: Makefile.am.in
|
||||||
|
rm -f $@ $@t
|
||||||
|
sed -n '1,/^##m4-files-begin/p' $< > $@t
|
||||||
|
(((echo EXTRA_DIST =; \
|
||||||
|
echo " README Makefile.am.in" \
|
||||||
|
) | tr '\012' @); \
|
||||||
|
(echo *.m4|tr ' ' @) ) \
|
||||||
|
|sed 's/@$$/%/;s/@/ \\@/g' |tr @% '\012\012' \
|
||||||
|
>> $@t
|
||||||
|
sed -n '/^##m4-files-end/,$$p' $< >> $@t
|
||||||
|
chmod a-w $@t
|
||||||
|
mv $@t $@
|
||||||
@@ -0,0 +1,387 @@
|
|||||||
|
# Makefile.in generated by automake 1.7.3 from Makefile.am.
|
||||||
|
# @configure_input@
|
||||||
|
|
||||||
|
# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003
|
||||||
|
# Free Software Foundation, Inc.
|
||||||
|
# This Makefile.in is free software; the Free Software Foundation
|
||||||
|
# gives unlimited permission to copy and/or distribute it,
|
||||||
|
# with or without modifications, as long as this notice is preserved.
|
||||||
|
|
||||||
|
# This program is distributed in the hope that it will be useful,
|
||||||
|
# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
|
||||||
|
# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
|
||||||
|
# PARTICULAR PURPOSE.
|
||||||
|
|
||||||
|
@SET_MAKE@
|
||||||
|
|
||||||
|
srcdir = @srcdir@
|
||||||
|
top_srcdir = @top_srcdir@
|
||||||
|
VPATH = @srcdir@
|
||||||
|
pkgdatadir = $(datadir)/@PACKAGE@
|
||||||
|
pkglibdir = $(libdir)/@PACKAGE@
|
||||||
|
pkgincludedir = $(includedir)/@PACKAGE@
|
||||||
|
top_builddir = ..
|
||||||
|
|
||||||
|
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
|
||||||
|
INSTALL = @INSTALL@
|
||||||
|
install_sh_DATA = $(install_sh) -c -m 644
|
||||||
|
install_sh_PROGRAM = $(install_sh) -c
|
||||||
|
install_sh_SCRIPT = $(install_sh) -c
|
||||||
|
INSTALL_HEADER = $(INSTALL_DATA)
|
||||||
|
transform = $(program_transform_name)
|
||||||
|
NORMAL_INSTALL = :
|
||||||
|
PRE_INSTALL = :
|
||||||
|
POST_INSTALL = :
|
||||||
|
NORMAL_UNINSTALL = :
|
||||||
|
PRE_UNINSTALL = :
|
||||||
|
POST_UNINSTALL = :
|
||||||
|
host_triplet = @host@
|
||||||
|
ACLOCAL = @ACLOCAL@
|
||||||
|
ALLOCA = @ALLOCA@
|
||||||
|
AMDEP_FALSE = @AMDEP_FALSE@
|
||||||
|
AMDEP_TRUE = @AMDEP_TRUE@
|
||||||
|
AMTAR = @AMTAR@
|
||||||
|
AUTOCONF = @AUTOCONF@
|
||||||
|
AUTOHEADER = @AUTOHEADER@
|
||||||
|
AUTOMAKE = @AUTOMAKE@
|
||||||
|
AWK = @AWK@
|
||||||
|
CC = @CC@
|
||||||
|
CCDEPMODE = @CCDEPMODE@
|
||||||
|
CFLAGS = @CFLAGS@
|
||||||
|
CPP = @CPP@
|
||||||
|
CPPFLAGS = @CPPFLAGS@
|
||||||
|
CYGPATH_W = @CYGPATH_W@
|
||||||
|
DEFS = @DEFS@
|
||||||
|
DEPDIR = @DEPDIR@
|
||||||
|
DF_PROG = @DF_PROG@
|
||||||
|
ECHO_C = @ECHO_C@
|
||||||
|
ECHO_N = @ECHO_N@
|
||||||
|
ECHO_T = @ECHO_T@
|
||||||
|
EGREP = @EGREP@
|
||||||
|
EXEEXT = @EXEEXT@
|
||||||
|
FESETROUND_LIBM = @FESETROUND_LIBM@
|
||||||
|
GETLOADAVG_LIBS = @GETLOADAVG_LIBS@
|
||||||
|
GLIBC21 = @GLIBC21@
|
||||||
|
GMSGFMT = @GMSGFMT@
|
||||||
|
GNU_PACKAGE = @GNU_PACKAGE@
|
||||||
|
HELP2MAN = @HELP2MAN@
|
||||||
|
INSTALL_DATA = @INSTALL_DATA@
|
||||||
|
INSTALL_PROGRAM = @INSTALL_PROGRAM@
|
||||||
|
INSTALL_SCRIPT = @INSTALL_SCRIPT@
|
||||||
|
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
|
||||||
|
INTLLIBS = @INTLLIBS@
|
||||||
|
KMEM_GROUP = @KMEM_GROUP@
|
||||||
|
LDFLAGS = @LDFLAGS@
|
||||||
|
LIBICONV = @LIBICONV@
|
||||||
|
LIBINTL = @LIBINTL@
|
||||||
|
LIBOBJS = @LIBOBJS@
|
||||||
|
LIBS = @LIBS@
|
||||||
|
LIB_CLOCK_GETTIME = @LIB_CLOCK_GETTIME@
|
||||||
|
LIB_CRYPT = @LIB_CRYPT@
|
||||||
|
LIB_NANOSLEEP = @LIB_NANOSLEEP@
|
||||||
|
LN_S = @LN_S@
|
||||||
|
LTLIBICONV = @LTLIBICONV@
|
||||||
|
LTLIBINTL = @LTLIBINTL@
|
||||||
|
LTLIBOBJS = @LTLIBOBJS@
|
||||||
|
MAKEINFO = @MAKEINFO@
|
||||||
|
MAN = @MAN@
|
||||||
|
MKINSTALLDIRS = @MKINSTALLDIRS@
|
||||||
|
MSGFMT = @MSGFMT@
|
||||||
|
MSGMERGE = @MSGMERGE@
|
||||||
|
NEED_SETGID = @NEED_SETGID@
|
||||||
|
OBJEXT = @OBJEXT@
|
||||||
|
OPTIONAL_BIN_PROGS = @OPTIONAL_BIN_PROGS@
|
||||||
|
OPTIONAL_BIN_ZCRIPTS = @OPTIONAL_BIN_ZCRIPTS@
|
||||||
|
PACKAGE = @PACKAGE@
|
||||||
|
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
|
||||||
|
PACKAGE_NAME = @PACKAGE_NAME@
|
||||||
|
PACKAGE_STRING = @PACKAGE_STRING@
|
||||||
|
PACKAGE_TARNAME = @PACKAGE_TARNAME@
|
||||||
|
PACKAGE_VERSION = @PACKAGE_VERSION@
|
||||||
|
PATH_SEPARATOR = @PATH_SEPARATOR@
|
||||||
|
PERL = @PERL@
|
||||||
|
POSUB = @POSUB@
|
||||||
|
POW_LIB = @POW_LIB@
|
||||||
|
RANLIB = @RANLIB@
|
||||||
|
SEQ_LIBM = @SEQ_LIBM@
|
||||||
|
SET_MAKE = @SET_MAKE@
|
||||||
|
SHELL = @SHELL@
|
||||||
|
SQRT_LIBM = @SQRT_LIBM@
|
||||||
|
STRIP = @STRIP@
|
||||||
|
U = @U@
|
||||||
|
USE_NLS = @USE_NLS@
|
||||||
|
VERSION = @VERSION@
|
||||||
|
XGETTEXT = @XGETTEXT@
|
||||||
|
YACC = @YACC@
|
||||||
|
ac_ct_CC = @ac_ct_CC@
|
||||||
|
ac_ct_RANLIB = @ac_ct_RANLIB@
|
||||||
|
ac_ct_STRIP = @ac_ct_STRIP@
|
||||||
|
am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
|
||||||
|
am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
|
||||||
|
am__include = @am__include@
|
||||||
|
am__leading_dot = @am__leading_dot@
|
||||||
|
am__quote = @am__quote@
|
||||||
|
bindir = @bindir@
|
||||||
|
build = @build@
|
||||||
|
build_alias = @build_alias@
|
||||||
|
build_cpu = @build_cpu@
|
||||||
|
build_os = @build_os@
|
||||||
|
build_vendor = @build_vendor@
|
||||||
|
datadir = @datadir@
|
||||||
|
exec_prefix = @exec_prefix@
|
||||||
|
host = @host@
|
||||||
|
host_alias = @host_alias@
|
||||||
|
host_cpu = @host_cpu@
|
||||||
|
host_os = @host_os@
|
||||||
|
host_vendor = @host_vendor@
|
||||||
|
includedir = @includedir@
|
||||||
|
infodir = @infodir@
|
||||||
|
install_sh = @install_sh@
|
||||||
|
libdir = @libdir@
|
||||||
|
libexecdir = @libexecdir@
|
||||||
|
localstatedir = @localstatedir@
|
||||||
|
mandir = @mandir@
|
||||||
|
oldincludedir = @oldincludedir@
|
||||||
|
prefix = @prefix@
|
||||||
|
program_transform_name = @program_transform_name@
|
||||||
|
sbindir = @sbindir@
|
||||||
|
sharedstatedir = @sharedstatedir@
|
||||||
|
sysconfdir = @sysconfdir@
|
||||||
|
target_alias = @target_alias@
|
||||||
|
|
||||||
|
EXTRA_DIST = \
|
||||||
|
README Makefile.am.in \
|
||||||
|
acl.m4 \
|
||||||
|
afs.m4 \
|
||||||
|
assert.m4 \
|
||||||
|
bison.m4 \
|
||||||
|
boottime.m4 \
|
||||||
|
c-stack.m4 \
|
||||||
|
canonicalize.m4 \
|
||||||
|
check-decl.m4 \
|
||||||
|
chown.m4 \
|
||||||
|
codeset.m4 \
|
||||||
|
d-ino.m4 \
|
||||||
|
d-type.m4 \
|
||||||
|
dirfd.m4 \
|
||||||
|
dos.m4 \
|
||||||
|
error.m4 \
|
||||||
|
fpending.m4 \
|
||||||
|
fstypename.m4 \
|
||||||
|
fsusage.m4 \
|
||||||
|
ftruncate.m4 \
|
||||||
|
ftw.m4 \
|
||||||
|
getcwd-path-max.m4 \
|
||||||
|
getcwd.m4 \
|
||||||
|
getgroups.m4 \
|
||||||
|
getline.m4 \
|
||||||
|
gettext.m4 \
|
||||||
|
gettimeofday.m4 \
|
||||||
|
glibc.m4 \
|
||||||
|
glibc21.m4 \
|
||||||
|
group-member.m4 \
|
||||||
|
host-os.m4 \
|
||||||
|
iconv.m4 \
|
||||||
|
intdiv0.m4 \
|
||||||
|
inttypes-pri.m4 \
|
||||||
|
inttypes.m4 \
|
||||||
|
isc-posix.m4 \
|
||||||
|
jm-glibc-io.m4 \
|
||||||
|
jm-macros.m4 \
|
||||||
|
jm-mktime.m4 \
|
||||||
|
jm-winsz1.m4 \
|
||||||
|
jm-winsz2.m4 \
|
||||||
|
lchown.m4 \
|
||||||
|
lcmessage.m4 \
|
||||||
|
lib-check.m4 \
|
||||||
|
lib-ld.m4 \
|
||||||
|
lib-link.m4 \
|
||||||
|
lib-prefix.m4 \
|
||||||
|
link-follow.m4 \
|
||||||
|
longlong.m4 \
|
||||||
|
ls-mntd-fs.m4 \
|
||||||
|
lstat.m4 \
|
||||||
|
mbrtowc.m4 \
|
||||||
|
mbswidth.m4 \
|
||||||
|
memcmp.m4 \
|
||||||
|
mkdir-slash.m4 \
|
||||||
|
mkstemp.m4 \
|
||||||
|
nanosleep.m4 \
|
||||||
|
onceonly.m4 \
|
||||||
|
open-max.m4 \
|
||||||
|
perl.m4 \
|
||||||
|
prereq.m4 \
|
||||||
|
progtest.m4 \
|
||||||
|
putenv.m4 \
|
||||||
|
regex.m4 \
|
||||||
|
rename.m4 \
|
||||||
|
restrict.m4 \
|
||||||
|
rmdir-errno.m4 \
|
||||||
|
search-libs.m4 \
|
||||||
|
st_dm_mode.m4 \
|
||||||
|
st_mtim.m4 \
|
||||||
|
stat.m4 \
|
||||||
|
stdbool.m4 \
|
||||||
|
strftime.m4 \
|
||||||
|
timespec.m4 \
|
||||||
|
unlink-busy.m4 \
|
||||||
|
uptime.m4 \
|
||||||
|
utimbuf.m4 \
|
||||||
|
utime.m4 \
|
||||||
|
utimes.m4 \
|
||||||
|
xstrtoimax.m4 \
|
||||||
|
xstrtoumax.m4
|
||||||
|
|
||||||
|
subdir = m4
|
||||||
|
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
|
||||||
|
mkinstalldirs = $(SHELL) $(top_srcdir)/config/mkinstalldirs
|
||||||
|
CONFIG_HEADER = $(top_builddir)/config.h
|
||||||
|
CONFIG_CLEAN_FILES =
|
||||||
|
DIST_SOURCES =
|
||||||
|
DIST_COMMON = README ChangeLog Makefile.am Makefile.in
|
||||||
|
all: all-am
|
||||||
|
|
||||||
|
.SUFFIXES:
|
||||||
|
$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.ac $(ACLOCAL_M4)
|
||||||
|
cd $(top_srcdir) && \
|
||||||
|
$(AUTOMAKE) --gnits m4/Makefile
|
||||||
|
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
|
||||||
|
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)
|
||||||
|
uninstall-info-am:
|
||||||
|
tags: TAGS
|
||||||
|
TAGS:
|
||||||
|
|
||||||
|
ctags: CTAGS
|
||||||
|
CTAGS:
|
||||||
|
|
||||||
|
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
|
||||||
|
|
||||||
|
top_distdir = ..
|
||||||
|
distdir = $(top_distdir)/$(PACKAGE)-$(VERSION)
|
||||||
|
|
||||||
|
distdir: $(DISTFILES)
|
||||||
|
@srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
|
||||||
|
topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
|
||||||
|
list='$(DISTFILES)'; for file in $$list; do \
|
||||||
|
case $$file in \
|
||||||
|
$(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
|
||||||
|
$(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
|
||||||
|
esac; \
|
||||||
|
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
|
||||||
|
dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
|
||||||
|
if test "$$dir" != "$$file" && test "$$dir" != "."; then \
|
||||||
|
dir="/$$dir"; \
|
||||||
|
$(mkinstalldirs) "$(distdir)$$dir"; \
|
||||||
|
else \
|
||||||
|
dir=''; \
|
||||||
|
fi; \
|
||||||
|
if test -d $$d/$$file; then \
|
||||||
|
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
|
||||||
|
cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
|
||||||
|
fi; \
|
||||||
|
cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
|
||||||
|
else \
|
||||||
|
test -f $(distdir)/$$file \
|
||||||
|
|| cp -p $$d/$$file $(distdir)/$$file \
|
||||||
|
|| exit 1; \
|
||||||
|
fi; \
|
||||||
|
done
|
||||||
|
check-am: all-am
|
||||||
|
check: check-am
|
||||||
|
all-am: Makefile
|
||||||
|
|
||||||
|
installdirs:
|
||||||
|
|
||||||
|
install: install-am
|
||||||
|
install-exec: install-exec-am
|
||||||
|
install-data: install-data-am
|
||||||
|
uninstall: uninstall-am
|
||||||
|
|
||||||
|
install-am: all-am
|
||||||
|
@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
|
||||||
|
|
||||||
|
installcheck: installcheck-am
|
||||||
|
install-strip:
|
||||||
|
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
|
||||||
|
INSTALL_STRIP_FLAG=-s \
|
||||||
|
`test -z '$(STRIP)' || \
|
||||||
|
echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
|
||||||
|
mostlyclean-generic:
|
||||||
|
|
||||||
|
clean-generic:
|
||||||
|
|
||||||
|
distclean-generic:
|
||||||
|
-rm -f Makefile $(CONFIG_CLEAN_FILES)
|
||||||
|
|
||||||
|
maintainer-clean-generic:
|
||||||
|
@echo "This command is intended for maintainers to use"
|
||||||
|
@echo "it deletes files that may require special tools to rebuild."
|
||||||
|
clean: clean-am
|
||||||
|
|
||||||
|
clean-am: clean-generic mostlyclean-am
|
||||||
|
|
||||||
|
distclean: distclean-am
|
||||||
|
|
||||||
|
distclean-am: clean-am distclean-generic
|
||||||
|
|
||||||
|
dvi: dvi-am
|
||||||
|
|
||||||
|
dvi-am:
|
||||||
|
|
||||||
|
info: info-am
|
||||||
|
|
||||||
|
info-am:
|
||||||
|
|
||||||
|
install-data-am:
|
||||||
|
|
||||||
|
install-exec-am:
|
||||||
|
|
||||||
|
install-info: install-info-am
|
||||||
|
|
||||||
|
install-man:
|
||||||
|
|
||||||
|
installcheck-am:
|
||||||
|
|
||||||
|
maintainer-clean: maintainer-clean-am
|
||||||
|
|
||||||
|
maintainer-clean-am: distclean-am maintainer-clean-generic
|
||||||
|
|
||||||
|
mostlyclean: mostlyclean-am
|
||||||
|
|
||||||
|
mostlyclean-am: mostlyclean-generic
|
||||||
|
|
||||||
|
pdf: pdf-am
|
||||||
|
|
||||||
|
pdf-am:
|
||||||
|
|
||||||
|
ps: ps-am
|
||||||
|
|
||||||
|
ps-am:
|
||||||
|
|
||||||
|
uninstall-am: uninstall-info-am
|
||||||
|
|
||||||
|
.PHONY: all all-am check check-am clean clean-generic distclean \
|
||||||
|
distclean-generic distdir dvi dvi-am info info-am install \
|
||||||
|
install-am install-data install-data-am install-exec \
|
||||||
|
install-exec-am install-info install-info-am install-man \
|
||||||
|
install-strip installcheck installcheck-am installdirs \
|
||||||
|
maintainer-clean maintainer-clean-generic mostlyclean \
|
||||||
|
mostlyclean-generic pdf pdf-am ps ps-am uninstall uninstall-am \
|
||||||
|
uninstall-info-am
|
||||||
|
|
||||||
|
|
||||||
|
Makefile.am: Makefile.am.in
|
||||||
|
rm -f $@ $@t
|
||||||
|
sed -n '1,/^##m4-files-begin/p' $< > $@t
|
||||||
|
(((echo EXTRA_DIST =; \
|
||||||
|
echo " README Makefile.am.in" \
|
||||||
|
) | tr '\012' @); \
|
||||||
|
(echo *.m4|tr ' ' @) ) \
|
||||||
|
|sed 's/@$$/%/;s/@/ \\@/g' |tr @% '\012\012' \
|
||||||
|
>> $@t
|
||||||
|
sed -n '/^##m4-files-end/,$$p' $< >> $@t
|
||||||
|
chmod a-w $@t
|
||||||
|
mv $@t $@
|
||||||
|
# Tell versions [3.59,3.63) of GNU make to not export all variables.
|
||||||
|
# Otherwise a system limit (for SysV at least) may be exceeded.
|
||||||
|
.NOEXPORT:
|
||||||
@@ -0,0 +1,10 @@
|
|||||||
|
The files in this directory are shared between the fileutils, sh-utils,
|
||||||
|
and textutils packages.
|
||||||
|
|
||||||
|
These files are used by a program called aclocal (part of the GNU automake
|
||||||
|
package). aclocal uses these files to create aclocal.m4 which is in turn
|
||||||
|
used by autoconf to create the configure script at the top level in
|
||||||
|
this distribution.
|
||||||
|
|
||||||
|
The Makefile.am file in this directory is automatically generated
|
||||||
|
from the template file, Makefile.am.in.
|
||||||
@@ -0,0 +1,23 @@
|
|||||||
|
# acl.m4 - check for access control list (ACL) primitives
|
||||||
|
|
||||||
|
# Copyright (C) 2002 Free Software Foundation, Inc.
|
||||||
|
|
||||||
|
# This program is free software; you can redistribute it and/or modify
|
||||||
|
# it under the terms of the GNU General Public License as published by
|
||||||
|
# the Free Software Foundation; either version 2, or (at your option)
|
||||||
|
# any later version.
|
||||||
|
|
||||||
|
# This program is distributed in the hope that it will be useful,
|
||||||
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
# GNU General Public License for more details.
|
||||||
|
|
||||||
|
# You should have received a copy of the GNU General Public License
|
||||||
|
# along with this program; if not, write to the Free Software Foundation,
|
||||||
|
# Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
|
||||||
|
|
||||||
|
# Written by Paul Eggert.
|
||||||
|
|
||||||
|
AC_DEFUN([AC_FUNC_ACL],
|
||||||
|
[AC_CHECK_HEADERS(sys/acl.h)
|
||||||
|
AC_CHECK_FUNCS(acl)])
|
||||||
@@ -0,0 +1,13 @@
|
|||||||
|
#serial 5
|
||||||
|
|
||||||
|
AC_DEFUN([jm_AFS],
|
||||||
|
[
|
||||||
|
AC_MSG_CHECKING(for AFS)
|
||||||
|
if test -d /afs; then
|
||||||
|
AC_DEFINE(AFS, 1, [Define if you have the Andrew File System.])
|
||||||
|
ac_result=yes
|
||||||
|
else
|
||||||
|
ac_result=no
|
||||||
|
fi
|
||||||
|
AC_MSG_RESULT($ac_result)
|
||||||
|
])
|
||||||
@@ -0,0 +1,13 @@
|
|||||||
|
#serial 3
|
||||||
|
dnl based on code from Eleftherios Gkioulekas
|
||||||
|
|
||||||
|
AC_DEFUN([jm_ASSERT],
|
||||||
|
[
|
||||||
|
AC_MSG_CHECKING(whether to enable assertions)
|
||||||
|
AC_ARG_ENABLE(assert,
|
||||||
|
[ --disable-assert turn off assertions],
|
||||||
|
[ AC_MSG_RESULT(no)
|
||||||
|
AC_DEFINE(NDEBUG,1,[Define to 1 if assertions should be disabled.]) ],
|
||||||
|
[ AC_MSG_RESULT(yes) ]
|
||||||
|
)
|
||||||
|
])
|
||||||
@@ -0,0 +1,8 @@
|
|||||||
|
#serial 2
|
||||||
|
|
||||||
|
AC_DEFUN([jm_BISON],
|
||||||
|
[
|
||||||
|
# getdate.y works with bison only.
|
||||||
|
: ${YACC='bison -y'}
|
||||||
|
AC_SUBST(YACC)
|
||||||
|
])
|
||||||
@@ -0,0 +1,37 @@
|
|||||||
|
# Determine whether this system has infrastructure for obtaining the boot time.
|
||||||
|
|
||||||
|
# GNULIB_BOOT_TIME([ACTION-IF-FOUND[, ACTION-IF-NOT-FOUND]])
|
||||||
|
* ----------------------------------------------------------
|
||||||
|
AC_DEFUN([GNULIB_BOOT_TIME],
|
||||||
|
[
|
||||||
|
AC_CHECK_FUNCS(sysctl)
|
||||||
|
AC_CHECK_HEADERS(sys/sysctl.h)
|
||||||
|
AC_CACHE_CHECK(
|
||||||
|
[whether we can get the system boot time],
|
||||||
|
[gnulib_cv_have_boot_time],
|
||||||
|
[
|
||||||
|
AC_COMPILE_IFELSE(
|
||||||
|
[AC_LANG_PROGRAM(
|
||||||
|
[AC_INCLUDES_DEFAULT
|
||||||
|
#if HAVE_SYSCTL && HAVE_SYS_SYSCTL_H
|
||||||
|
# include <sys/param.h> /* needed for OpenBSD 3.0 */
|
||||||
|
# include <sys/sysctl.h>
|
||||||
|
#endif
|
||||||
|
#ifdef HAVE_UTMPX_H
|
||||||
|
# include <utmpx.h>
|
||||||
|
#else
|
||||||
|
# include <utmp.h>
|
||||||
|
#endif
|
||||||
|
],
|
||||||
|
[[
|
||||||
|
#if defined BOOT_TIME || (defined CTL_KERN && defined KERN_BOOTTIME)
|
||||||
|
/* your system *does* have the infrastructure to determine boot time */
|
||||||
|
#else
|
||||||
|
please_tell_us_how_to_determine_boot_time_on_your_system
|
||||||
|
#endif
|
||||||
|
]])],
|
||||||
|
gnulib_cv_have_boot_time=yes,
|
||||||
|
gnulib_cv_have_boot_time=no)
|
||||||
|
])
|
||||||
|
AS_IF([test $gnulib_cv_have_boot_time = yes], [$1], [$2])
|
||||||
|
])
|
||||||
@@ -0,0 +1,153 @@
|
|||||||
|
# Check prerequisites for compiling lib/c-stack.c.
|
||||||
|
|
||||||
|
# Copyright (C) 2002, 2003 Free Software Foundation, Inc.
|
||||||
|
|
||||||
|
# This program is free software; you can redistribute it and/or modify
|
||||||
|
# it under the terms of the GNU General Public License as published by
|
||||||
|
# the Free Software Foundation; either version 2, or (at your option)
|
||||||
|
# any later version.
|
||||||
|
|
||||||
|
# This program is distributed in the hope that it will be useful,
|
||||||
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
# GNU General Public License for more details.
|
||||||
|
|
||||||
|
# You should have received a copy of the GNU General Public License
|
||||||
|
# along with this program; if not, write to the Free Software
|
||||||
|
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
|
||||||
|
# 02111-1307, USA.
|
||||||
|
|
||||||
|
# Written by Paul Eggert.
|
||||||
|
|
||||||
|
AC_DEFUN([AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC],
|
||||||
|
[# for STACK_DIRECTION
|
||||||
|
AC_REQUIRE([AC_FUNC_ALLOCA])
|
||||||
|
AC_CHECK_FUNCS(setrlimit)
|
||||||
|
|
||||||
|
AC_CACHE_CHECK([for working C stack overflow detection],
|
||||||
|
ac_cv_sys_xsi_stack_overflow_heuristic,
|
||||||
|
[AC_TRY_RUN(
|
||||||
|
[
|
||||||
|
#include <unistd.h>
|
||||||
|
#include <signal.h>
|
||||||
|
#include <ucontext.h>
|
||||||
|
#if HAVE_SETRLIMIT
|
||||||
|
# include <sys/types.h>
|
||||||
|
# include <sys/time.h>
|
||||||
|
# include <sys/resource.h>
|
||||||
|
#endif
|
||||||
|
|
||||||
|
static union
|
||||||
|
{
|
||||||
|
char buffer[SIGSTKSZ];
|
||||||
|
long double ld;
|
||||||
|
long u;
|
||||||
|
void *p;
|
||||||
|
} alternate_signal_stack;
|
||||||
|
|
||||||
|
#if STACK_DIRECTION
|
||||||
|
# define find_stack_direction(ptr) STACK_DIRECTION
|
||||||
|
#else
|
||||||
|
static int
|
||||||
|
find_stack_direction (char const *addr)
|
||||||
|
{
|
||||||
|
char dummy;
|
||||||
|
return (! addr ? find_stack_direction (&dummy)
|
||||||
|
: addr < &dummy ? 1 : -1);
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
static void
|
||||||
|
segv_handler (int signo, siginfo_t *info, void *context)
|
||||||
|
{
|
||||||
|
if (0 < info->si_code)
|
||||||
|
{
|
||||||
|
ucontext_t const *user_context = context;
|
||||||
|
char const *stack_min = user_context->uc_stack.ss_sp;
|
||||||
|
size_t stack_size = user_context->uc_stack.ss_size;
|
||||||
|
char const *faulting_address = info->si_addr;
|
||||||
|
size_t s = faulting_address - stack_min;
|
||||||
|
size_t page_size = sysconf (_SC_PAGESIZE);
|
||||||
|
if (find_stack_direction (0) < 0)
|
||||||
|
s += page_size;
|
||||||
|
if (s < stack_size + page_size)
|
||||||
|
_exit (0);
|
||||||
|
}
|
||||||
|
|
||||||
|
_exit (1);
|
||||||
|
}
|
||||||
|
|
||||||
|
static int
|
||||||
|
c_stack_action (void)
|
||||||
|
{
|
||||||
|
stack_t st;
|
||||||
|
struct sigaction act;
|
||||||
|
int r;
|
||||||
|
|
||||||
|
st.ss_flags = 0;
|
||||||
|
st.ss_sp = alternate_signal_stack.buffer;
|
||||||
|
st.ss_size = sizeof alternate_signal_stack.buffer;
|
||||||
|
r = sigaltstack (&st, 0);
|
||||||
|
if (r != 0)
|
||||||
|
return r;
|
||||||
|
|
||||||
|
sigemptyset (&act.sa_mask);
|
||||||
|
act.sa_flags = SA_NODEFER | SA_ONSTACK | SA_RESETHAND | SA_SIGINFO;
|
||||||
|
act.sa_sigaction = segv_handler;
|
||||||
|
return sigaction (SIGSEGV, &act, 0);
|
||||||
|
}
|
||||||
|
|
||||||
|
static int
|
||||||
|
recurse (char *p)
|
||||||
|
{
|
||||||
|
char array[500];
|
||||||
|
array[0] = 1;
|
||||||
|
return *p + recurse (array);
|
||||||
|
}
|
||||||
|
|
||||||
|
int
|
||||||
|
main (void)
|
||||||
|
{
|
||||||
|
#if HAVE_SETRLIMIT && defined RLIMIT_STACK
|
||||||
|
/* Before starting the endless recursion, try to be friendly
|
||||||
|
to the user's machine. On some Linux 2.2.x systems, there
|
||||||
|
is no stack limit for user processes at all. We don't want
|
||||||
|
to kill such systems. */
|
||||||
|
struct rlimit rl;
|
||||||
|
rl.rlim_cur = rl.rlim_max = 0x100000; /* 1 MB */
|
||||||
|
setrlimit (RLIMIT_STACK, &rl);
|
||||||
|
#endif
|
||||||
|
|
||||||
|
c_stack_action ();
|
||||||
|
return recurse ("\1");
|
||||||
|
}
|
||||||
|
],
|
||||||
|
[ac_cv_sys_xsi_stack_overflow_heuristic=yes],
|
||||||
|
[ac_cv_sys_xsi_stack_overflow_heuristic=no],
|
||||||
|
[ac_cv_sys_xsi_stack_overflow_heuristic=cross-compiling])])
|
||||||
|
|
||||||
|
if test $ac_cv_sys_xsi_stack_overflow_heuristic = yes; then
|
||||||
|
AC_DEFINE(HAVE_XSI_STACK_OVERFLOW_HEURISTIC, 1,
|
||||||
|
[Define to 1 if extending the stack slightly past the limit causes
|
||||||
|
a SIGSEGV, and an alternate stack can be established with sigaltstack,
|
||||||
|
and the signal handler is passed a context that specifies the
|
||||||
|
run time stack. This behavior is defined by POSIX 1003.1-2001
|
||||||
|
with the X/Open System Interface (XSI) option
|
||||||
|
and is a standardized way to implement a SEGV-based stack
|
||||||
|
overflow detection heuristic.])
|
||||||
|
fi])
|
||||||
|
|
||||||
|
|
||||||
|
AC_DEFUN([jm_PREREQ_C_STACK],
|
||||||
|
[AC_REQUIRE([AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC])
|
||||||
|
|
||||||
|
# for STACK_DIRECTION
|
||||||
|
AC_REQUIRE([AC_FUNC_ALLOCA])
|
||||||
|
|
||||||
|
AC_CHECK_FUNCS(getcontext sigaltstack)
|
||||||
|
AC_CHECK_DECLS([getcontext], , , [#include <ucontext.h>])
|
||||||
|
AC_CHECK_DECLS([sigaltstack], , , [#include <signal.h>])
|
||||||
|
|
||||||
|
AC_CHECK_HEADERS(sys/resource.h ucontext.h unistd.h)
|
||||||
|
|
||||||
|
AC_CHECK_TYPES([stack_t], , , [#include <signal.h>])])
|
||||||
@@ -0,0 +1,13 @@
|
|||||||
|
#serial 1
|
||||||
|
AC_DEFUN([AC_FUNC_CANONICALIZE_FILE_NAME],
|
||||||
|
[
|
||||||
|
AC_REQUIRE([AC_HEADER_STDC])
|
||||||
|
AC_CHECK_HEADERS(string.h sys/param.h stddef.h)
|
||||||
|
AC_CHECK_FUNCS(resolvepath)
|
||||||
|
AC_REQUIRE([AC_HEADER_STAT])
|
||||||
|
|
||||||
|
# This would simply be AC_REPLACE_FUNC([canonicalize_file_name])
|
||||||
|
# if the function name weren't so long. Besides, I would rather
|
||||||
|
# not have underscores in file names.
|
||||||
|
AC_CHECK_FUNC([canonicalize_file_name], , [AC_LIBOBJ(canonicalize)])
|
||||||
|
])
|
||||||
@@ -0,0 +1,86 @@
|
|||||||
|
#serial 19
|
||||||
|
|
||||||
|
dnl This is just a wrapper function to encapsulate this kludge.
|
||||||
|
dnl Putting it in a separate file like this helps share it between
|
||||||
|
dnl different packages.
|
||||||
|
AC_DEFUN([jm_CHECK_DECLS],
|
||||||
|
[
|
||||||
|
AC_REQUIRE([_jm_DECL_HEADERS])
|
||||||
|
AC_REQUIRE([AC_HEADER_TIME])
|
||||||
|
headers='
|
||||||
|
#include <stdio.h>
|
||||||
|
#if HAVE_STRING_H
|
||||||
|
# if !STDC_HEADERS && HAVE_MEMORY_H
|
||||||
|
# include <memory.h>
|
||||||
|
# endif
|
||||||
|
# include <string.h>
|
||||||
|
#else
|
||||||
|
# if HAVE_STRINGS_H
|
||||||
|
# include <strings.h>
|
||||||
|
# endif
|
||||||
|
#endif
|
||||||
|
#if HAVE_STDLIB_H
|
||||||
|
# include <stdlib.h>
|
||||||
|
#endif
|
||||||
|
#if HAVE_UNISTD_H
|
||||||
|
# include <unistd.h>
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#include <sys/types.h>
|
||||||
|
#if TIME_WITH_SYS_TIME
|
||||||
|
# include <sys/time.h>
|
||||||
|
# include <time.h>
|
||||||
|
#else
|
||||||
|
# if HAVE_SYS_TIME_H
|
||||||
|
# include <sys/time.h>
|
||||||
|
# else
|
||||||
|
# include <time.h>
|
||||||
|
# endif
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#if HAVE_UTMP_H
|
||||||
|
# include <utmp.h>
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#if HAVE_GRP_H
|
||||||
|
# include <grp.h>
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#if HAVE_PWD_H
|
||||||
|
# include <pwd.h>
|
||||||
|
#endif
|
||||||
|
'
|
||||||
|
|
||||||
|
AC_CHECK_DECLS([
|
||||||
|
euidaccess,
|
||||||
|
free,
|
||||||
|
getenv,
|
||||||
|
geteuid,
|
||||||
|
getgrgid,
|
||||||
|
getlogin,
|
||||||
|
getpwuid,
|
||||||
|
getuid,
|
||||||
|
getutent,
|
||||||
|
lseek,
|
||||||
|
malloc,
|
||||||
|
memchr,
|
||||||
|
memrchr,
|
||||||
|
nanosleep,
|
||||||
|
realloc,
|
||||||
|
stpcpy,
|
||||||
|
strndup,
|
||||||
|
strnlen,
|
||||||
|
strstr,
|
||||||
|
strtoul,
|
||||||
|
strtoull,
|
||||||
|
ttyname], , , $headers)
|
||||||
|
])
|
||||||
|
|
||||||
|
dnl FIXME: when autoconf has support for it.
|
||||||
|
dnl This is a little helper so we can require these header checks.
|
||||||
|
AC_DEFUN([_jm_DECL_HEADERS],
|
||||||
|
[
|
||||||
|
AC_REQUIRE([AC_HEADER_STDC])
|
||||||
|
AC_CHECK_HEADERS(grp.h memory.h pwd.h string.h strings.h stdlib.h \
|
||||||
|
unistd.h sys/time.h utmp.h utmpx.h)
|
||||||
|
])
|
||||||
@@ -0,0 +1,49 @@
|
|||||||
|
#serial 7
|
||||||
|
|
||||||
|
dnl From Jim Meyering.
|
||||||
|
dnl Determine whether chown accepts arguments of -1 for uid and gid.
|
||||||
|
dnl If it doesn't, arrange to use the replacement function.
|
||||||
|
dnl
|
||||||
|
|
||||||
|
AC_DEFUN([jm_FUNC_CHOWN],
|
||||||
|
[AC_REQUIRE([AC_TYPE_UID_T])dnl
|
||||||
|
test -z "$ac_cv_header_unistd_h" \
|
||||||
|
&& AC_CHECK_HEADERS(unistd.h)
|
||||||
|
AC_CACHE_CHECK([for working chown], jm_cv_func_working_chown,
|
||||||
|
[AC_TRY_RUN([
|
||||||
|
# include <sys/types.h>
|
||||||
|
# include <sys/stat.h>
|
||||||
|
# include <fcntl.h>
|
||||||
|
# ifdef HAVE_UNISTD_H
|
||||||
|
# include <unistd.h>
|
||||||
|
# endif
|
||||||
|
|
||||||
|
int
|
||||||
|
main ()
|
||||||
|
{
|
||||||
|
char *f = "conftest.chown";
|
||||||
|
struct stat before, after;
|
||||||
|
|
||||||
|
if (creat (f, 0600) < 0)
|
||||||
|
exit (1);
|
||||||
|
if (stat (f, &before) < 0)
|
||||||
|
exit (1);
|
||||||
|
if (chown (f, (uid_t) -1, (gid_t) -1) == -1)
|
||||||
|
exit (1);
|
||||||
|
if (stat (f, &after) < 0)
|
||||||
|
exit (1);
|
||||||
|
exit ((before.st_uid == after.st_uid
|
||||||
|
&& before.st_gid == after.st_gid) ? 0 : 1);
|
||||||
|
}
|
||||||
|
],
|
||||||
|
jm_cv_func_working_chown=yes,
|
||||||
|
jm_cv_func_working_chown=no,
|
||||||
|
dnl When crosscompiling, assume chown is broken.
|
||||||
|
jm_cv_func_working_chown=no)
|
||||||
|
])
|
||||||
|
if test $jm_cv_func_working_chown = no; then
|
||||||
|
AC_LIBOBJ(chown)
|
||||||
|
AC_DEFINE(chown, rpl_chown,
|
||||||
|
[Define to rpl_chown if the replacement function should be used.])
|
||||||
|
fi
|
||||||
|
])
|
||||||
@@ -0,0 +1,23 @@
|
|||||||
|
# codeset.m4 serial AM1 (gettext-0.10.40)
|
||||||
|
dnl Copyright (C) 2000-2002 Free Software Foundation, Inc.
|
||||||
|
dnl This file is free software, distributed under the terms of the GNU
|
||||||
|
dnl General Public License. As a special exception to the GNU General
|
||||||
|
dnl Public License, this file may be distributed as part of a program
|
||||||
|
dnl that contains a configuration script generated by Autoconf, under
|
||||||
|
dnl the same distribution terms as the rest of that program.
|
||||||
|
|
||||||
|
dnl From Bruno Haible.
|
||||||
|
|
||||||
|
AC_DEFUN([AM_LANGINFO_CODESET],
|
||||||
|
[
|
||||||
|
AC_CACHE_CHECK([for nl_langinfo and CODESET], am_cv_langinfo_codeset,
|
||||||
|
[AC_TRY_LINK([#include <langinfo.h>],
|
||||||
|
[char* cs = nl_langinfo(CODESET);],
|
||||||
|
am_cv_langinfo_codeset=yes,
|
||||||
|
am_cv_langinfo_codeset=no)
|
||||||
|
])
|
||||||
|
if test $am_cv_langinfo_codeset = yes; then
|
||||||
|
AC_DEFINE(HAVE_LANGINFO_CODESET, 1,
|
||||||
|
[Define if you have <langinfo.h> and nl_langinfo(CODESET).])
|
||||||
|
fi
|
||||||
|
])
|
||||||
@@ -0,0 +1,42 @@
|
|||||||
|
#serial 4
|
||||||
|
|
||||||
|
dnl From Jim Meyering.
|
||||||
|
dnl
|
||||||
|
dnl Check whether struct dirent has a member named d_ino.
|
||||||
|
dnl
|
||||||
|
|
||||||
|
AC_DEFUN([jm_CHECK_TYPE_STRUCT_DIRENT_D_INO],
|
||||||
|
[AC_REQUIRE([AC_HEADER_DIRENT])dnl
|
||||||
|
AC_CACHE_CHECK([for d_ino member in directory struct],
|
||||||
|
jm_cv_struct_dirent_d_ino,
|
||||||
|
[AC_TRY_LINK(dnl
|
||||||
|
[
|
||||||
|
#include <sys/types.h>
|
||||||
|
#ifdef HAVE_DIRENT_H
|
||||||
|
# include <dirent.h>
|
||||||
|
#else /* not HAVE_DIRENT_H */
|
||||||
|
# define dirent direct
|
||||||
|
# ifdef HAVE_SYS_NDIR_H
|
||||||
|
# include <sys/ndir.h>
|
||||||
|
# endif /* HAVE_SYS_NDIR_H */
|
||||||
|
# ifdef HAVE_SYS_DIR_H
|
||||||
|
# include <sys/dir.h>
|
||||||
|
# endif /* HAVE_SYS_DIR_H */
|
||||||
|
# ifdef HAVE_NDIR_H
|
||||||
|
# include <ndir.h>
|
||||||
|
# endif /* HAVE_NDIR_H */
|
||||||
|
#endif /* HAVE_DIRENT_H */
|
||||||
|
],
|
||||||
|
[struct dirent dp; dp.d_ino = 0;],
|
||||||
|
|
||||||
|
jm_cv_struct_dirent_d_ino=yes,
|
||||||
|
jm_cv_struct_dirent_d_ino=no)
|
||||||
|
]
|
||||||
|
)
|
||||||
|
if test $jm_cv_struct_dirent_d_ino = yes; then
|
||||||
|
AC_DEFINE(D_INO_IN_DIRENT, 1,
|
||||||
|
[Define if there is a member named d_ino in the struct describing
|
||||||
|
directory headers.])
|
||||||
|
fi
|
||||||
|
]
|
||||||
|
)
|
||||||
@@ -0,0 +1,42 @@
|
|||||||
|
#serial 5
|
||||||
|
|
||||||
|
dnl From Jim Meyering.
|
||||||
|
dnl
|
||||||
|
dnl Check whether struct dirent has a member named d_type.
|
||||||
|
dnl
|
||||||
|
|
||||||
|
AC_DEFUN([jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE],
|
||||||
|
[AC_REQUIRE([AC_HEADER_DIRENT])dnl
|
||||||
|
AC_CACHE_CHECK([for d_type member in directory struct],
|
||||||
|
jm_cv_struct_dirent_d_type,
|
||||||
|
[AC_TRY_LINK(dnl
|
||||||
|
[
|
||||||
|
#include <sys/types.h>
|
||||||
|
#ifdef HAVE_DIRENT_H
|
||||||
|
# include <dirent.h>
|
||||||
|
#else /* not HAVE_DIRENT_H */
|
||||||
|
# define dirent direct
|
||||||
|
# ifdef HAVE_SYS_NDIR_H
|
||||||
|
# include <sys/ndir.h>
|
||||||
|
# endif /* HAVE_SYS_NDIR_H */
|
||||||
|
# ifdef HAVE_SYS_DIR_H
|
||||||
|
# include <sys/dir.h>
|
||||||
|
# endif /* HAVE_SYS_DIR_H */
|
||||||
|
# ifdef HAVE_NDIR_H
|
||||||
|
# include <ndir.h>
|
||||||
|
# endif /* HAVE_NDIR_H */
|
||||||
|
#endif /* HAVE_DIRENT_H */
|
||||||
|
],
|
||||||
|
[struct dirent dp; dp.d_type = 0;],
|
||||||
|
|
||||||
|
jm_cv_struct_dirent_d_type=yes,
|
||||||
|
jm_cv_struct_dirent_d_type=no)
|
||||||
|
]
|
||||||
|
)
|
||||||
|
if test $jm_cv_struct_dirent_d_type = yes; then
|
||||||
|
AC_DEFINE(HAVE_STRUCT_DIRENT_D_TYPE, 1,
|
||||||
|
[Define if there is a member named d_type in the struct describing
|
||||||
|
directory headers.])
|
||||||
|
fi
|
||||||
|
]
|
||||||
|
)
|
||||||
@@ -0,0 +1,82 @@
|
|||||||
|
#serial 5
|
||||||
|
|
||||||
|
dnl Find out how to get the file descriptor associated with an open DIR*.
|
||||||
|
dnl From Jim Meyering
|
||||||
|
|
||||||
|
AC_DEFUN([UTILS_FUNC_DIRFD],
|
||||||
|
[
|
||||||
|
dnl Work around a bug of AC_EGREP_CPP in autoconf-2.57.
|
||||||
|
AC_REQUIRE([AC_PROG_CPP])
|
||||||
|
AC_REQUIRE([AC_PROG_EGREP])
|
||||||
|
|
||||||
|
AC_HEADER_DIRENT
|
||||||
|
dirfd_headers='
|
||||||
|
#if HAVE_DIRENT_H
|
||||||
|
# include <dirent.h>
|
||||||
|
#else /* not HAVE_DIRENT_H */
|
||||||
|
# define dirent direct
|
||||||
|
# if HAVE_SYS_NDIR_H
|
||||||
|
# include <sys/ndir.h>
|
||||||
|
# endif /* HAVE_SYS_NDIR_H */
|
||||||
|
# if HAVE_SYS_DIR_H
|
||||||
|
# include <sys/dir.h>
|
||||||
|
# endif /* HAVE_SYS_DIR_H */
|
||||||
|
# if HAVE_NDIR_H
|
||||||
|
# include <ndir.h>
|
||||||
|
# endif /* HAVE_NDIR_H */
|
||||||
|
#endif /* HAVE_DIRENT_H */
|
||||||
|
'
|
||||||
|
AC_CHECK_FUNCS(dirfd)
|
||||||
|
AC_CHECK_DECLS([dirfd], , , $dirfd_headers)
|
||||||
|
|
||||||
|
AC_CACHE_CHECK([whether dirfd is a macro],
|
||||||
|
jm_cv_func_dirfd_macro,
|
||||||
|
AC_EGREP_CPP([dirent_header_defines_dirfd], [$dirfd_headers
|
||||||
|
#ifdef dirfd
|
||||||
|
dirent_header_defines_dirfd
|
||||||
|
#endif],
|
||||||
|
jm_cv_func_dirfd_macro=yes,
|
||||||
|
jm_cv_func_dirfd_macro=no))
|
||||||
|
|
||||||
|
# Use the replacement only if we have no function, macro,
|
||||||
|
# or declaration with that name.
|
||||||
|
if test $ac_cv_func_dirfd,$ac_cv_have_decl_dirfd,$jm_cv_func_dirfd_macro \
|
||||||
|
= no,no,no; then
|
||||||
|
AC_REPLACE_FUNCS([dirfd])
|
||||||
|
AC_CACHE_CHECK(
|
||||||
|
[how to get the file descriptor associated with an open DIR*],
|
||||||
|
gl_cv_sys_dir_fd_member_name,
|
||||||
|
[
|
||||||
|
dirfd_save_CFLAGS=$CFLAGS
|
||||||
|
for ac_expr in d_fd dd_fd; do
|
||||||
|
|
||||||
|
CFLAGS="$CFLAGS -DDIR_FD_MEMBER_NAME=$ac_expr"
|
||||||
|
AC_TRY_COMPILE(
|
||||||
|
[$dirfd_headers
|
||||||
|
],
|
||||||
|
[DIR *dir_p = opendir("."); (void) dir_p->DIR_FD_MEMBER_NAME;],
|
||||||
|
dir_fd_found=yes
|
||||||
|
)
|
||||||
|
CFLAGS=$dirfd_save_CFLAGS
|
||||||
|
test "$dir_fd_found" = yes && break
|
||||||
|
done
|
||||||
|
test "$dir_fd_found" = yes || ac_expr=no_such_member
|
||||||
|
|
||||||
|
gl_cv_sys_dir_fd_member_name=$ac_expr
|
||||||
|
]
|
||||||
|
)
|
||||||
|
if test $gl_cv_sys_dir_fd_member_name != no_such_member; then
|
||||||
|
AC_DEFINE_UNQUOTED(DIR_FD_MEMBER_NAME,
|
||||||
|
$gl_cv_sys_dir_fd_member_name,
|
||||||
|
[the name of the file descriptor member of DIR])
|
||||||
|
fi
|
||||||
|
AH_VERBATIM(DIR_TO_FD,
|
||||||
|
[#ifdef DIR_FD_MEMBER_NAME
|
||||||
|
# define DIR_TO_FD(Dir_p) ((Dir_p)->DIR_FD_MEMBER_NAME)
|
||||||
|
#else
|
||||||
|
# define DIR_TO_FD(Dir_p) -1
|
||||||
|
#endif
|
||||||
|
]
|
||||||
|
)
|
||||||
|
fi
|
||||||
|
])
|
||||||
@@ -0,0 +1,53 @@
|
|||||||
|
#serial 5
|
||||||
|
|
||||||
|
# Define some macros required for proper operation of code in lib/*.c
|
||||||
|
# on MSDOS/Windows systems.
|
||||||
|
|
||||||
|
# From Jim Meyering.
|
||||||
|
|
||||||
|
AC_DEFUN([jm_AC_DOS],
|
||||||
|
[
|
||||||
|
AC_CACHE_CHECK([whether system is Windows or MSDOS], [ac_cv_win_or_dos],
|
||||||
|
[
|
||||||
|
AC_TRY_COMPILE([],
|
||||||
|
[#if !defined _WIN32 && !defined __WIN32__ && !defined __MSDOS__
|
||||||
|
neither MSDOS nor Windows
|
||||||
|
#endif],
|
||||||
|
[ac_cv_win_or_dos=yes],
|
||||||
|
[ac_cv_win_or_dos=no])
|
||||||
|
])
|
||||||
|
|
||||||
|
if test x"$ac_cv_win_or_dos" = xyes; then
|
||||||
|
ac_fs_accepts_drive_letter_prefix=1
|
||||||
|
ac_fs_backslash_is_file_name_separator=1
|
||||||
|
else
|
||||||
|
ac_fs_accepts_drive_letter_prefix=0
|
||||||
|
ac_fs_backslash_is_file_name_separator=0
|
||||||
|
fi
|
||||||
|
|
||||||
|
AH_VERBATIM(FILESYSTEM_PREFIX_LEN,
|
||||||
|
[#if FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX
|
||||||
|
# define FILESYSTEM_PREFIX_LEN(Filename) \
|
||||||
|
((Filename)[0] && (Filename)[1] == ':' ? 2 : 0)
|
||||||
|
#else
|
||||||
|
# define FILESYSTEM_PREFIX_LEN(Filename) 0
|
||||||
|
#endif])
|
||||||
|
|
||||||
|
AC_DEFINE_UNQUOTED([FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX],
|
||||||
|
$ac_fs_accepts_drive_letter_prefix,
|
||||||
|
[Define on systems for which file names may have a so-called
|
||||||
|
`drive letter' prefix, define this to compute the length of that
|
||||||
|
prefix, including the colon.])
|
||||||
|
|
||||||
|
AH_VERBATIM(ISSLASH,
|
||||||
|
[#if FILESYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR
|
||||||
|
# define ISSLASH(C) ((C) == '/' || (C) == '\\')
|
||||||
|
#else
|
||||||
|
# define ISSLASH(C) ((C) == '/')
|
||||||
|
#endif])
|
||||||
|
|
||||||
|
AC_DEFINE_UNQUOTED([FILESYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR],
|
||||||
|
$ac_fs_backslash_is_file_name_separator,
|
||||||
|
[Define if the backslash character may also serve as a file name
|
||||||
|
component separator.])
|
||||||
|
])
|
||||||
@@ -0,0 +1,14 @@
|
|||||||
|
#serial 5
|
||||||
|
|
||||||
|
dnl FIXME: put these prerequisite-only *.m4 files in a separate
|
||||||
|
dnl directory -- otherwise, they'll conflict with existing files.
|
||||||
|
|
||||||
|
dnl These are the prerequisite macros for GNU's error.c file.
|
||||||
|
AC_DEFUN([jm_PREREQ_ERROR],
|
||||||
|
[
|
||||||
|
AC_CHECK_FUNCS(strerror vprintf doprnt)
|
||||||
|
AC_CHECK_DECLS([strerror])
|
||||||
|
AC_CHECK_HEADERS([libintl.h])
|
||||||
|
AC_FUNC_STRERROR_R
|
||||||
|
AC_HEADER_STDC
|
||||||
|
])
|
||||||
@@ -0,0 +1,72 @@
|
|||||||
|
#serial 3
|
||||||
|
|
||||||
|
dnl From Jim Meyering
|
||||||
|
dnl Using code from emacs, based on suggestions from Paul Eggert
|
||||||
|
dnl and Ulrich Drepper.
|
||||||
|
|
||||||
|
dnl Find out how to determine the number of pending output bytes on a stream.
|
||||||
|
dnl glibc (2.1.93 and newer) and Solaris provide __fpending. On other systems,
|
||||||
|
dnl we have to grub around in the FILE struct.
|
||||||
|
|
||||||
|
AC_DEFUN([jm_FUNC_FPENDING],
|
||||||
|
[
|
||||||
|
AC_CHECK_HEADERS(stdio_ext.h)
|
||||||
|
AC_REPLACE_FUNCS([__fpending])
|
||||||
|
fp_headers='
|
||||||
|
# if HAVE_STDIO_EXT_H
|
||||||
|
# include <stdio_ext.h>
|
||||||
|
# endif
|
||||||
|
'
|
||||||
|
AC_CHECK_DECLS([__fpending], , , $fp_headers)
|
||||||
|
if test $ac_cv_func___fpending = no; then
|
||||||
|
AC_CACHE_CHECK(
|
||||||
|
[how to determine the number of pending output bytes on a stream],
|
||||||
|
ac_cv_sys_pending_output_n_bytes,
|
||||||
|
[
|
||||||
|
for ac_expr in \
|
||||||
|
\
|
||||||
|
'# glibc2' \
|
||||||
|
'fp->_IO_write_ptr - fp->_IO_write_base' \
|
||||||
|
\
|
||||||
|
'# traditional Unix' \
|
||||||
|
'fp->_ptr - fp->_base' \
|
||||||
|
\
|
||||||
|
'# BSD' \
|
||||||
|
'fp->_p - fp->_bf._base' \
|
||||||
|
\
|
||||||
|
'# SCO, Unixware' \
|
||||||
|
'fp->__ptr - fp->__base' \
|
||||||
|
\
|
||||||
|
'# old glibc?' \
|
||||||
|
'fp->__bufp - fp->__buffer' \
|
||||||
|
\
|
||||||
|
'# old glibc iostream?' \
|
||||||
|
'fp->_pptr - fp->_pbase' \
|
||||||
|
\
|
||||||
|
'# VMS' \
|
||||||
|
'(*fp)->_ptr - (*fp)->_base' \
|
||||||
|
\
|
||||||
|
'# e.g., DGUX R4.11; the info is not available' \
|
||||||
|
1 \
|
||||||
|
; do
|
||||||
|
|
||||||
|
# Skip each embedded comment.
|
||||||
|
case "$ac_expr" in '#'*) continue;; esac
|
||||||
|
|
||||||
|
AC_TRY_COMPILE(
|
||||||
|
[#include <stdio.h>
|
||||||
|
],
|
||||||
|
[FILE *fp = stdin; (void) ($ac_expr);],
|
||||||
|
fp_done=yes
|
||||||
|
)
|
||||||
|
test "$fp_done" = yes && break
|
||||||
|
done
|
||||||
|
|
||||||
|
ac_cv_sys_pending_output_n_bytes=$ac_expr
|
||||||
|
]
|
||||||
|
)
|
||||||
|
AC_DEFINE_UNQUOTED(PENDING_OUTPUT_N_BYTES,
|
||||||
|
$ac_cv_sys_pending_output_n_bytes,
|
||||||
|
[the number of pending output bytes on stream `fp'])
|
||||||
|
fi
|
||||||
|
])
|
||||||
@@ -0,0 +1,32 @@
|
|||||||
|
#serial 3
|
||||||
|
|
||||||
|
dnl From Jim Meyering.
|
||||||
|
dnl
|
||||||
|
dnl See if struct statfs has the f_fstypename member.
|
||||||
|
dnl If so, define HAVE_F_FSTYPENAME_IN_STATFS.
|
||||||
|
dnl
|
||||||
|
|
||||||
|
AC_DEFUN([jm_FSTYPENAME],
|
||||||
|
[
|
||||||
|
AC_CACHE_CHECK([for f_fstypename in struct statfs],
|
||||||
|
fu_cv_sys_f_fstypename_in_statfs,
|
||||||
|
[
|
||||||
|
AC_TRY_COMPILE(
|
||||||
|
[
|
||||||
|
#include <sys/param.h>
|
||||||
|
#include <sys/types.h>
|
||||||
|
#include <sys/mount.h>
|
||||||
|
],
|
||||||
|
[struct statfs s; int i = sizeof s.f_fstypename;],
|
||||||
|
fu_cv_sys_f_fstypename_in_statfs=yes,
|
||||||
|
fu_cv_sys_f_fstypename_in_statfs=no
|
||||||
|
)
|
||||||
|
]
|
||||||
|
)
|
||||||
|
|
||||||
|
if test $fu_cv_sys_f_fstypename_in_statfs = yes; then
|
||||||
|
AC_DEFINE(HAVE_F_FSTYPENAME_IN_STATFS, 1,
|
||||||
|
[Define if struct statfs has the f_fstypename member.])
|
||||||
|
fi
|
||||||
|
]
|
||||||
|
)
|
||||||
@@ -0,0 +1,198 @@
|
|||||||
|
#serial 9
|
||||||
|
|
||||||
|
# From fileutils/configure.in
|
||||||
|
|
||||||
|
# Try to determine how a program can obtain filesystem usage information.
|
||||||
|
# If successful, define the appropriate symbol (see fsusage.c) and
|
||||||
|
# execute ACTION-IF-FOUND. Otherwise, execute ACTION-IF-NOT-FOUND.
|
||||||
|
#
|
||||||
|
# jm_FILE_SYSTEM_USAGE([ACTION-IF-FOUND[, ACTION-IF-NOT-FOUND]])
|
||||||
|
|
||||||
|
AC_DEFUN([jm_FILE_SYSTEM_USAGE],
|
||||||
|
[
|
||||||
|
|
||||||
|
echo "checking how to get filesystem space usage..."
|
||||||
|
ac_fsusage_space=no
|
||||||
|
|
||||||
|
# Perform only the link test since it seems there are no variants of the
|
||||||
|
# statvfs function. This check is more than just AC_CHECK_FUNCS(statvfs)
|
||||||
|
# because that got a false positive on SCO OSR5. Adding the declaration
|
||||||
|
# of a `struct statvfs' causes this test to fail (as it should) on such
|
||||||
|
# systems. That system is reported to work fine with STAT_STATFS4 which
|
||||||
|
# is what it gets when this test fails.
|
||||||
|
if test $ac_fsusage_space = no; then
|
||||||
|
# SVR4
|
||||||
|
AC_CACHE_CHECK([for statvfs function (SVR4)], fu_cv_sys_stat_statvfs,
|
||||||
|
[AC_TRY_LINK([#include <sys/types.h>
|
||||||
|
#ifdef __GLIBC__
|
||||||
|
Do not use statvfs on systems with GNU libc, because that function stats
|
||||||
|
all preceding entries in /proc/mounts, and that makes df hang if even
|
||||||
|
one of the corresponding file systems is hard-mounted, but not available.
|
||||||
|
#endif
|
||||||
|
#include <sys/statvfs.h>],
|
||||||
|
[struct statvfs fsd; statvfs (0, &fsd);],
|
||||||
|
fu_cv_sys_stat_statvfs=yes,
|
||||||
|
fu_cv_sys_stat_statvfs=no)])
|
||||||
|
if test $fu_cv_sys_stat_statvfs = yes; then
|
||||||
|
ac_fsusage_space=yes
|
||||||
|
AC_DEFINE(STAT_STATVFS, 1,
|
||||||
|
[ Define if there is a function named statvfs. (SVR4)])
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
if test $ac_fsusage_space = no; then
|
||||||
|
# DEC Alpha running OSF/1
|
||||||
|
AC_MSG_CHECKING([for 3-argument statfs function (DEC OSF/1)])
|
||||||
|
AC_CACHE_VAL(fu_cv_sys_stat_statfs3_osf1,
|
||||||
|
[AC_TRY_RUN([
|
||||||
|
#include <sys/param.h>
|
||||||
|
#include <sys/types.h>
|
||||||
|
#include <sys/mount.h>
|
||||||
|
main ()
|
||||||
|
{
|
||||||
|
struct statfs fsd;
|
||||||
|
fsd.f_fsize = 0;
|
||||||
|
exit (statfs (".", &fsd, sizeof (struct statfs)));
|
||||||
|
}],
|
||||||
|
fu_cv_sys_stat_statfs3_osf1=yes,
|
||||||
|
fu_cv_sys_stat_statfs3_osf1=no,
|
||||||
|
fu_cv_sys_stat_statfs3_osf1=no)])
|
||||||
|
AC_MSG_RESULT($fu_cv_sys_stat_statfs3_osf1)
|
||||||
|
if test $fu_cv_sys_stat_statfs3_osf1 = yes; then
|
||||||
|
ac_fsusage_space=yes
|
||||||
|
AC_DEFINE(STAT_STATFS3_OSF1, 1,
|
||||||
|
[ Define if statfs takes 3 args. (DEC Alpha running OSF/1)])
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
if test $ac_fsusage_space = no; then
|
||||||
|
# AIX
|
||||||
|
AC_MSG_CHECKING([for two-argument statfs with statfs.bsize dnl
|
||||||
|
member (AIX, 4.3BSD)])
|
||||||
|
AC_CACHE_VAL(fu_cv_sys_stat_statfs2_bsize,
|
||||||
|
[AC_TRY_RUN([
|
||||||
|
#ifdef HAVE_SYS_PARAM_H
|
||||||
|
#include <sys/param.h>
|
||||||
|
#endif
|
||||||
|
#ifdef HAVE_SYS_MOUNT_H
|
||||||
|
#include <sys/mount.h>
|
||||||
|
#endif
|
||||||
|
#ifdef HAVE_SYS_VFS_H
|
||||||
|
#include <sys/vfs.h>
|
||||||
|
#endif
|
||||||
|
main ()
|
||||||
|
{
|
||||||
|
struct statfs fsd;
|
||||||
|
fsd.f_bsize = 0;
|
||||||
|
exit (statfs (".", &fsd));
|
||||||
|
}],
|
||||||
|
fu_cv_sys_stat_statfs2_bsize=yes,
|
||||||
|
fu_cv_sys_stat_statfs2_bsize=no,
|
||||||
|
fu_cv_sys_stat_statfs2_bsize=no)])
|
||||||
|
AC_MSG_RESULT($fu_cv_sys_stat_statfs2_bsize)
|
||||||
|
if test $fu_cv_sys_stat_statfs2_bsize = yes; then
|
||||||
|
ac_fsusage_space=yes
|
||||||
|
AC_DEFINE(STAT_STATFS2_BSIZE, 1,
|
||||||
|
[ Define if statfs takes 2 args and struct statfs has a field named f_bsize.
|
||||||
|
(4.3BSD, SunOS 4, HP-UX, AIX PS/2)])
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
if test $ac_fsusage_space = no; then
|
||||||
|
# SVR3
|
||||||
|
AC_MSG_CHECKING([for four-argument statfs (AIX-3.2.5, SVR3)])
|
||||||
|
AC_CACHE_VAL(fu_cv_sys_stat_statfs4,
|
||||||
|
[AC_TRY_RUN([#include <sys/types.h>
|
||||||
|
#include <sys/statfs.h>
|
||||||
|
main ()
|
||||||
|
{
|
||||||
|
struct statfs fsd;
|
||||||
|
exit (statfs (".", &fsd, sizeof fsd, 0));
|
||||||
|
}],
|
||||||
|
fu_cv_sys_stat_statfs4=yes,
|
||||||
|
fu_cv_sys_stat_statfs4=no,
|
||||||
|
fu_cv_sys_stat_statfs4=no)])
|
||||||
|
AC_MSG_RESULT($fu_cv_sys_stat_statfs4)
|
||||||
|
if test $fu_cv_sys_stat_statfs4 = yes; then
|
||||||
|
ac_fsusage_space=yes
|
||||||
|
AC_DEFINE(STAT_STATFS4, 1,
|
||||||
|
[ Define if statfs takes 4 args. (SVR3, Dynix, Irix, Dolphin)])
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
if test $ac_fsusage_space = no; then
|
||||||
|
# 4.4BSD and NetBSD
|
||||||
|
AC_MSG_CHECKING([for two-argument statfs with statfs.fsize dnl
|
||||||
|
member (4.4BSD and NetBSD)])
|
||||||
|
AC_CACHE_VAL(fu_cv_sys_stat_statfs2_fsize,
|
||||||
|
[AC_TRY_RUN([#include <sys/types.h>
|
||||||
|
#ifdef HAVE_SYS_PARAM_H
|
||||||
|
#include <sys/param.h>
|
||||||
|
#endif
|
||||||
|
#ifdef HAVE_SYS_MOUNT_H
|
||||||
|
#include <sys/mount.h>
|
||||||
|
#endif
|
||||||
|
main ()
|
||||||
|
{
|
||||||
|
struct statfs fsd;
|
||||||
|
fsd.f_fsize = 0;
|
||||||
|
exit (statfs (".", &fsd));
|
||||||
|
}],
|
||||||
|
fu_cv_sys_stat_statfs2_fsize=yes,
|
||||||
|
fu_cv_sys_stat_statfs2_fsize=no,
|
||||||
|
fu_cv_sys_stat_statfs2_fsize=no)])
|
||||||
|
AC_MSG_RESULT($fu_cv_sys_stat_statfs2_fsize)
|
||||||
|
if test $fu_cv_sys_stat_statfs2_fsize = yes; then
|
||||||
|
ac_fsusage_space=yes
|
||||||
|
AC_DEFINE(STAT_STATFS2_FSIZE, 1,
|
||||||
|
[ Define if statfs takes 2 args and struct statfs has a field named f_fsize.
|
||||||
|
(4.4BSD, NetBSD)])
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
if test $ac_fsusage_space = no; then
|
||||||
|
# Ultrix
|
||||||
|
AC_MSG_CHECKING([for two-argument statfs with struct fs_data (Ultrix)])
|
||||||
|
AC_CACHE_VAL(fu_cv_sys_stat_fs_data,
|
||||||
|
[AC_TRY_RUN([#include <sys/types.h>
|
||||||
|
#ifdef HAVE_SYS_PARAM_H
|
||||||
|
#include <sys/param.h>
|
||||||
|
#endif
|
||||||
|
#ifdef HAVE_SYS_MOUNT_H
|
||||||
|
#include <sys/mount.h>
|
||||||
|
#endif
|
||||||
|
#ifdef HAVE_SYS_FS_TYPES_H
|
||||||
|
#include <sys/fs_types.h>
|
||||||
|
#endif
|
||||||
|
main ()
|
||||||
|
{
|
||||||
|
struct fs_data fsd;
|
||||||
|
/* Ultrix's statfs returns 1 for success,
|
||||||
|
0 for not mounted, -1 for failure. */
|
||||||
|
exit (statfs (".", &fsd) != 1);
|
||||||
|
}],
|
||||||
|
fu_cv_sys_stat_fs_data=yes,
|
||||||
|
fu_cv_sys_stat_fs_data=no,
|
||||||
|
fu_cv_sys_stat_fs_data=no)])
|
||||||
|
AC_MSG_RESULT($fu_cv_sys_stat_fs_data)
|
||||||
|
if test $fu_cv_sys_stat_fs_data = yes; then
|
||||||
|
ac_fsusage_space=yes
|
||||||
|
AC_DEFINE(STAT_STATFS2_FS_DATA, 1,
|
||||||
|
[ Define if statfs takes 2 args and the second argument has
|
||||||
|
type struct fs_data. (Ultrix)])
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
if test $ac_fsusage_space = no; then
|
||||||
|
# SVR2
|
||||||
|
AC_TRY_CPP([#include <sys/filsys.h>
|
||||||
|
],
|
||||||
|
AC_DEFINE(STAT_READ_FILSYS, 1,
|
||||||
|
[Define if there is no specific function for reading filesystems usage
|
||||||
|
information and you have the <sys/filsys.h> header file. (SVR2)])
|
||||||
|
ac_fsusage_space=yes)
|
||||||
|
fi
|
||||||
|
|
||||||
|
AS_IF([test $ac_fsusage_space = yes], [$1], [$2])
|
||||||
|
|
||||||
|
])
|
||||||
@@ -0,0 +1,14 @@
|
|||||||
|
#serial 4
|
||||||
|
|
||||||
|
# See if we need to emulate a missing ftruncate function using fcntl or chsize.
|
||||||
|
|
||||||
|
AC_DEFUN([jm_FUNC_FTRUNCATE],
|
||||||
|
[
|
||||||
|
AC_CHECK_FUNCS(ftruncate, , [ftruncate_missing=yes])
|
||||||
|
|
||||||
|
if test "$ftruncate_missing" = yes; then
|
||||||
|
AC_CHECK_HEADERS([unistd.h])
|
||||||
|
AC_CHECK_FUNCS([chsize])
|
||||||
|
AC_LIBOBJ(ftruncate)
|
||||||
|
fi
|
||||||
|
])
|
||||||
@@ -0,0 +1,74 @@
|
|||||||
|
#serial 2
|
||||||
|
# Use the replacement ftw.c if the one in the C library is inadequate or buggy.
|
||||||
|
# For now, we always use the code in lib/ because libc doesn't have the FTW_DCH
|
||||||
|
# or FTW_DCHP that we need. Arrange to use lib/ftw.h. And since that
|
||||||
|
# implementation uses tsearch.c/tdestroy, add tsearch.o to the list of
|
||||||
|
# objects and arrange to use lib/search.h if necessary.
|
||||||
|
# From Jim Meyering
|
||||||
|
|
||||||
|
AC_DEFUN([AC_FUNC_FTW],
|
||||||
|
[
|
||||||
|
# prerequisites
|
||||||
|
AC_REQUIRE([AC_HEADER_STAT])
|
||||||
|
AC_REQUIRE([jm_FUNC_LSTAT])
|
||||||
|
AC_REQUIRE([AC_HEADER_DIRENT])
|
||||||
|
AC_CHECK_HEADERS(sys/param.h)
|
||||||
|
AC_CHECK_DECLS([stpcpy])
|
||||||
|
|
||||||
|
# In the event that we have to use the replacement ftw.c,
|
||||||
|
# see if we'll also need the replacement tsearch.c.
|
||||||
|
AC_CHECK_FUNC([tdestroy], , [need_tdestroy=1])
|
||||||
|
|
||||||
|
AC_CACHE_CHECK([for ftw/FTW_CHDIR that informs callback of failed chdir],
|
||||||
|
ac_cv_func_ftw_working,
|
||||||
|
[
|
||||||
|
# The following test would fail prior to glibc-2.3.2, because `depth'
|
||||||
|
# would be 2 rather than 4. Of course, now that we require FTW_DCH
|
||||||
|
# and FTW_DCHP, this test fails even with GNU libc's fixed ftw.
|
||||||
|
mkdir -p conftest.dir/a/b/c
|
||||||
|
AC_RUN_IFELSE([AC_LANG_SOURCE([[
|
||||||
|
#include <string.h>
|
||||||
|
#include <stdlib.h>
|
||||||
|
#include <ftw.h>
|
||||||
|
|
||||||
|
static char *_f[] = { "conftest.dir", "conftest.dir/a",
|
||||||
|
"conftest.dir/a/b", "conftest.dir/a/b/c" };
|
||||||
|
static char **p = _f;
|
||||||
|
static int depth;
|
||||||
|
|
||||||
|
static int
|
||||||
|
cb (const char *file, const struct stat *sb, int file_type, struct FTW *info)
|
||||||
|
{
|
||||||
|
if (strcmp (file, *p++) != 0)
|
||||||
|
exit (1);
|
||||||
|
++depth;
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
int
|
||||||
|
main ()
|
||||||
|
{
|
||||||
|
/* Require these symbols, too. */
|
||||||
|
int d1 = FTW_DCH;
|
||||||
|
int d2 = FTW_DCHP;
|
||||||
|
|
||||||
|
int err = nftw ("conftest.dir", cb, 30, FTW_PHYS | FTW_MOUNT | FTW_CHDIR);
|
||||||
|
exit ((err == 0 && depth == 4) ? 0 : 1);
|
||||||
|
}
|
||||||
|
]])],
|
||||||
|
[ac_cv_func_ftw_working=yes],
|
||||||
|
[ac_cv_func_ftw_working=no],
|
||||||
|
[ac_cv_func_ftw_working=no])])
|
||||||
|
rm -rf conftest.dir
|
||||||
|
if test $ac_cv_func_ftw_working = no; then
|
||||||
|
AC_LIBOBJ([ftw])
|
||||||
|
AC_CONFIG_LINKS([$ac_config_libobj_dir/ftw.h:$ac_config_libobj_dir/ftw_.h])
|
||||||
|
# Add tsearch.o IFF we have to use the replacement ftw.c.
|
||||||
|
if test -n "$need_tdestroy"; then
|
||||||
|
AC_LIBOBJ([tsearch])
|
||||||
|
# Link search.h to search_.h if we use the replacement tsearch.c.
|
||||||
|
AC_CONFIG_LINKS(
|
||||||
|
[$ac_config_libobj_dir/search.h:$ac_config_libobj_dir/search_.h])
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
])# AC_FUNC_FTW
|
||||||
@@ -0,0 +1,136 @@
|
|||||||
|
#serial 2
|
||||||
|
# Check whether getcwd has the bug that it succeeds for a working directory
|
||||||
|
# longer than PATH_MAX, yet returns a truncated directory name.
|
||||||
|
# If so, arrange to compile the wrapper function.
|
||||||
|
|
||||||
|
# This is necessary for at least GNU libc on linux-2.4.19 and 2.4.20.
|
||||||
|
# I've heard that this is due to a Linux kernel bug, and that it has
|
||||||
|
# been fixed between 2.4.21-pre3 and 2.4.21-pre4. */
|
||||||
|
|
||||||
|
# From Jim Meyering
|
||||||
|
|
||||||
|
AC_DEFUN([GL_FUNC_GETCWD_PATH_MAX],
|
||||||
|
[
|
||||||
|
AC_CACHE_CHECK([whether getcwd properly handles paths longer than PATH_MAX],
|
||||||
|
gl_cv_func_getcwd_vs_path_max,
|
||||||
|
[
|
||||||
|
AC_CHECK_DECLS([getcwd])
|
||||||
|
# Arrange for deletion of the temporary directory this test creates.
|
||||||
|
ac_clean_files="$ac_clean_files confdir3"
|
||||||
|
AC_RUN_IFELSE([AC_LANG_SOURCE([[
|
||||||
|
#include <stdlib.h>
|
||||||
|
#include <unistd.h>
|
||||||
|
#include <string.h>
|
||||||
|
#include <limits.h>
|
||||||
|
#include <sys/stat.h>
|
||||||
|
#include <sys/types.h>
|
||||||
|
|
||||||
|
/* Don't get link errors because mkdir is redefined to rpl_mkdir. */
|
||||||
|
#undef mkdir
|
||||||
|
|
||||||
|
#ifndef CHAR_BIT
|
||||||
|
# define CHAR_BIT 8
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/* The extra casts work around common compiler bugs. */
|
||||||
|
#define TYPE_SIGNED(t) (! ((t) 0 < (t) -1))
|
||||||
|
/* The outer cast is needed to work around a bug in Cray C 5.0.3.0.
|
||||||
|
It is necessary at least when t == time_t. */
|
||||||
|
#define TYPE_MINIMUM(t) ((t) (TYPE_SIGNED (t) \
|
||||||
|
? ~ (t) 0 << (sizeof (t) * CHAR_BIT - 1) : (t) 0))
|
||||||
|
#define TYPE_MAXIMUM(t) ((t) (~ (t) 0 - TYPE_MINIMUM (t)))
|
||||||
|
|
||||||
|
#ifndef INT_MAX
|
||||||
|
# define INT_MAX TYPE_MAXIMUM (int)
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifndef PATH_MAX
|
||||||
|
/* There might be a better way to handle this case, but note:
|
||||||
|
- the value shouldn't be anywhere near INT_MAX, and
|
||||||
|
- the value shouldn't be so big that the local declaration, below,
|
||||||
|
blows the stack. */
|
||||||
|
# define PATH_MAX 40000
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/* The length of this name must be 8. */
|
||||||
|
#define DIR_NAME "confdir3"
|
||||||
|
|
||||||
|
int
|
||||||
|
main ()
|
||||||
|
{
|
||||||
|
/* The '9' comes from strlen (DIR_NAME) + 1. */
|
||||||
|
#if INT_MAX - 9 <= PATH_MAX
|
||||||
|
/* FIXME: Assuming there's a system for which this is true -- Hurd?,
|
||||||
|
this should be done in a compile test. */
|
||||||
|
exit (0);
|
||||||
|
#else
|
||||||
|
char buf[PATH_MAX + 20];
|
||||||
|
char *cwd = getcwd (buf, PATH_MAX);
|
||||||
|
size_t cwd_len;
|
||||||
|
int fail = 0;
|
||||||
|
size_t n_chdirs = 0;
|
||||||
|
|
||||||
|
if (cwd == NULL)
|
||||||
|
exit (1);
|
||||||
|
|
||||||
|
cwd_len = strlen (cwd);
|
||||||
|
|
||||||
|
while (1)
|
||||||
|
{
|
||||||
|
char *c;
|
||||||
|
size_t len;
|
||||||
|
|
||||||
|
cwd_len += 1 + strlen (DIR_NAME);
|
||||||
|
/* If mkdir or chdir fails, be pessimistic and consider that
|
||||||
|
as a failure, too. */
|
||||||
|
if (mkdir (DIR_NAME, 0700) < 0 || chdir (DIR_NAME) < 0)
|
||||||
|
{
|
||||||
|
fail = 1;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
if ((c = getcwd (buf, PATH_MAX)) == NULL)
|
||||||
|
{
|
||||||
|
/* This allows any failure to indicate there is no bug.
|
||||||
|
FIXME: check errno? */
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
if ((len = strlen (c)) != cwd_len)
|
||||||
|
{
|
||||||
|
fail = 1;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
++n_chdirs;
|
||||||
|
if (PATH_MAX < len)
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Leaving behind such a deep directory is not polite.
|
||||||
|
So clean up here, right away, even though the driving
|
||||||
|
shell script would also clean up. */
|
||||||
|
{
|
||||||
|
size_t i;
|
||||||
|
|
||||||
|
/* Unlink first, in case the chdir failed. */
|
||||||
|
unlink (DIR_NAME);
|
||||||
|
for (i = 0; i <= n_chdirs; i++)
|
||||||
|
{
|
||||||
|
if (chdir ("..") < 0)
|
||||||
|
break;
|
||||||
|
rmdir (DIR_NAME);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
exit (fail);
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
]])],
|
||||||
|
[gl_cv_func_getcwd_vs_path_max=yes],
|
||||||
|
[gl_cv_func_getcwd_vs_path_max=no],
|
||||||
|
[gl_cv_func_getcwd_vs_path_max=no])])
|
||||||
|
|
||||||
|
if test $gl_cv_func_getcwd_vs_path_max = yes; then
|
||||||
|
AC_LIBOBJ(getcwd)
|
||||||
|
AC_DEFINE(getcwd, rpl_getcwd,
|
||||||
|
[Define to rpl_getcwd if the wrapper function should be used.])
|
||||||
|
fi
|
||||||
|
])
|
||||||
@@ -0,0 +1,53 @@
|
|||||||
|
# getcwd.m4 - check whether getcwd (NULL, 0) allocates memory for result
|
||||||
|
|
||||||
|
# Copyright 2001 Free Software Foundation, Inc.
|
||||||
|
|
||||||
|
# This program is free software; you can redistribute it and/or modify
|
||||||
|
# it under the terms of the GNU General Public License as published by
|
||||||
|
# the Free Software Foundation; either version 2, or (at your option)
|
||||||
|
# any later version.
|
||||||
|
|
||||||
|
# This program is distributed in the hope that it will be useful,
|
||||||
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
# GNU General Public License for more details.
|
||||||
|
|
||||||
|
# You should have received a copy of the GNU General Public License
|
||||||
|
# along with this program; if not, write to the Free Software Foundation,
|
||||||
|
# Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
|
||||||
|
|
||||||
|
# Written by Paul Eggert.
|
||||||
|
|
||||||
|
AC_DEFUN([AC_FUNC_GETCWD_NULL],
|
||||||
|
[AC_CHECK_HEADERS(stdlib.h unistd.h)
|
||||||
|
AC_CACHE_CHECK([whether getcwd (NULL, 0) allocates memory for result],
|
||||||
|
[ac_cv_func_getcwd_null],
|
||||||
|
[AC_TRY_RUN(
|
||||||
|
[
|
||||||
|
# ifdef HAVE_STDLIB_H
|
||||||
|
# include <stdlib.h>
|
||||||
|
# endif
|
||||||
|
# ifdef HAVE_UNISTD_H
|
||||||
|
# include <unistd.h>
|
||||||
|
# endif
|
||||||
|
# ifndef getcwd
|
||||||
|
char *getcwd ();
|
||||||
|
# endif
|
||||||
|
int
|
||||||
|
main ()
|
||||||
|
{
|
||||||
|
if (chdir ("/") != 0)
|
||||||
|
exit (1);
|
||||||
|
else
|
||||||
|
{
|
||||||
|
char *f = getcwd (NULL, 0);
|
||||||
|
exit (! (f && f[0] == '/' && !f[1]));
|
||||||
|
}
|
||||||
|
}],
|
||||||
|
[ac_cv_func_getcwd_null=yes],
|
||||||
|
[ac_cv_func_getcwd_null=no],
|
||||||
|
[ac_cv_func_getcwd_null=no])])
|
||||||
|
if test $ac_cv_func_getcwd_null = yes; then
|
||||||
|
AC_DEFINE(HAVE_GETCWD_NULL, 1,
|
||||||
|
[Define if getcwd (NULL, 0) allocates memory for result.])
|
||||||
|
fi])
|
||||||
@@ -0,0 +1,14 @@
|
|||||||
|
#serial 7
|
||||||
|
|
||||||
|
dnl From Jim Meyering.
|
||||||
|
dnl A wrapper around AC_FUNC_GETGROUPS.
|
||||||
|
|
||||||
|
AC_DEFUN([jm_FUNC_GETGROUPS],
|
||||||
|
[AC_REQUIRE([AC_FUNC_GETGROUPS])dnl
|
||||||
|
if test $ac_cv_func_getgroups_works = no; then
|
||||||
|
AC_LIBOBJ(getgroups)
|
||||||
|
AC_DEFINE(getgroups, rpl_getgroups,
|
||||||
|
[Define as rpl_getgroups if getgroups doesn't work right.])
|
||||||
|
fi
|
||||||
|
test -n "$GETGROUPS_LIB" && LIBS="$GETGROUPS_LIB $LIBS"
|
||||||
|
])
|
||||||
@@ -0,0 +1,41 @@
|
|||||||
|
#serial 5
|
||||||
|
|
||||||
|
dnl See if there's a working, system-supplied version of the getline function.
|
||||||
|
dnl We can't just do AC_REPLACE_FUNCS(getline) because some systems
|
||||||
|
dnl have a function by that name in -linet that doesn't have anything
|
||||||
|
dnl to do with the function we need.
|
||||||
|
AC_DEFUN([AM_FUNC_GETLINE],
|
||||||
|
[dnl
|
||||||
|
am_getline_needs_run_time_check=no
|
||||||
|
AC_CHECK_FUNC(getline,
|
||||||
|
dnl Found it in some library. Verify that it works.
|
||||||
|
am_getline_needs_run_time_check=yes,
|
||||||
|
am_cv_func_working_getline=no)
|
||||||
|
if test $am_getline_needs_run_time_check = yes; then
|
||||||
|
AC_CACHE_CHECK([for working getline function], am_cv_func_working_getline,
|
||||||
|
[echo fooN |tr -d '\012'|tr N '\012' > conftest.data
|
||||||
|
AC_TRY_RUN([
|
||||||
|
# include <stdio.h>
|
||||||
|
# include <sys/types.h>
|
||||||
|
# include <string.h>
|
||||||
|
int main ()
|
||||||
|
{ /* Based on a test program from Karl Heuer. */
|
||||||
|
char *line = NULL;
|
||||||
|
size_t siz = 0;
|
||||||
|
int len;
|
||||||
|
FILE *in = fopen ("./conftest.data", "r");
|
||||||
|
if (!in)
|
||||||
|
return 1;
|
||||||
|
len = getline (&line, &siz, in);
|
||||||
|
exit ((len == 4 && line && strcmp (line, "foo\n") == 0) ? 0 : 1);
|
||||||
|
}
|
||||||
|
], am_cv_func_working_getline=yes dnl The library version works.
|
||||||
|
, am_cv_func_working_getline=no dnl The library version does NOT work.
|
||||||
|
, am_cv_func_working_getline=no dnl We're cross compiling.
|
||||||
|
)])
|
||||||
|
fi
|
||||||
|
|
||||||
|
if test $am_cv_func_working_getline = no; then
|
||||||
|
AC_LIBOBJ(getline)
|
||||||
|
fi
|
||||||
|
])
|
||||||
@@ -0,0 +1,586 @@
|
|||||||
|
# gettext.m4 serial 17 (gettext-0.11.5)
|
||||||
|
dnl Copyright (C) 1995-2002 Free Software Foundation, Inc.
|
||||||
|
dnl This file is free software, distributed under the terms of the GNU
|
||||||
|
dnl General Public License. As a special exception to the GNU General
|
||||||
|
dnl Public License, this file may be distributed as part of a program
|
||||||
|
dnl that contains a configuration script generated by Autoconf, under
|
||||||
|
dnl the same distribution terms as the rest of that program.
|
||||||
|
dnl
|
||||||
|
dnl This file can can be used in projects which are not available under
|
||||||
|
dnl the GNU General Public License or the GNU Library General Public
|
||||||
|
dnl License but which still want to provide support for the GNU gettext
|
||||||
|
dnl functionality.
|
||||||
|
dnl Please note that the actual code of the GNU gettext library is covered
|
||||||
|
dnl by the GNU Library General Public License, and the rest of the GNU
|
||||||
|
dnl gettext package package is covered by the GNU General Public License.
|
||||||
|
dnl They are *not* in the public domain.
|
||||||
|
|
||||||
|
dnl Authors:
|
||||||
|
dnl Ulrich Drepper <[email protected]>, 1995-2000.
|
||||||
|
dnl Bruno Haible <[email protected]>, 2000-2002.
|
||||||
|
|
||||||
|
dnl Macro to add for using GNU gettext.
|
||||||
|
|
||||||
|
dnl Usage: AM_GNU_GETTEXT([INTLSYMBOL], [NEEDSYMBOL], [INTLDIR]).
|
||||||
|
dnl INTLSYMBOL can be one of 'external', 'no-libtool', 'use-libtool'. The
|
||||||
|
dnl default (if it is not specified or empty) is 'no-libtool'.
|
||||||
|
dnl INTLSYMBOL should be 'external' for packages with no intl directory,
|
||||||
|
dnl and 'no-libtool' or 'use-libtool' for packages with an intl directory.
|
||||||
|
dnl If INTLSYMBOL is 'use-libtool', then a libtool library
|
||||||
|
dnl $(top_builddir)/intl/libintl.la will be created (shared and/or static,
|
||||||
|
dnl depending on --{enable,disable}-{shared,static} and on the presence of
|
||||||
|
dnl AM-DISABLE-SHARED). If INTLSYMBOL is 'no-libtool', a static library
|
||||||
|
dnl $(top_builddir)/intl/libintl.a will be created.
|
||||||
|
dnl If NEEDSYMBOL is specified and is 'need-ngettext', then GNU gettext
|
||||||
|
dnl implementations (in libc or libintl) without the ngettext() function
|
||||||
|
dnl will be ignored. If NEEDSYMBOL is specified and is
|
||||||
|
dnl 'need-formatstring-macros', then GNU gettext implementations that don't
|
||||||
|
dnl support the ISO C 99 <inttypes.h> formatstring macros will be ignored.
|
||||||
|
dnl INTLDIR is used to find the intl libraries. If empty,
|
||||||
|
dnl the value `$(top_builddir)/intl/' is used.
|
||||||
|
dnl
|
||||||
|
dnl The result of the configuration is one of three cases:
|
||||||
|
dnl 1) GNU gettext, as included in the intl subdirectory, will be compiled
|
||||||
|
dnl and used.
|
||||||
|
dnl Catalog format: GNU --> install in $(datadir)
|
||||||
|
dnl Catalog extension: .mo after installation, .gmo in source tree
|
||||||
|
dnl 2) GNU gettext has been found in the system's C library.
|
||||||
|
dnl Catalog format: GNU --> install in $(datadir)
|
||||||
|
dnl Catalog extension: .mo after installation, .gmo in source tree
|
||||||
|
dnl 3) No internationalization, always use English msgid.
|
||||||
|
dnl Catalog format: none
|
||||||
|
dnl Catalog extension: none
|
||||||
|
dnl If INTLSYMBOL is 'external', only cases 2 and 3 can occur.
|
||||||
|
dnl The use of .gmo is historical (it was needed to avoid overwriting the
|
||||||
|
dnl GNU format catalogs when building on a platform with an X/Open gettext),
|
||||||
|
dnl but we keep it in order not to force irrelevant filename changes on the
|
||||||
|
dnl maintainers.
|
||||||
|
dnl
|
||||||
|
AC_DEFUN([AM_GNU_GETTEXT],
|
||||||
|
[
|
||||||
|
dnl Argument checking.
|
||||||
|
ifelse([$1], [], , [ifelse([$1], [external], , [ifelse([$1], [no-libtool], , [ifelse([$1], [use-libtool], ,
|
||||||
|
[errprint([ERROR: invalid first argument to AM_GNU_GETTEXT
|
||||||
|
])])])])])
|
||||||
|
ifelse([$2], [], , [ifelse([$2], [need-ngettext], , [ifelse([$2], [need-formatstring-macros], ,
|
||||||
|
[errprint([ERROR: invalid second argument to AM_GNU_GETTEXT
|
||||||
|
])])])])
|
||||||
|
define(gt_included_intl, ifelse([$1], [external], [no], [yes]))
|
||||||
|
define(gt_libtool_suffix_prefix, ifelse([$1], [use-libtool], [l], []))
|
||||||
|
|
||||||
|
AC_REQUIRE([AM_PO_SUBDIRS])dnl
|
||||||
|
ifelse(gt_included_intl, yes, [
|
||||||
|
AC_REQUIRE([AM_INTL_SUBDIR])dnl
|
||||||
|
])
|
||||||
|
|
||||||
|
dnl Prerequisites of AC_LIB_LINKFLAGS_BODY.
|
||||||
|
AC_REQUIRE([AC_LIB_PREPARE_PREFIX])
|
||||||
|
AC_REQUIRE([AC_LIB_RPATH])
|
||||||
|
|
||||||
|
dnl Sometimes libintl requires libiconv, so first search for libiconv.
|
||||||
|
dnl Ideally we would do this search only after the
|
||||||
|
dnl if test "$USE_NLS" = "yes"; then
|
||||||
|
dnl if test "$gt_cv_func_gnugettext_libc" != "yes"; then
|
||||||
|
dnl tests. But if configure.in invokes AM_ICONV after AM_GNU_GETTEXT
|
||||||
|
dnl the configure script would need to contain the same shell code
|
||||||
|
dnl again, outside any 'if'. There are two solutions:
|
||||||
|
dnl - Invoke AM_ICONV_LINKFLAGS_BODY here, outside any 'if'.
|
||||||
|
dnl - Control the expansions in more detail using AC_PROVIDE_IFELSE.
|
||||||
|
dnl Since AC_PROVIDE_IFELSE is only in autoconf >= 2.52 and not
|
||||||
|
dnl documented, we avoid it.
|
||||||
|
ifelse(gt_included_intl, yes, , [
|
||||||
|
AC_REQUIRE([AM_ICONV_LINKFLAGS_BODY])
|
||||||
|
])
|
||||||
|
|
||||||
|
AC_MSG_CHECKING([whether NLS is requested])
|
||||||
|
dnl Default is enabled NLS
|
||||||
|
AC_ARG_ENABLE(nls,
|
||||||
|
[ --disable-nls do not use Native Language Support],
|
||||||
|
USE_NLS=$enableval, USE_NLS=yes)
|
||||||
|
AC_MSG_RESULT($USE_NLS)
|
||||||
|
AC_SUBST(USE_NLS)
|
||||||
|
|
||||||
|
ifelse(gt_included_intl, yes, [
|
||||||
|
BUILD_INCLUDED_LIBINTL=no
|
||||||
|
USE_INCLUDED_LIBINTL=no
|
||||||
|
])
|
||||||
|
LIBINTL=
|
||||||
|
LTLIBINTL=
|
||||||
|
POSUB=
|
||||||
|
|
||||||
|
dnl If we use NLS figure out what method
|
||||||
|
if test "$USE_NLS" = "yes"; then
|
||||||
|
gt_use_preinstalled_gnugettext=no
|
||||||
|
ifelse(gt_included_intl, yes, [
|
||||||
|
AC_MSG_CHECKING([whether included gettext is requested])
|
||||||
|
AC_ARG_WITH(included-gettext,
|
||||||
|
[ --with-included-gettext use the GNU gettext library included here],
|
||||||
|
nls_cv_force_use_gnu_gettext=$withval,
|
||||||
|
nls_cv_force_use_gnu_gettext=no)
|
||||||
|
AC_MSG_RESULT($nls_cv_force_use_gnu_gettext)
|
||||||
|
|
||||||
|
nls_cv_use_gnu_gettext="$nls_cv_force_use_gnu_gettext"
|
||||||
|
if test "$nls_cv_force_use_gnu_gettext" != "yes"; then
|
||||||
|
])
|
||||||
|
dnl User does not insist on using GNU NLS library. Figure out what
|
||||||
|
dnl to use. If GNU gettext is available we use this. Else we have
|
||||||
|
dnl to fall back to GNU NLS library.
|
||||||
|
|
||||||
|
dnl Add a version number to the cache macros.
|
||||||
|
define([gt_api_version], ifelse([$2], [need-formatstring-macros], 3, ifelse([$2], [need-ngettext], 2, 1)))
|
||||||
|
define([gt_cv_func_gnugettext_libc], [gt_cv_func_gnugettext]gt_api_version[_libc])
|
||||||
|
define([gt_cv_func_gnugettext_libintl], [gt_cv_func_gnugettext]gt_api_version[_libintl])
|
||||||
|
|
||||||
|
AC_CACHE_CHECK([for GNU gettext in libc], gt_cv_func_gnugettext_libc,
|
||||||
|
[AC_TRY_LINK([#include <libintl.h>
|
||||||
|
]ifelse([$2], [need-formatstring-macros],
|
||||||
|
[#ifndef __GNU_GETTEXT_SUPPORTED_REVISION
|
||||||
|
#define __GNU_GETTEXT_SUPPORTED_REVISION(major) ((major) == 0 ? 0 : -1)
|
||||||
|
#endif
|
||||||
|
changequote(,)dnl
|
||||||
|
typedef int array [2 * (__GNU_GETTEXT_SUPPORTED_REVISION(0) >= 1) - 1];
|
||||||
|
changequote([,])dnl
|
||||||
|
], [])[extern int _nl_msg_cat_cntr;
|
||||||
|
extern int *_nl_domain_bindings;],
|
||||||
|
[bindtextdomain ("", "");
|
||||||
|
return (int) gettext ("")]ifelse([$2], [need-ngettext], [ + (int) ngettext ("", "", 0)], [])[ + _nl_msg_cat_cntr + *_nl_domain_bindings],
|
||||||
|
gt_cv_func_gnugettext_libc=yes,
|
||||||
|
gt_cv_func_gnugettext_libc=no)])
|
||||||
|
|
||||||
|
if test "$gt_cv_func_gnugettext_libc" != "yes"; then
|
||||||
|
dnl Sometimes libintl requires libiconv, so first search for libiconv.
|
||||||
|
ifelse(gt_included_intl, yes, , [
|
||||||
|
AM_ICONV_LINK
|
||||||
|
])
|
||||||
|
dnl Search for libintl and define LIBINTL, LTLIBINTL and INCINTL
|
||||||
|
dnl accordingly. Don't use AC_LIB_LINKFLAGS_BODY([intl],[iconv])
|
||||||
|
dnl because that would add "-liconv" to LIBINTL and LTLIBINTL
|
||||||
|
dnl even if libiconv doesn't exist.
|
||||||
|
AC_LIB_LINKFLAGS_BODY([intl])
|
||||||
|
AC_CACHE_CHECK([for GNU gettext in libintl],
|
||||||
|
gt_cv_func_gnugettext_libintl,
|
||||||
|
[gt_save_CPPFLAGS="$CPPFLAGS"
|
||||||
|
CPPFLAGS="$CPPFLAGS $INCINTL"
|
||||||
|
gt_save_LIBS="$LIBS"
|
||||||
|
LIBS="$LIBS $LIBINTL"
|
||||||
|
dnl Now see whether libintl exists and does not depend on libiconv.
|
||||||
|
AC_TRY_LINK([#include <libintl.h>
|
||||||
|
]ifelse([$2], [need-formatstring-macros],
|
||||||
|
[#ifndef __GNU_GETTEXT_SUPPORTED_REVISION
|
||||||
|
#define __GNU_GETTEXT_SUPPORTED_REVISION(major) ((major) == 0 ? 0 : -1)
|
||||||
|
#endif
|
||||||
|
changequote(,)dnl
|
||||||
|
typedef int array [2 * (__GNU_GETTEXT_SUPPORTED_REVISION(0) >= 1) - 1];
|
||||||
|
changequote([,])dnl
|
||||||
|
], [])[extern int _nl_msg_cat_cntr;
|
||||||
|
extern
|
||||||
|
#ifdef __cplusplus
|
||||||
|
"C"
|
||||||
|
#endif
|
||||||
|
const char *_nl_expand_alias ();],
|
||||||
|
[bindtextdomain ("", "");
|
||||||
|
return (int) gettext ("")]ifelse([$2], [need-ngettext], [ + (int) ngettext ("", "", 0)], [])[ + _nl_msg_cat_cntr + *_nl_expand_alias (0)],
|
||||||
|
gt_cv_func_gnugettext_libintl=yes,
|
||||||
|
gt_cv_func_gnugettext_libintl=no)
|
||||||
|
dnl Now see whether libintl exists and depends on libiconv.
|
||||||
|
if test "$gt_cv_func_gnugettext_libintl" != yes && test -n "$LIBICONV"; then
|
||||||
|
LIBS="$LIBS $LIBICONV"
|
||||||
|
AC_TRY_LINK([#include <libintl.h>
|
||||||
|
]ifelse([$2], [need-formatstring-macros],
|
||||||
|
[#ifndef __GNU_GETTEXT_SUPPORTED_REVISION
|
||||||
|
#define __GNU_GETTEXT_SUPPORTED_REVISION(major) ((major) == 0 ? 0 : -1)
|
||||||
|
#endif
|
||||||
|
changequote(,)dnl
|
||||||
|
typedef int array [2 * (__GNU_GETTEXT_SUPPORTED_REVISION(0) >= 1) - 1];
|
||||||
|
changequote([,])dnl
|
||||||
|
], [])[extern int _nl_msg_cat_cntr;
|
||||||
|
extern
|
||||||
|
#ifdef __cplusplus
|
||||||
|
"C"
|
||||||
|
#endif
|
||||||
|
const char *_nl_expand_alias ();],
|
||||||
|
[bindtextdomain ("", "");
|
||||||
|
return (int) gettext ("")]ifelse([$2], [need-ngettext], [ + (int) ngettext ("", "", 0)], [])[ + _nl_msg_cat_cntr + *_nl_expand_alias (0)],
|
||||||
|
[LIBINTL="$LIBINTL $LIBICONV"
|
||||||
|
LTLIBINTL="$LTLIBINTL $LTLIBICONV"
|
||||||
|
gt_cv_func_gnugettext_libintl=yes
|
||||||
|
])
|
||||||
|
fi
|
||||||
|
CPPFLAGS="$gt_save_CPPFLAGS"
|
||||||
|
LIBS="$gt_save_LIBS"])
|
||||||
|
fi
|
||||||
|
|
||||||
|
dnl If an already present or preinstalled GNU gettext() is found,
|
||||||
|
dnl use it. But if this macro is used in GNU gettext, and GNU
|
||||||
|
dnl gettext is already preinstalled in libintl, we update this
|
||||||
|
dnl libintl. (Cf. the install rule in intl/Makefile.in.)
|
||||||
|
if test "$gt_cv_func_gnugettext_libc" = "yes" \
|
||||||
|
|| { test "$gt_cv_func_gnugettext_libintl" = "yes" \
|
||||||
|
&& test "$PACKAGE" != gettext; }; then
|
||||||
|
gt_use_preinstalled_gnugettext=yes
|
||||||
|
else
|
||||||
|
dnl Reset the values set by searching for libintl.
|
||||||
|
LIBINTL=
|
||||||
|
LTLIBINTL=
|
||||||
|
INCINTL=
|
||||||
|
fi
|
||||||
|
|
||||||
|
ifelse(gt_included_intl, yes, [
|
||||||
|
if test "$gt_use_preinstalled_gnugettext" != "yes"; then
|
||||||
|
dnl GNU gettext is not found in the C library.
|
||||||
|
dnl Fall back on included GNU gettext library.
|
||||||
|
nls_cv_use_gnu_gettext=yes
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
if test "$nls_cv_use_gnu_gettext" = "yes"; then
|
||||||
|
dnl Mark actions used to generate GNU NLS library.
|
||||||
|
INTLOBJS="\$(GETTOBJS)"
|
||||||
|
BUILD_INCLUDED_LIBINTL=yes
|
||||||
|
USE_INCLUDED_LIBINTL=yes
|
||||||
|
LIBINTL="ifelse([$3],[],\${top_builddir}/intl,[$3])/libintl.[]gt_libtool_suffix_prefix[]a $LIBICONV"
|
||||||
|
LTLIBINTL="ifelse([$3],[],\${top_builddir}/intl,[$3])/libintl.[]gt_libtool_suffix_prefix[]a $LTLIBICONV"
|
||||||
|
LIBS=`echo " $LIBS " | sed -e 's/ -lintl / /' -e 's/^ //' -e 's/ $//'`
|
||||||
|
fi
|
||||||
|
|
||||||
|
if test "$gt_use_preinstalled_gnugettext" = "yes" \
|
||||||
|
|| test "$nls_cv_use_gnu_gettext" = "yes"; then
|
||||||
|
dnl Mark actions to use GNU gettext tools.
|
||||||
|
CATOBJEXT=.gmo
|
||||||
|
fi
|
||||||
|
])
|
||||||
|
|
||||||
|
if test "$gt_use_preinstalled_gnugettext" = "yes" \
|
||||||
|
|| test "$nls_cv_use_gnu_gettext" = "yes"; then
|
||||||
|
AC_DEFINE(ENABLE_NLS, 1,
|
||||||
|
[Define to 1 if translation of program messages to the user's native language
|
||||||
|
is requested.])
|
||||||
|
else
|
||||||
|
USE_NLS=no
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
if test "$USE_NLS" = "yes"; then
|
||||||
|
|
||||||
|
if test "$gt_use_preinstalled_gnugettext" = "yes"; then
|
||||||
|
if test "$gt_cv_func_gnugettext_libintl" = "yes"; then
|
||||||
|
AC_MSG_CHECKING([how to link with libintl])
|
||||||
|
AC_MSG_RESULT([$LIBINTL])
|
||||||
|
AC_LIB_APPENDTOVAR([CPPFLAGS], [$INCINTL])
|
||||||
|
fi
|
||||||
|
|
||||||
|
dnl For backward compatibility. Some packages may be using this.
|
||||||
|
AC_DEFINE(HAVE_GETTEXT, 1,
|
||||||
|
[Define if the GNU gettext() function is already present or preinstalled.])
|
||||||
|
AC_DEFINE(HAVE_DCGETTEXT, 1,
|
||||||
|
[Define if the GNU dcgettext() function is already present or preinstalled.])
|
||||||
|
fi
|
||||||
|
|
||||||
|
dnl We need to process the po/ directory.
|
||||||
|
POSUB=po
|
||||||
|
fi
|
||||||
|
|
||||||
|
ifelse(gt_included_intl, yes, [
|
||||||
|
dnl If this is used in GNU gettext we have to set BUILD_INCLUDED_LIBINTL
|
||||||
|
dnl to 'yes' because some of the testsuite requires it.
|
||||||
|
if test "$PACKAGE" = gettext; then
|
||||||
|
BUILD_INCLUDED_LIBINTL=yes
|
||||||
|
fi
|
||||||
|
|
||||||
|
dnl Make all variables we use known to autoconf.
|
||||||
|
AC_SUBST(BUILD_INCLUDED_LIBINTL)
|
||||||
|
AC_SUBST(USE_INCLUDED_LIBINTL)
|
||||||
|
AC_SUBST(CATOBJEXT)
|
||||||
|
AC_SUBST(INTLOBJS)
|
||||||
|
|
||||||
|
dnl For backward compatibility. Some configure.ins may be using this.
|
||||||
|
nls_cv_header_intl=
|
||||||
|
nls_cv_header_libgt=
|
||||||
|
|
||||||
|
dnl For backward compatibility. Some Makefiles may be using this.
|
||||||
|
DATADIRNAME=share
|
||||||
|
AC_SUBST(DATADIRNAME)
|
||||||
|
|
||||||
|
dnl For backward compatibility. Some Makefiles may be using this.
|
||||||
|
INSTOBJEXT=.mo
|
||||||
|
AC_SUBST(INSTOBJEXT)
|
||||||
|
|
||||||
|
dnl For backward compatibility. Some Makefiles may be using this.
|
||||||
|
GENCAT=gencat
|
||||||
|
AC_SUBST(GENCAT)
|
||||||
|
|
||||||
|
dnl Enable libtool support if the surrounding package wishes it.
|
||||||
|
INTL_LIBTOOL_SUFFIX_PREFIX=gt_libtool_suffix_prefix
|
||||||
|
AC_SUBST(INTL_LIBTOOL_SUFFIX_PREFIX)
|
||||||
|
])
|
||||||
|
|
||||||
|
dnl For backward compatibility. Some Makefiles may be using this.
|
||||||
|
INTLLIBS="$LIBINTL"
|
||||||
|
AC_SUBST(INTLLIBS)
|
||||||
|
|
||||||
|
dnl Make all documented variables known to autoconf.
|
||||||
|
AC_SUBST(LIBINTL)
|
||||||
|
AC_SUBST(LTLIBINTL)
|
||||||
|
AC_SUBST(POSUB)
|
||||||
|
])
|
||||||
|
|
||||||
|
|
||||||
|
dnl Checks for all prerequisites of the po subdirectory,
|
||||||
|
dnl except for USE_NLS.
|
||||||
|
AC_DEFUN([AM_PO_SUBDIRS],
|
||||||
|
[
|
||||||
|
AC_REQUIRE([AC_PROG_MAKE_SET])dnl
|
||||||
|
AC_REQUIRE([AC_PROG_INSTALL])dnl
|
||||||
|
AC_REQUIRE([AM_MKINSTALLDIRS])dnl
|
||||||
|
|
||||||
|
dnl Perform the following tests also if --disable-nls has been given,
|
||||||
|
dnl because they are needed for "make dist" to work.
|
||||||
|
|
||||||
|
dnl Search for GNU msgfmt in the PATH.
|
||||||
|
dnl The first test excludes Solaris msgfmt and early GNU msgfmt versions.
|
||||||
|
dnl The second test excludes FreeBSD msgfmt.
|
||||||
|
AM_PATH_PROG_WITH_TEST(MSGFMT, msgfmt,
|
||||||
|
[$ac_dir/$ac_word --statistics /dev/null >/dev/null 2>&1 &&
|
||||||
|
(if $ac_dir/$ac_word --statistics /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi)],
|
||||||
|
:)
|
||||||
|
AC_PATH_PROG(GMSGFMT, gmsgfmt, $MSGFMT)
|
||||||
|
|
||||||
|
dnl Search for GNU xgettext 0.11 or newer in the PATH.
|
||||||
|
dnl The first test excludes Solaris xgettext and early GNU xgettext versions.
|
||||||
|
dnl The second test excludes FreeBSD xgettext.
|
||||||
|
AM_PATH_PROG_WITH_TEST(XGETTEXT, xgettext,
|
||||||
|
[$ac_dir/$ac_word --omit-header --copyright-holder= /dev/null >/dev/null 2>&1 &&
|
||||||
|
(if $ac_dir/$ac_word --omit-header --copyright-holder= /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi)],
|
||||||
|
:)
|
||||||
|
dnl Remove leftover from FreeBSD xgettext call.
|
||||||
|
rm -f messages.po
|
||||||
|
|
||||||
|
dnl Search for GNU msgmerge 0.11 or newer in the PATH.
|
||||||
|
AM_PATH_PROG_WITH_TEST(MSGMERGE, msgmerge,
|
||||||
|
[$ac_dir/$ac_word --update -q /dev/null /dev/null >/dev/null 2>&1], :)
|
||||||
|
|
||||||
|
dnl This could go away some day; the PATH_PROG_WITH_TEST already does it.
|
||||||
|
dnl Test whether we really found GNU msgfmt.
|
||||||
|
if test "$GMSGFMT" != ":"; then
|
||||||
|
dnl If it is no GNU msgfmt we define it as : so that the
|
||||||
|
dnl Makefiles still can work.
|
||||||
|
if $GMSGFMT --statistics /dev/null >/dev/null 2>&1 &&
|
||||||
|
(if $GMSGFMT --statistics /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi); then
|
||||||
|
: ;
|
||||||
|
else
|
||||||
|
GMSGFMT=`echo "$GMSGFMT" | sed -e 's,^.*/,,'`
|
||||||
|
AC_MSG_RESULT(
|
||||||
|
[found $GMSGFMT program is not GNU msgfmt; ignore it])
|
||||||
|
GMSGFMT=":"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
dnl This could go away some day; the PATH_PROG_WITH_TEST already does it.
|
||||||
|
dnl Test whether we really found GNU xgettext.
|
||||||
|
if test "$XGETTEXT" != ":"; then
|
||||||
|
dnl If it is no GNU xgettext we define it as : so that the
|
||||||
|
dnl Makefiles still can work.
|
||||||
|
if $XGETTEXT --omit-header --copyright-holder= /dev/null >/dev/null 2>&1 &&
|
||||||
|
(if $XGETTEXT --omit-header --copyright-holder= /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi); then
|
||||||
|
: ;
|
||||||
|
else
|
||||||
|
AC_MSG_RESULT(
|
||||||
|
[found xgettext program is not GNU xgettext; ignore it])
|
||||||
|
XGETTEXT=":"
|
||||||
|
fi
|
||||||
|
dnl Remove leftover from FreeBSD xgettext call.
|
||||||
|
rm -f messages.po
|
||||||
|
fi
|
||||||
|
|
||||||
|
AC_OUTPUT_COMMANDS([
|
||||||
|
for ac_file in $CONFIG_FILES; do
|
||||||
|
# Support "outfile[:infile[:infile...]]"
|
||||||
|
case "$ac_file" in
|
||||||
|
*:*) ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;;
|
||||||
|
esac
|
||||||
|
# PO directories have a Makefile.in generated from Makefile.in.in.
|
||||||
|
case "$ac_file" in */Makefile.in)
|
||||||
|
# Adjust a relative srcdir.
|
||||||
|
ac_dir=`echo "$ac_file"|sed 's%/[^/][^/]*$%%'`
|
||||||
|
ac_dir_suffix="/`echo "$ac_dir"|sed 's%^\./%%'`"
|
||||||
|
ac_dots=`echo "$ac_dir_suffix"|sed 's%/[^/]*%../%g'`
|
||||||
|
# In autoconf-2.13 it is called $ac_given_srcdir.
|
||||||
|
# In autoconf-2.50 it is called $srcdir.
|
||||||
|
test -n "$ac_given_srcdir" || ac_given_srcdir="$srcdir"
|
||||||
|
case "$ac_given_srcdir" in
|
||||||
|
.) top_srcdir=`echo $ac_dots|sed 's%/$%%'` ;;
|
||||||
|
/*) top_srcdir="$ac_given_srcdir" ;;
|
||||||
|
*) top_srcdir="$ac_dots$ac_given_srcdir" ;;
|
||||||
|
esac
|
||||||
|
if test -f "$ac_given_srcdir/$ac_dir/POTFILES.in"; then
|
||||||
|
rm -f "$ac_dir/POTFILES"
|
||||||
|
test -n "$as_me" && echo "$as_me: creating $ac_dir/POTFILES" || echo "creating $ac_dir/POTFILES"
|
||||||
|
cat "$ac_given_srcdir/$ac_dir/POTFILES.in" | sed -e "/^#/d" -e "/^[ ]*\$/d" -e "s,.*, $top_srcdir/& \\\\," | sed -e "\$s/\(.*\) \\\\/\1/" > "$ac_dir/POTFILES"
|
||||||
|
# ALL_LINGUAS, POFILES, GMOFILES, UPDATEPOFILES, DUMMYPOFILES depend
|
||||||
|
# on $ac_dir but don't depend on user-specified configuration
|
||||||
|
# parameters.
|
||||||
|
if test -f "$ac_given_srcdir/$ac_dir/LINGUAS"; then
|
||||||
|
# The LINGUAS file contains the set of available languages.
|
||||||
|
if test -n "$ALL_LINGUAS"; then
|
||||||
|
test -n "$as_me" && echo "$as_me: setting ALL_LINGUAS in configure.in is obsolete" || echo "setting ALL_LINGUAS in configure.in is obsolete"
|
||||||
|
fi
|
||||||
|
ALL_LINGUAS_=`sed -e "/^#/d" "$ac_given_srcdir/$ac_dir/LINGUAS"`
|
||||||
|
# Hide the ALL_LINGUAS assigment from automake.
|
||||||
|
eval 'ALL_LINGUAS''=$ALL_LINGUAS_'
|
||||||
|
fi
|
||||||
|
case "$ac_given_srcdir" in
|
||||||
|
.) srcdirpre= ;;
|
||||||
|
*) srcdirpre='$(srcdir)/' ;;
|
||||||
|
esac
|
||||||
|
POFILES=
|
||||||
|
GMOFILES=
|
||||||
|
UPDATEPOFILES=
|
||||||
|
DUMMYPOFILES=
|
||||||
|
for lang in $ALL_LINGUAS; do
|
||||||
|
POFILES="$POFILES $srcdirpre$lang.po"
|
||||||
|
GMOFILES="$GMOFILES $srcdirpre$lang.gmo"
|
||||||
|
UPDATEPOFILES="$UPDATEPOFILES $lang.po-update"
|
||||||
|
DUMMYPOFILES="$DUMMYPOFILES $lang.nop"
|
||||||
|
done
|
||||||
|
# CATALOGS depends on both $ac_dir and the user's LINGUAS
|
||||||
|
# environment variable.
|
||||||
|
INST_LINGUAS=
|
||||||
|
if test -n "$ALL_LINGUAS"; then
|
||||||
|
for presentlang in $ALL_LINGUAS; do
|
||||||
|
useit=no
|
||||||
|
if test "%UNSET%" != "$LINGUAS"; then
|
||||||
|
desiredlanguages="$LINGUAS"
|
||||||
|
else
|
||||||
|
desiredlanguages="$ALL_LINGUAS"
|
||||||
|
fi
|
||||||
|
for desiredlang in $desiredlanguages; do
|
||||||
|
# Use the presentlang catalog if desiredlang is
|
||||||
|
# a. equal to presentlang, or
|
||||||
|
# b. a variant of presentlang (because in this case,
|
||||||
|
# presentlang can be used as a fallback for messages
|
||||||
|
# which are not translated in the desiredlang catalog).
|
||||||
|
case "$desiredlang" in
|
||||||
|
"$presentlang"*) useit=yes;;
|
||||||
|
esac
|
||||||
|
done
|
||||||
|
if test $useit = yes; then
|
||||||
|
INST_LINGUAS="$INST_LINGUAS $presentlang"
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
fi
|
||||||
|
CATALOGS=
|
||||||
|
if test -n "$INST_LINGUAS"; then
|
||||||
|
for lang in $INST_LINGUAS; do
|
||||||
|
CATALOGS="$CATALOGS $lang.gmo"
|
||||||
|
done
|
||||||
|
fi
|
||||||
|
test -n "$as_me" && echo "$as_me: creating $ac_dir/Makefile" || echo "creating $ac_dir/Makefile"
|
||||||
|
sed -e "/^POTFILES =/r $ac_dir/POTFILES" -e "/^# Makevars/r $ac_given_srcdir/$ac_dir/Makevars" -e "s|@POFILES@|$POFILES|g" -e "s|@GMOFILES@|$GMOFILES|g" -e "s|@UPDATEPOFILES@|$UPDATEPOFILES|g" -e "s|@DUMMYPOFILES@|$DUMMYPOFILES|g" -e "s|@CATALOGS@|$CATALOGS|g" "$ac_dir/Makefile.in" > "$ac_dir/Makefile"
|
||||||
|
for f in "$ac_given_srcdir/$ac_dir"/Rules-*; do
|
||||||
|
if test -f "$f"; then
|
||||||
|
case "$f" in
|
||||||
|
*.orig | *.bak | *~) ;;
|
||||||
|
*) cat "$f" >> "$ac_dir/Makefile" ;;
|
||||||
|
esac
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
done],
|
||||||
|
[# Capture the value of obsolete ALL_LINGUAS because we need it to compute
|
||||||
|
# POFILES, GMOFILES, UPDATEPOFILES, DUMMYPOFILES, CATALOGS. But hide it
|
||||||
|
# from automake.
|
||||||
|
eval 'ALL_LINGUAS''="$ALL_LINGUAS"'
|
||||||
|
# Capture the value of LINGUAS because we need it to compute CATALOGS.
|
||||||
|
LINGUAS="${LINGUAS-%UNSET%}"
|
||||||
|
])
|
||||||
|
])
|
||||||
|
|
||||||
|
|
||||||
|
dnl Checks for all prerequisites of the intl subdirectory,
|
||||||
|
dnl except for INTL_LIBTOOL_SUFFIX_PREFIX (and possibly LIBTOOL), INTLOBJS,
|
||||||
|
dnl USE_INCLUDED_LIBINTL, BUILD_INCLUDED_LIBINTL.
|
||||||
|
AC_DEFUN([AM_INTL_SUBDIR],
|
||||||
|
[
|
||||||
|
AC_REQUIRE([AC_PROG_INSTALL])dnl
|
||||||
|
AC_REQUIRE([AM_MKINSTALLDIRS])dnl
|
||||||
|
AC_REQUIRE([AC_PROG_CC])dnl
|
||||||
|
AC_REQUIRE([AC_CANONICAL_HOST])dnl
|
||||||
|
AC_REQUIRE([AC_PROG_RANLIB])dnl
|
||||||
|
AC_REQUIRE([AC_ISC_POSIX])dnl
|
||||||
|
AC_REQUIRE([AC_HEADER_STDC])dnl
|
||||||
|
AC_REQUIRE([AC_C_CONST])dnl
|
||||||
|
AC_REQUIRE([AC_C_INLINE])dnl
|
||||||
|
AC_REQUIRE([AC_TYPE_OFF_T])dnl
|
||||||
|
AC_REQUIRE([AC_TYPE_SIZE_T])dnl
|
||||||
|
AC_REQUIRE([AC_FUNC_ALLOCA])dnl
|
||||||
|
AC_REQUIRE([AC_FUNC_MMAP])dnl
|
||||||
|
AC_REQUIRE([jm_GLIBC21])dnl
|
||||||
|
AC_REQUIRE([gt_INTDIV0])dnl
|
||||||
|
AC_REQUIRE([jm_AC_TYPE_UINTMAX_T])dnl
|
||||||
|
AC_REQUIRE([gt_INTTYPES_PRI])dnl
|
||||||
|
|
||||||
|
AC_CHECK_HEADERS([argz.h limits.h locale.h nl_types.h malloc.h stddef.h \
|
||||||
|
stdlib.h string.h unistd.h sys/param.h])
|
||||||
|
AC_CHECK_FUNCS([feof_unlocked fgets_unlocked getc_unlocked getcwd getegid \
|
||||||
|
geteuid getgid getuid mempcpy munmap putenv setenv setlocale stpcpy \
|
||||||
|
strcasecmp strdup strtoul tsearch __argz_count __argz_stringify __argz_next])
|
||||||
|
|
||||||
|
AM_ICONV
|
||||||
|
AM_LANGINFO_CODESET
|
||||||
|
if test $ac_cv_header_locale_h = yes; then
|
||||||
|
AM_LC_MESSAGES
|
||||||
|
fi
|
||||||
|
|
||||||
|
dnl intl/plural.c is generated from intl/plural.y. It requires bison,
|
||||||
|
dnl because plural.y uses bison specific features. It requires at least
|
||||||
|
dnl bison-1.26 because earlier versions generate a plural.c that doesn't
|
||||||
|
dnl compile.
|
||||||
|
dnl bison is only needed for the maintainer (who touches plural.y). But in
|
||||||
|
dnl order to avoid separate Makefiles or --enable-maintainer-mode, we put
|
||||||
|
dnl the rule in general Makefile. Now, some people carelessly touch the
|
||||||
|
dnl files or have a broken "make" program, hence the plural.c rule will
|
||||||
|
dnl sometimes fire. To avoid an error, defines BISON to ":" if it is not
|
||||||
|
dnl present or too old.
|
||||||
|
AC_CHECK_PROGS([INTLBISON], [bison])
|
||||||
|
if test -z "$INTLBISON"; then
|
||||||
|
ac_verc_fail=yes
|
||||||
|
else
|
||||||
|
dnl Found it, now check the version.
|
||||||
|
AC_MSG_CHECKING([version of bison])
|
||||||
|
changequote(<<,>>)dnl
|
||||||
|
ac_prog_version=`$INTLBISON --version 2>&1 | sed -n 's/^.*GNU Bison.* \([0-9]*\.[0-9.]*\).*$/\1/p'`
|
||||||
|
case $ac_prog_version in
|
||||||
|
'') ac_prog_version="v. ?.??, bad"; ac_verc_fail=yes;;
|
||||||
|
1.2[6-9]* | 1.[3-9][0-9]* | [2-9].*)
|
||||||
|
changequote([,])dnl
|
||||||
|
ac_prog_version="$ac_prog_version, ok"; ac_verc_fail=no;;
|
||||||
|
*) ac_prog_version="$ac_prog_version, bad"; ac_verc_fail=yes;;
|
||||||
|
esac
|
||||||
|
AC_MSG_RESULT([$ac_prog_version])
|
||||||
|
fi
|
||||||
|
if test $ac_verc_fail = yes; then
|
||||||
|
INTLBISON=:
|
||||||
|
fi
|
||||||
|
])
|
||||||
|
|
||||||
|
|
||||||
|
AC_DEFUN([AM_MKINSTALLDIRS],
|
||||||
|
[
|
||||||
|
dnl If the AC_CONFIG_AUX_DIR macro for autoconf is used we possibly
|
||||||
|
dnl find the mkinstalldirs script in another subdir but $(top_srcdir).
|
||||||
|
dnl Try to locate is.
|
||||||
|
MKINSTALLDIRS=
|
||||||
|
if test -n "$ac_aux_dir"; then
|
||||||
|
MKINSTALLDIRS="$ac_aux_dir/mkinstalldirs"
|
||||||
|
fi
|
||||||
|
if test -z "$MKINSTALLDIRS"; then
|
||||||
|
MKINSTALLDIRS="\$(top_srcdir)/mkinstalldirs"
|
||||||
|
fi
|
||||||
|
AC_SUBST(MKINSTALLDIRS)
|
||||||
|
])
|
||||||
|
|
||||||
|
|
||||||
|
dnl Usage: AM_GNU_GETTEXT_VERSION([gettext-version])
|
||||||
|
AC_DEFUN([AM_GNU_GETTEXT_VERSION], [])
|
||||||
@@ -0,0 +1,69 @@
|
|||||||
|
#serial 2
|
||||||
|
|
||||||
|
dnl From Jim Meyering.
|
||||||
|
dnl
|
||||||
|
dnl See if gettimeofday clobbers the static buffer that localtime uses
|
||||||
|
dnl for it's return value. The gettimeofday function from Mac OS X 10.0.4,
|
||||||
|
dnl i.e. Darwin 1.3.7 has this problem.
|
||||||
|
dnl
|
||||||
|
dnl If it does, then arrange to use gettimeofday and localtime only via
|
||||||
|
dnl the wrapper functions that work around the problem.
|
||||||
|
|
||||||
|
AC_DEFUN([AC_FUNC_GETTIMEOFDAY_CLOBBER],
|
||||||
|
[
|
||||||
|
AC_REQUIRE([AC_HEADER_TIME])
|
||||||
|
AC_CHECK_HEADERS(string.h stdlib.h)
|
||||||
|
AC_CACHE_CHECK([whether gettimeofday clobbers localtime buffer],
|
||||||
|
jm_cv_func_gettimeofday_clobber,
|
||||||
|
[AC_TRY_RUN([
|
||||||
|
#include <stdio.h>
|
||||||
|
#if HAVE_STRING_H
|
||||||
|
# include <string.h>
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#if TIME_WITH_SYS_TIME
|
||||||
|
# include <sys/time.h>
|
||||||
|
# include <time.h>
|
||||||
|
#else
|
||||||
|
# if HAVE_SYS_TIME_H
|
||||||
|
# include <sys/time.h>
|
||||||
|
# else
|
||||||
|
# include <time.h>
|
||||||
|
# endif
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#if HAVE_STDLIB_H
|
||||||
|
# include <stdlib.h>
|
||||||
|
#endif
|
||||||
|
|
||||||
|
int
|
||||||
|
main ()
|
||||||
|
{
|
||||||
|
time_t t = 0;
|
||||||
|
struct tm *lt;
|
||||||
|
struct tm saved_lt;
|
||||||
|
struct timeval tv;
|
||||||
|
lt = localtime (&t);
|
||||||
|
saved_lt = *lt;
|
||||||
|
gettimeofday (&tv, NULL);
|
||||||
|
if (memcmp (lt, &saved_lt, sizeof (struct tm)) != 0)
|
||||||
|
exit (1);
|
||||||
|
|
||||||
|
exit (0);
|
||||||
|
}
|
||||||
|
],
|
||||||
|
jm_cv_func_gettimeofday_clobber=no,
|
||||||
|
jm_cv_func_gettimeofday_clobber=yes,
|
||||||
|
dnl When crosscompiling, assume it is broken.
|
||||||
|
jm_cv_func_gettimeofday_clobber=yes)
|
||||||
|
])
|
||||||
|
if test $jm_cv_func_gettimeofday_clobber = yes; then
|
||||||
|
AC_LIBOBJ(gettimeofday)
|
||||||
|
AC_DEFINE(localtime, rpl_localtime,
|
||||||
|
[Define to rpl_localtime if the replacement function should be used.])
|
||||||
|
AC_DEFINE(gettimeofday, rpl_gettimeofday,
|
||||||
|
[Define to rpl_gettimeofday if the replacement function should be used.])
|
||||||
|
AC_DEFINE(GETTIMEOFDAY_CLOBBERS_LOCALTIME_BUFFER, 1,
|
||||||
|
[Define if gettimeofday clobbers localtime's static buffer.])
|
||||||
|
fi
|
||||||
|
])
|
||||||
@@ -0,0 +1,35 @@
|
|||||||
|
#serial 3
|
||||||
|
|
||||||
|
dnl From Gordon Matzigkeit.
|
||||||
|
dnl Test for the GNU C Library.
|
||||||
|
dnl FIXME: this should migrate into libit.
|
||||||
|
|
||||||
|
AC_DEFUN([AM_GLIBC],
|
||||||
|
[
|
||||||
|
AC_CACHE_CHECK(whether we are using the GNU C Library,
|
||||||
|
ac_cv_gnu_library,
|
||||||
|
[AC_EGREP_CPP([Thanks for using GNU],
|
||||||
|
[
|
||||||
|
#include <features.h>
|
||||||
|
#ifdef __GNU_LIBRARY__
|
||||||
|
Thanks for using GNU
|
||||||
|
#endif
|
||||||
|
],
|
||||||
|
ac_cv_gnu_library=yes,
|
||||||
|
ac_cv_gnu_library=no)
|
||||||
|
]
|
||||||
|
)
|
||||||
|
AC_CACHE_CHECK(for version 2 of the GNU C Library,
|
||||||
|
ac_cv_glibc,
|
||||||
|
[AC_EGREP_CPP([Thanks for using GNU too],
|
||||||
|
[
|
||||||
|
#include <features.h>
|
||||||
|
#ifdef __GLIBC__
|
||||||
|
Thanks for using GNU too
|
||||||
|
#endif
|
||||||
|
],
|
||||||
|
ac_cv_glibc=yes, ac_cv_glibc=no)
|
||||||
|
]
|
||||||
|
)
|
||||||
|
]
|
||||||
|
)
|
||||||
@@ -0,0 +1,32 @@
|
|||||||
|
# glibc21.m4 serial 2 (fileutils-4.1.3, gettext-0.10.40)
|
||||||
|
dnl Copyright (C) 2000-2002 Free Software Foundation, Inc.
|
||||||
|
dnl This file is free software, distributed under the terms of the GNU
|
||||||
|
dnl General Public License. As a special exception to the GNU General
|
||||||
|
dnl Public License, this file may be distributed as part of a program
|
||||||
|
dnl that contains a configuration script generated by Autoconf, under
|
||||||
|
dnl the same distribution terms as the rest of that program.
|
||||||
|
|
||||||
|
# Test for the GNU C Library, version 2.1 or newer.
|
||||||
|
# From Bruno Haible.
|
||||||
|
|
||||||
|
AC_DEFUN([jm_GLIBC21],
|
||||||
|
[
|
||||||
|
AC_CACHE_CHECK(whether we are using the GNU C Library 2.1 or newer,
|
||||||
|
ac_cv_gnu_library_2_1,
|
||||||
|
[AC_EGREP_CPP([Lucky GNU user],
|
||||||
|
[
|
||||||
|
#include <features.h>
|
||||||
|
#ifdef __GNU_LIBRARY__
|
||||||
|
#if (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 1) || (__GLIBC__ > 2)
|
||||||
|
Lucky GNU user
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
],
|
||||||
|
ac_cv_gnu_library_2_1=yes,
|
||||||
|
ac_cv_gnu_library_2_1=no)
|
||||||
|
]
|
||||||
|
)
|
||||||
|
AC_SUBST(GLIBC21)
|
||||||
|
GLIBC21="$ac_cv_gnu_library_2_1"
|
||||||
|
]
|
||||||
|
)
|
||||||
@@ -0,0 +1,11 @@
|
|||||||
|
#serial 3
|
||||||
|
|
||||||
|
dnl Written by Jim Meyering
|
||||||
|
|
||||||
|
AC_DEFUN([jm_FUNC_GROUP_MEMBER],
|
||||||
|
[
|
||||||
|
dnl Do this replacement check manually because I want the hyphen
|
||||||
|
dnl (not the underscore) in the filename.
|
||||||
|
AC_CHECK_FUNC(group_member, , [AC_LIBOBJ(group-member)])
|
||||||
|
]
|
||||||
|
)
|
||||||
@@ -0,0 +1,72 @@
|
|||||||
|
#serial 2
|
||||||
|
|
||||||
|
dnl From Paul Eggert.
|
||||||
|
|
||||||
|
# Define HOST_OPERATING_SYSTEM to a name for the host operating system.
|
||||||
|
AC_DEFUN([UTILS_HOST_OS],
|
||||||
|
[
|
||||||
|
AC_CACHE_CHECK([host operating system],
|
||||||
|
utils_cv_host_operating_system,
|
||||||
|
|
||||||
|
[[case $host_os in
|
||||||
|
|
||||||
|
# These operating system names do not use the default heuristic below.
|
||||||
|
# They are in reverse order, so that more-specific prefixes come first.
|
||||||
|
winnt*) os='Windows NT';;
|
||||||
|
vos*) os='VOS';;
|
||||||
|
sysv*) os='Unix System V';;
|
||||||
|
superux*) os='SUPER-UX';;
|
||||||
|
sunos*) os='SunOS';;
|
||||||
|
stop*) os='STOP';;
|
||||||
|
sco*) os='SCO Unix';;
|
||||||
|
riscos*) os='RISC OS';;
|
||||||
|
riscix*) os='RISCiX';;
|
||||||
|
qnx*) os='QNX';;
|
||||||
|
pw32*) os='PW32';;
|
||||||
|
ptx*) os='ptx';;
|
||||||
|
plan9*) os='Plan 9';;
|
||||||
|
osf*) os='Tru64';;
|
||||||
|
os2*) os='OS/2';;
|
||||||
|
openbsd*) os='OpenBSD';;
|
||||||
|
nsk*) os='NonStop Kernel';;
|
||||||
|
nonstopux*) os='NonStop-UX';;
|
||||||
|
netbsd*) os='NetBSD';;
|
||||||
|
msdosdjgpp*) os='DJGPP';;
|
||||||
|
mpeix*) os='MPE/iX';;
|
||||||
|
mint*) os='MiNT';;
|
||||||
|
mingw*) os='MinGW';;
|
||||||
|
lynxos*) os='LynxOS';;
|
||||||
|
linux*) os='GNU/Linux';;
|
||||||
|
hpux*) os='HP-UX';;
|
||||||
|
hiux*) os='HI-UX';;
|
||||||
|
gnu*) os='GNU';;
|
||||||
|
freebsd*-gnu*) os='GNU/FreeBSD';;
|
||||||
|
freebsd*) os='FreeBSD';;
|
||||||
|
dgux*) os='DG/UX';;
|
||||||
|
bsdi*) os='BSD/OS';;
|
||||||
|
bsd*) os='BSD';;
|
||||||
|
beos*) os='BeOS';;
|
||||||
|
aux*) os='A/UX';;
|
||||||
|
atheos*) os='AtheOS';;
|
||||||
|
amigaos*) os='Amiga OS';;
|
||||||
|
aix*) os='AIX';;
|
||||||
|
|
||||||
|
# The default heuristic takes the initial alphabetic string
|
||||||
|
# from $host_os, but capitalizes its first letter.
|
||||||
|
[A-Za-z]*)
|
||||||
|
os=`
|
||||||
|
expr "X$host_os" : 'X\([A-Za-z]\)' | tr '[a-z]' '[A-Z]'
|
||||||
|
``
|
||||||
|
expr "X$host_os" : 'X.\([A-Za-z]*\)'
|
||||||
|
`
|
||||||
|
;;
|
||||||
|
|
||||||
|
# If $host_os does not start with an alphabetic string, use it unchanged.
|
||||||
|
*)
|
||||||
|
os=$host_os;;
|
||||||
|
esac
|
||||||
|
utils_cv_host_operating_system=$os]])
|
||||||
|
AC_DEFINE_UNQUOTED(HOST_OPERATING_SYSTEM,
|
||||||
|
"$utils_cv_host_operating_system",
|
||||||
|
[The host operating system.])
|
||||||
|
])
|
||||||
@@ -0,0 +1,103 @@
|
|||||||
|
# iconv.m4 serial AM4 (gettext-0.11.3)
|
||||||
|
dnl Copyright (C) 2000-2002 Free Software Foundation, Inc.
|
||||||
|
dnl This file is free software, distributed under the terms of the GNU
|
||||||
|
dnl General Public License. As a special exception to the GNU General
|
||||||
|
dnl Public License, this file may be distributed as part of a program
|
||||||
|
dnl that contains a configuration script generated by Autoconf, under
|
||||||
|
dnl the same distribution terms as the rest of that program.
|
||||||
|
|
||||||
|
dnl From Bruno Haible.
|
||||||
|
|
||||||
|
AC_DEFUN([AM_ICONV_LINKFLAGS_BODY],
|
||||||
|
[
|
||||||
|
dnl Prerequisites of AC_LIB_LINKFLAGS_BODY.
|
||||||
|
AC_REQUIRE([AC_LIB_PREPARE_PREFIX])
|
||||||
|
AC_REQUIRE([AC_LIB_RPATH])
|
||||||
|
|
||||||
|
dnl Search for libiconv and define LIBICONV, LTLIBICONV and INCICONV
|
||||||
|
dnl accordingly.
|
||||||
|
AC_LIB_LINKFLAGS_BODY([iconv])
|
||||||
|
])
|
||||||
|
|
||||||
|
AC_DEFUN([AM_ICONV_LINK],
|
||||||
|
[
|
||||||
|
dnl Some systems have iconv in libc, some have it in libiconv (OSF/1 and
|
||||||
|
dnl those with the standalone portable GNU libiconv installed).
|
||||||
|
|
||||||
|
dnl Search for libiconv and define LIBICONV, LTLIBICONV and INCICONV
|
||||||
|
dnl accordingly.
|
||||||
|
AC_REQUIRE([AM_ICONV_LINKFLAGS_BODY])
|
||||||
|
|
||||||
|
dnl Add $INCICONV to CPPFLAGS before performing the following checks,
|
||||||
|
dnl because if the user has installed libiconv and not disabled its use
|
||||||
|
dnl via --without-libiconv-prefix, he wants to use it. The first
|
||||||
|
dnl AC_TRY_LINK will then fail, the second AC_TRY_LINK will succeed.
|
||||||
|
am_save_CPPFLAGS="$CPPFLAGS"
|
||||||
|
AC_LIB_APPENDTOVAR([CPPFLAGS], [$INCICONV])
|
||||||
|
|
||||||
|
AC_CACHE_CHECK(for iconv, am_cv_func_iconv, [
|
||||||
|
am_cv_func_iconv="no, consider installing GNU libiconv"
|
||||||
|
am_cv_lib_iconv=no
|
||||||
|
AC_TRY_LINK([#include <stdlib.h>
|
||||||
|
#include <iconv.h>],
|
||||||
|
[iconv_t cd = iconv_open("","");
|
||||||
|
iconv(cd,NULL,NULL,NULL,NULL);
|
||||||
|
iconv_close(cd);],
|
||||||
|
am_cv_func_iconv=yes)
|
||||||
|
if test "$am_cv_func_iconv" != yes; then
|
||||||
|
am_save_LIBS="$LIBS"
|
||||||
|
LIBS="$LIBS $LIBICONV"
|
||||||
|
AC_TRY_LINK([#include <stdlib.h>
|
||||||
|
#include <iconv.h>],
|
||||||
|
[iconv_t cd = iconv_open("","");
|
||||||
|
iconv(cd,NULL,NULL,NULL,NULL);
|
||||||
|
iconv_close(cd);],
|
||||||
|
am_cv_lib_iconv=yes
|
||||||
|
am_cv_func_iconv=yes)
|
||||||
|
LIBS="$am_save_LIBS"
|
||||||
|
fi
|
||||||
|
])
|
||||||
|
if test "$am_cv_func_iconv" = yes; then
|
||||||
|
AC_DEFINE(HAVE_ICONV, 1, [Define if you have the iconv() function.])
|
||||||
|
fi
|
||||||
|
if test "$am_cv_lib_iconv" = yes; then
|
||||||
|
AC_MSG_CHECKING([how to link with libiconv])
|
||||||
|
AC_MSG_RESULT([$LIBICONV])
|
||||||
|
else
|
||||||
|
dnl If $LIBICONV didn't lead to a usable library, we don't need $INCICONV
|
||||||
|
dnl either.
|
||||||
|
CPPFLAGS="$am_save_CPPFLAGS"
|
||||||
|
LIBICONV=
|
||||||
|
LTLIBICONV=
|
||||||
|
fi
|
||||||
|
AC_SUBST(LIBICONV)
|
||||||
|
AC_SUBST(LTLIBICONV)
|
||||||
|
])
|
||||||
|
|
||||||
|
AC_DEFUN([AM_ICONV],
|
||||||
|
[
|
||||||
|
AM_ICONV_LINK
|
||||||
|
if test "$am_cv_func_iconv" = yes; then
|
||||||
|
AC_MSG_CHECKING([for iconv declaration])
|
||||||
|
AC_CACHE_VAL(am_cv_proto_iconv, [
|
||||||
|
AC_TRY_COMPILE([
|
||||||
|
#include <stdlib.h>
|
||||||
|
#include <iconv.h>
|
||||||
|
extern
|
||||||
|
#ifdef __cplusplus
|
||||||
|
"C"
|
||||||
|
#endif
|
||||||
|
#if defined(__STDC__) || defined(__cplusplus)
|
||||||
|
size_t iconv (iconv_t cd, char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft);
|
||||||
|
#else
|
||||||
|
size_t iconv();
|
||||||
|
#endif
|
||||||
|
], [], am_cv_proto_iconv_arg1="", am_cv_proto_iconv_arg1="const")
|
||||||
|
am_cv_proto_iconv="extern size_t iconv (iconv_t cd, $am_cv_proto_iconv_arg1 char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft);"])
|
||||||
|
am_cv_proto_iconv=`echo "[$]am_cv_proto_iconv" | tr -s ' ' | sed -e 's/( /(/'`
|
||||||
|
AC_MSG_RESULT([$]{ac_t:-
|
||||||
|
}[$]am_cv_proto_iconv)
|
||||||
|
AC_DEFINE_UNQUOTED(ICONV_CONST, $am_cv_proto_iconv_arg1,
|
||||||
|
[Define as const if the declaration of iconv() needs const.])
|
||||||
|
fi
|
||||||
|
])
|
||||||
@@ -0,0 +1,72 @@
|
|||||||
|
# intdiv0.m4 serial 1 (gettext-0.11.3)
|
||||||
|
dnl Copyright (C) 2002 Free Software Foundation, Inc.
|
||||||
|
dnl This file is free software, distributed under the terms of the GNU
|
||||||
|
dnl General Public License. As a special exception to the GNU General
|
||||||
|
dnl Public License, this file may be distributed as part of a program
|
||||||
|
dnl that contains a configuration script generated by Autoconf, under
|
||||||
|
dnl the same distribution terms as the rest of that program.
|
||||||
|
|
||||||
|
dnl From Bruno Haible.
|
||||||
|
|
||||||
|
AC_DEFUN([gt_INTDIV0],
|
||||||
|
[
|
||||||
|
AC_REQUIRE([AC_PROG_CC])dnl
|
||||||
|
AC_REQUIRE([AC_CANONICAL_HOST])dnl
|
||||||
|
|
||||||
|
AC_CACHE_CHECK([whether integer division by zero raises SIGFPE],
|
||||||
|
gt_cv_int_divbyzero_sigfpe,
|
||||||
|
[
|
||||||
|
AC_TRY_RUN([
|
||||||
|
#include <stdlib.h>
|
||||||
|
#include <signal.h>
|
||||||
|
|
||||||
|
static void
|
||||||
|
#ifdef __cplusplus
|
||||||
|
sigfpe_handler (int sig)
|
||||||
|
#else
|
||||||
|
sigfpe_handler (sig) int sig;
|
||||||
|
#endif
|
||||||
|
{
|
||||||
|
/* Exit with code 0 if SIGFPE, with code 1 if any other signal. */
|
||||||
|
exit (sig != SIGFPE);
|
||||||
|
}
|
||||||
|
|
||||||
|
int x = 1;
|
||||||
|
int y = 0;
|
||||||
|
int z;
|
||||||
|
int nan;
|
||||||
|
|
||||||
|
int main ()
|
||||||
|
{
|
||||||
|
signal (SIGFPE, sigfpe_handler);
|
||||||
|
/* IRIX and AIX (when "xlc -qcheck" is used) yield signal SIGTRAP. */
|
||||||
|
#if (defined (__sgi) || defined (_AIX)) && defined (SIGTRAP)
|
||||||
|
signal (SIGTRAP, sigfpe_handler);
|
||||||
|
#endif
|
||||||
|
/* Linux/SPARC yields signal SIGILL. */
|
||||||
|
#if defined (__sparc__) && defined (__linux__)
|
||||||
|
signal (SIGILL, sigfpe_handler);
|
||||||
|
#endif
|
||||||
|
|
||||||
|
z = x / y;
|
||||||
|
nan = y / y;
|
||||||
|
exit (1);
|
||||||
|
}
|
||||||
|
], gt_cv_int_divbyzero_sigfpe=yes, gt_cv_int_divbyzero_sigfpe=no,
|
||||||
|
[
|
||||||
|
# Guess based on the CPU.
|
||||||
|
case "$host_cpu" in
|
||||||
|
alpha* | i[34567]86 | m68k | s390*)
|
||||||
|
gt_cv_int_divbyzero_sigfpe="guessing yes";;
|
||||||
|
*)
|
||||||
|
gt_cv_int_divbyzero_sigfpe="guessing no";;
|
||||||
|
esac
|
||||||
|
])
|
||||||
|
])
|
||||||
|
case "$gt_cv_int_divbyzero_sigfpe" in
|
||||||
|
*yes) value=1;;
|
||||||
|
*) value=0;;
|
||||||
|
esac
|
||||||
|
AC_DEFINE_UNQUOTED(INTDIV0_RAISES_SIGFPE, $value,
|
||||||
|
[Define if integer division by zero raises signal SIGFPE.])
|
||||||
|
])
|
||||||
@@ -0,0 +1,34 @@
|
|||||||
|
# inttypes-pri.m4 serial 1001 (based on gettext-0.11.4's `serial 1')
|
||||||
|
dnl Copyright (C) 1997-2002 Free Software Foundation, Inc.
|
||||||
|
dnl This file is free software, distributed under the terms of the GNU
|
||||||
|
dnl General Public License. As a special exception to the GNU General
|
||||||
|
dnl Public License, this file may be distributed as part of a program
|
||||||
|
dnl that contains a configuration script generated by Autoconf, under
|
||||||
|
dnl the same distribution terms as the rest of that program.
|
||||||
|
|
||||||
|
dnl From Bruno Haible.
|
||||||
|
|
||||||
|
# Define PRI_MACROS_BROKEN if <inttypes.h> exists and defines the PRI*
|
||||||
|
# macros to non-string values. This is the case on AIX 4.3.3.
|
||||||
|
|
||||||
|
AC_DEFUN([gt_INTTYPES_PRI],
|
||||||
|
[
|
||||||
|
# autoconf-2.52 has a proper check for inttypes.h.
|
||||||
|
AC_PREREQ(2.52)
|
||||||
|
|
||||||
|
if test $ac_cv_header_inttypes_h = yes; then
|
||||||
|
AC_CACHE_CHECK([whether the inttypes.h PRIxNN macros are broken],
|
||||||
|
gt_cv_inttypes_pri_broken,
|
||||||
|
[
|
||||||
|
AC_TRY_COMPILE([#include <inttypes.h>
|
||||||
|
#ifdef PRId32
|
||||||
|
char *p = PRId32;
|
||||||
|
#endif
|
||||||
|
], [], gt_cv_inttypes_pri_broken=no, gt_cv_inttypes_pri_broken=yes)
|
||||||
|
])
|
||||||
|
fi
|
||||||
|
if test "$gt_cv_inttypes_pri_broken" = yes; then
|
||||||
|
AC_DEFINE_UNQUOTED(PRI_MACROS_BROKEN, 1,
|
||||||
|
[Define if <inttypes.h> exists and defines unusable PRI* macros.])
|
||||||
|
fi
|
||||||
|
])
|
||||||
@@ -0,0 +1,32 @@
|
|||||||
|
#serial 6
|
||||||
|
|
||||||
|
dnl From Paul Eggert.
|
||||||
|
|
||||||
|
AC_PREREQ(2.52)
|
||||||
|
|
||||||
|
# Define intmax_t to long or long long if <inttypes.h> doesn't define.
|
||||||
|
|
||||||
|
AC_DEFUN([jm_AC_TYPE_INTMAX_T],
|
||||||
|
[
|
||||||
|
AC_REQUIRE([jm_AC_TYPE_LONG_LONG])
|
||||||
|
AC_CHECK_TYPE(intmax_t, ,
|
||||||
|
[test $ac_cv_type_long_long = yes \
|
||||||
|
&& ac_type='long long' \
|
||||||
|
|| ac_type='long'
|
||||||
|
AC_DEFINE_UNQUOTED(intmax_t, $ac_type,
|
||||||
|
[Define to widest signed type if <inttypes.h> doesn't define.])])
|
||||||
|
])
|
||||||
|
|
||||||
|
# Define uintmax_t to unsigned long or unsigned long long
|
||||||
|
# if <inttypes.h> doesn't define.
|
||||||
|
|
||||||
|
AC_DEFUN([jm_AC_TYPE_UINTMAX_T],
|
||||||
|
[
|
||||||
|
AC_REQUIRE([jm_AC_TYPE_UNSIGNED_LONG_LONG])
|
||||||
|
AC_CHECK_TYPE(uintmax_t, ,
|
||||||
|
[test $ac_cv_type_unsigned_long_long = yes \
|
||||||
|
&& ac_type='unsigned long long' \
|
||||||
|
|| ac_type='unsigned long'
|
||||||
|
AC_DEFINE_UNQUOTED(uintmax_t, $ac_type,
|
||||||
|
[Define to widest unsigned type if <inttypes.h> doesn't define.])])
|
||||||
|
])
|
||||||
@@ -0,0 +1,26 @@
|
|||||||
|
# isc-posix.m4 serial 2 (gettext-0.11.2)
|
||||||
|
dnl Copyright (C) 1995-2002 Free Software Foundation, Inc.
|
||||||
|
dnl This file is free software, distributed under the terms of the GNU
|
||||||
|
dnl General Public License. As a special exception to the GNU General
|
||||||
|
dnl Public License, this file may be distributed as part of a program
|
||||||
|
dnl that contains a configuration script generated by Autoconf, under
|
||||||
|
dnl the same distribution terms as the rest of that program.
|
||||||
|
|
||||||
|
# This file is not needed with autoconf-2.53 and newer. Remove it in 2005.
|
||||||
|
|
||||||
|
# This test replaces the one in autoconf.
|
||||||
|
# Currently this macro should have the same name as the autoconf macro
|
||||||
|
# because gettext's gettext.m4 (distributed in the automake package)
|
||||||
|
# still uses it. Otherwise, the use in gettext.m4 makes autoheader
|
||||||
|
# give these diagnostics:
|
||||||
|
# configure.in:556: AC_TRY_COMPILE was called before AC_ISC_POSIX
|
||||||
|
# configure.in:556: AC_TRY_RUN was called before AC_ISC_POSIX
|
||||||
|
|
||||||
|
undefine([AC_ISC_POSIX])
|
||||||
|
|
||||||
|
AC_DEFUN([AC_ISC_POSIX],
|
||||||
|
[
|
||||||
|
dnl This test replaces the obsolescent AC_ISC_POSIX kludge.
|
||||||
|
AC_CHECK_LIB(cposix, strerror, [LIBS="$LIBS -lcposix"])
|
||||||
|
]
|
||||||
|
)
|
||||||
@@ -0,0 +1,14 @@
|
|||||||
|
#serial 7 -*- autoconf -*-
|
||||||
|
|
||||||
|
dnl From Jim Meyering.
|
||||||
|
dnl
|
||||||
|
dnl See if the glibc *_unlocked I/O macros are available.
|
||||||
|
dnl Use only those *_unlocked macros that are declared.
|
||||||
|
dnl
|
||||||
|
|
||||||
|
AC_DEFUN([jm_FUNC_GLIBC_UNLOCKED_IO],
|
||||||
|
[AC_CHECK_DECLS(
|
||||||
|
[clearerr_unlocked, feof_unlocked, ferror_unlocked,
|
||||||
|
fflush_unlocked, fgets_unlocked, fputc_unlocked, fputs_unlocked,
|
||||||
|
fread_unlocked, fwrite_unlocked, getc_unlocked,
|
||||||
|
getchar_unlocked, putc_unlocked, putchar_unlocked])])
|
||||||
@@ -0,0 +1,344 @@
|
|||||||
|
#serial 61 -*- autoconf -*-
|
||||||
|
|
||||||
|
m4_undefine([AC_LANG_SOURCE(C)])
|
||||||
|
dnl The following is identical to the definition in c.m4
|
||||||
|
dnl from the autoconf cvs repository on 2003-03-07.
|
||||||
|
dnl FIXME: remove this code once we upgrade to autoconf-2.58.
|
||||||
|
|
||||||
|
# We can't use '#line $LINENO "configure"' here, since
|
||||||
|
# Sun c89 (Sun WorkShop 6 update 2 C 5.3 Patch 111679-08 2002/05/09)
|
||||||
|
# rejects $LINENO greater than 32767, and some configure scripts
|
||||||
|
# are longer than 32767 lines.
|
||||||
|
m4_define([AC_LANG_SOURCE(C)],
|
||||||
|
[/* confdefs.h. */
|
||||||
|
_ACEOF
|
||||||
|
cat confdefs.h >>conftest.$ac_ext
|
||||||
|
cat >>conftest.$ac_ext <<_ACEOF
|
||||||
|
/* end confdefs.h. */
|
||||||
|
$1])
|
||||||
|
|
||||||
|
|
||||||
|
dnl Misc type-related macros for fileutils, sh-utils, textutils.
|
||||||
|
|
||||||
|
AC_DEFUN([jm_MACROS],
|
||||||
|
[
|
||||||
|
AC_PREREQ(2.56)
|
||||||
|
|
||||||
|
GNU_PACKAGE="GNU $PACKAGE"
|
||||||
|
AC_DEFINE_UNQUOTED(GNU_PACKAGE, "$GNU_PACKAGE",
|
||||||
|
[The concatenation of the strings `GNU ', and PACKAGE.])
|
||||||
|
AC_SUBST(GNU_PACKAGE)
|
||||||
|
|
||||||
|
AM_MISSING_PROG(HELP2MAN, help2man)
|
||||||
|
AC_SUBST(OPTIONAL_BIN_PROGS)
|
||||||
|
AC_SUBST(OPTIONAL_BIN_ZCRIPTS)
|
||||||
|
AC_SUBST(MAN)
|
||||||
|
AC_SUBST(DF_PROG)
|
||||||
|
|
||||||
|
dnl This macro actually runs replacement code. See isc-posix.m4.
|
||||||
|
AC_REQUIRE([AC_ISC_POSIX])dnl
|
||||||
|
|
||||||
|
jm_CHECK_ALL_TYPES
|
||||||
|
jm_INCLUDED_REGEX([lib/regex.c])
|
||||||
|
|
||||||
|
AC_REQUIRE([UTILS_HOST_OS])
|
||||||
|
AC_REQUIRE([UTILS_FUNC_MKDIR_TRAILING_SLASH])
|
||||||
|
AC_REQUIRE([jm_BISON])
|
||||||
|
AC_REQUIRE([jm_ASSERT])
|
||||||
|
AC_REQUIRE([jm_CHECK_TYPE_STRUCT_UTIMBUF])
|
||||||
|
AC_REQUIRE([jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE])
|
||||||
|
AC_REQUIRE([jm_CHECK_TYPE_STRUCT_DIRENT_D_INO])
|
||||||
|
AC_REQUIRE([jm_CHECK_DECLS])
|
||||||
|
|
||||||
|
AC_REQUIRE([jm_PREREQ])
|
||||||
|
|
||||||
|
AC_REQUIRE([UTILS_FUNC_DIRFD])
|
||||||
|
AC_REQUIRE([AC_FUNC_ACL])
|
||||||
|
AC_REQUIRE([AC_FUNC_FTW])
|
||||||
|
AC_REQUIRE([jm_FUNC_LCHOWN])
|
||||||
|
AC_REQUIRE([fetish_FUNC_RMDIR_NOTEMPTY])
|
||||||
|
AC_REQUIRE([jm_FUNC_CHOWN])
|
||||||
|
AC_REQUIRE([jm_FUNC_MKTIME])
|
||||||
|
AC_REQUIRE([jm_FUNC_LSTAT])
|
||||||
|
AC_REQUIRE([AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK])
|
||||||
|
AC_REQUIRE([jm_FUNC_STAT])
|
||||||
|
AC_REQUIRE([AC_FUNC_REALLOC])
|
||||||
|
AC_REQUIRE([AC_FUNC_MALLOC])
|
||||||
|
AC_REQUIRE([AC_FUNC_STRERROR_R])
|
||||||
|
AC_REQUIRE([jm_FUNC_NANOSLEEP])
|
||||||
|
AC_REQUIRE([jm_FUNC_MEMCMP])
|
||||||
|
AC_REQUIRE([jm_FUNC_GLIBC_UNLOCKED_IO])
|
||||||
|
AC_REQUIRE([AC_FUNC_FNMATCH_GNU])
|
||||||
|
AC_REQUIRE([jm_FUNC_GROUP_MEMBER])
|
||||||
|
AC_REQUIRE([jm_FUNC_PUTENV])
|
||||||
|
AC_REQUIRE([jm_AFS])
|
||||||
|
AC_REQUIRE([jm_AC_PREREQ_XSTRTOUMAX])
|
||||||
|
AC_REQUIRE([jm_AC_PREREQ_XSTRTOIMAX])
|
||||||
|
AC_REQUIRE([jm_AC_FUNC_LINK_FOLLOWS_SYMLINK])
|
||||||
|
AC_REQUIRE([AC_FUNC_ERROR_AT_LINE])
|
||||||
|
AC_REQUIRE([jm_FUNC_GNU_STRFTIME])
|
||||||
|
AC_REQUIRE([jm_FUNC_MKTIME])
|
||||||
|
AC_REQUIRE([jm_FUNC_FPENDING])
|
||||||
|
|
||||||
|
# This is for od and stat, and any other program that
|
||||||
|
# uses the PRI.MAX macros from inttypes.h.
|
||||||
|
AC_REQUIRE([gt_INTTYPES_PRI])
|
||||||
|
|
||||||
|
AC_REQUIRE([jm_FUNC_GETGROUPS])
|
||||||
|
|
||||||
|
AC_REQUIRE([AC_FUNC_FSEEKO])
|
||||||
|
AC_REQUIRE([AC_FUNC_VPRINTF])
|
||||||
|
AC_REQUIRE([AC_FUNC_ALLOCA])
|
||||||
|
|
||||||
|
AC_CONFIG_LIBOBJ_DIR([lib])
|
||||||
|
AC_FUNC_GETLOADAVG
|
||||||
|
|
||||||
|
AC_REQUIRE([jm_SYS_PROC_UPTIME])
|
||||||
|
AC_REQUIRE([jm_FUNC_FTRUNCATE])
|
||||||
|
AC_REQUIRE([vb_FUNC_RENAME])
|
||||||
|
|
||||||
|
AC_REPLACE_FUNCS(strcasecmp strncasecmp)
|
||||||
|
AC_REPLACE_FUNCS(dup2)
|
||||||
|
AC_REPLACE_FUNCS(gethostname getusershell)
|
||||||
|
AC_REPLACE_FUNCS(sig2str)
|
||||||
|
AC_REPLACE_FUNCS(strcspn stpcpy strstr strtol strtoul)
|
||||||
|
AC_REPLACE_FUNCS(strpbrk)
|
||||||
|
AC_REPLACE_FUNCS(euidaccess memcmp rmdir rpmatch strndup strverscmp)
|
||||||
|
AC_REPLACE_FUNCS(atexit)
|
||||||
|
AC_REPLACE_FUNCS(getpass)
|
||||||
|
|
||||||
|
# raise is used by at least sort and ls.
|
||||||
|
AC_REPLACE_FUNCS(raise)
|
||||||
|
|
||||||
|
dnl used by e.g. intl/*domain.c and lib/canon-host.c
|
||||||
|
AC_REPLACE_FUNCS(strdup)
|
||||||
|
|
||||||
|
AC_REPLACE_FUNCS(memchr memcpy memmove memrchr memset)
|
||||||
|
AC_CHECK_FUNCS(getpagesize)
|
||||||
|
|
||||||
|
AC_REQUIRE([UTILS_FUNC_MKSTEMP])
|
||||||
|
|
||||||
|
# By default, argmatch should fail calling usage (1).
|
||||||
|
AC_DEFINE(ARGMATCH_DIE, [usage (1)],
|
||||||
|
[Define to the function xargmatch calls on failures.])
|
||||||
|
AC_DEFINE(ARGMATCH_DIE_DECL, [extern void usage ()],
|
||||||
|
[Define to the declaration of the xargmatch failure function.])
|
||||||
|
|
||||||
|
dnl Used to define SETVBUF in sys2.h.
|
||||||
|
dnl This evokes the following warning from autoconf:
|
||||||
|
dnl ...: warning: AC_TRY_RUN called without default to allow cross compiling
|
||||||
|
AC_FUNC_SETVBUF_REVERSED
|
||||||
|
|
||||||
|
# used by sleep and shred
|
||||||
|
# Solaris 2.5.1 needs -lposix4 to get the clock_gettime function.
|
||||||
|
# Solaris 7 prefers the library name -lrt to the obsolescent name -lposix4.
|
||||||
|
|
||||||
|
# Save and restore LIBS so e.g., -lrt, isn't added to it. Otherwise, *all*
|
||||||
|
# programs in the package would end up linked with that potentially-shared
|
||||||
|
# library, inducing unnecessary run-time overhead.
|
||||||
|
fetish_saved_libs=$LIBS
|
||||||
|
AC_SEARCH_LIBS(clock_gettime, [rt posix4],
|
||||||
|
[LIB_CLOCK_GETTIME=$ac_cv_search_clock_gettime])
|
||||||
|
AC_SUBST(LIB_CLOCK_GETTIME)
|
||||||
|
AC_CHECK_FUNCS(clock_gettime clock_settime)
|
||||||
|
LIBS=$fetish_saved_libs
|
||||||
|
AC_CHECK_FUNCS(gettimeofday)
|
||||||
|
AC_FUNC_GETTIMEOFDAY_CLOBBER
|
||||||
|
|
||||||
|
AC_REQUIRE([AC_FUNC_CLOSEDIR_VOID])
|
||||||
|
AC_REQUIRE([jm_FUNC_UTIME])
|
||||||
|
|
||||||
|
AC_CHECK_FUNCS( \
|
||||||
|
bcopy \
|
||||||
|
endgrent \
|
||||||
|
endpwent \
|
||||||
|
fchdir \
|
||||||
|
fdatasync \
|
||||||
|
ftime \
|
||||||
|
ftruncate \
|
||||||
|
getcwd \
|
||||||
|
gethrtime \
|
||||||
|
getmntinfo \
|
||||||
|
hasmntopt \
|
||||||
|
isascii \
|
||||||
|
iswspace \
|
||||||
|
lchown \
|
||||||
|
listmntent \
|
||||||
|
localeconv \
|
||||||
|
memcpy \
|
||||||
|
mempcpy \
|
||||||
|
mkfifo \
|
||||||
|
realpath \
|
||||||
|
sethostname \
|
||||||
|
strchr \
|
||||||
|
strerror \
|
||||||
|
strrchr \
|
||||||
|
sysctl \
|
||||||
|
sysinfo \
|
||||||
|
wcrtomb \
|
||||||
|
tzset \
|
||||||
|
)
|
||||||
|
|
||||||
|
# for test.c
|
||||||
|
AC_CHECK_FUNCS(setreuid setregid)
|
||||||
|
|
||||||
|
AM_FUNC_GETLINE
|
||||||
|
if test $am_cv_func_working_getline != yes; then
|
||||||
|
AC_CHECK_FUNCS(getdelim)
|
||||||
|
fi
|
||||||
|
AC_FUNC_OBSTACK
|
||||||
|
|
||||||
|
AC_FUNC_STRTOD
|
||||||
|
AC_REQUIRE([UTILS_SYS_OPEN_MAX])
|
||||||
|
AC_REQUIRE([GL_FUNC_GETCWD_PATH_MAX])
|
||||||
|
|
||||||
|
# See if linking `seq' requires -lm.
|
||||||
|
# It does on nearly every system. The single exception (so far) is
|
||||||
|
# BeOS which has all the math functions in the normal runtime library
|
||||||
|
# and doesn't have a separate math library.
|
||||||
|
|
||||||
|
AC_SUBST(SEQ_LIBM)
|
||||||
|
ac_seq_body='
|
||||||
|
static double x, y;
|
||||||
|
x = floor (x);
|
||||||
|
x = rint (x);
|
||||||
|
x = modf (x, &y);'
|
||||||
|
AC_TRY_LINK([#include <math.h>], $ac_seq_body, ,
|
||||||
|
[ac_seq_save_LIBS="$LIBS"
|
||||||
|
LIBS="$LIBS -lm"
|
||||||
|
AC_TRY_LINK([#include <math.h>], $ac_seq_body, SEQ_LIBM=-lm)
|
||||||
|
LIBS="$ac_seq_save_LIBS"
|
||||||
|
])
|
||||||
|
|
||||||
|
AM_LANGINFO_CODESET
|
||||||
|
jm_GLIBC21
|
||||||
|
AM_ICONV
|
||||||
|
jm_FUNC_UNLINK_BUSY_TEXT
|
||||||
|
|
||||||
|
# These tests are for df.
|
||||||
|
jm_LIST_MOUNTED_FILESYSTEMS([list_mounted_fs=yes], [list_mounted_fs=no])
|
||||||
|
jm_FSTYPENAME
|
||||||
|
jm_FILE_SYSTEM_USAGE([space=yes], [space=no])
|
||||||
|
if test $list_mounted_fs = yes && test $space = yes; then
|
||||||
|
DF_PROG='df$(EXEEXT)'
|
||||||
|
AC_LIBOBJ(fsusage)
|
||||||
|
AC_LIBOBJ(mountlist)
|
||||||
|
fi
|
||||||
|
AC_REQUIRE([jm_AC_DOS])
|
||||||
|
AC_REQUIRE([AC_FUNC_CANONICALIZE_FILE_NAME])
|
||||||
|
|
||||||
|
# If any of these functions don't exist (e.g. DJGPP 2.03),
|
||||||
|
# use the corresponding stub.
|
||||||
|
AC_CHECK_FUNC([fchdir], , [AC_LIBOBJ(fchdir-stub)])
|
||||||
|
AC_CHECK_FUNC([fchown], , [AC_LIBOBJ(fchown-stub)])
|
||||||
|
AC_CHECK_FUNC([lstat], , [AC_LIBOBJ(lstat-stub)])
|
||||||
|
AC_CHECK_FUNC([readlink], , [AC_LIBOBJ(readlink-stub)])
|
||||||
|
|
||||||
|
])
|
||||||
|
|
||||||
|
# These tests must be run before any use of AC_CHECK_TYPE,
|
||||||
|
# because that macro compiles code that tests e.g., HAVE_UNISTD_H.
|
||||||
|
# See the definition of ac_includes_default in `configure'.
|
||||||
|
AC_DEFUN([jm_CHECK_ALL_HEADERS],
|
||||||
|
[
|
||||||
|
AC_CHECK_HEADERS( \
|
||||||
|
errno.h \
|
||||||
|
fcntl.h \
|
||||||
|
float.h \
|
||||||
|
hurd.h \
|
||||||
|
limits.h \
|
||||||
|
memory.h \
|
||||||
|
mntent.h \
|
||||||
|
mnttab.h \
|
||||||
|
netdb.h \
|
||||||
|
paths.h \
|
||||||
|
stdlib.h \
|
||||||
|
stddef.h \
|
||||||
|
stdint.h \
|
||||||
|
string.h \
|
||||||
|
sys/filsys.h \
|
||||||
|
sys/fs/s5param.h \
|
||||||
|
sys/fs_types.h \
|
||||||
|
sys/fstyp.h \
|
||||||
|
sys/ioctl.h \
|
||||||
|
sys/mntent.h \
|
||||||
|
sys/mount.h \
|
||||||
|
sys/param.h \
|
||||||
|
sys/resource.h \
|
||||||
|
sys/socket.h \
|
||||||
|
sys/statfs.h \
|
||||||
|
sys/statvfs.h \
|
||||||
|
sys/sysctl.h \
|
||||||
|
sys/systeminfo.h \
|
||||||
|
sys/time.h \
|
||||||
|
sys/timeb.h \
|
||||||
|
sys/vfs.h \
|
||||||
|
sys/wait.h \
|
||||||
|
syslog.h \
|
||||||
|
termios.h \
|
||||||
|
unistd.h \
|
||||||
|
utime.h \
|
||||||
|
values.h \
|
||||||
|
)
|
||||||
|
])
|
||||||
|
|
||||||
|
# This macro must be invoked before any tests that run the compiler.
|
||||||
|
AC_DEFUN([jm_CHECK_ALL_TYPES],
|
||||||
|
[
|
||||||
|
dnl This test must come as early as possible after the compiler configuration
|
||||||
|
dnl tests, because the choice of the file model can (in principle) affect
|
||||||
|
dnl whether functions and headers are available, whether they work, etc.
|
||||||
|
AC_REQUIRE([AC_SYS_LARGEFILE])
|
||||||
|
|
||||||
|
dnl This test must precede tests of compiler characteristics like
|
||||||
|
dnl that for the inline keyword, since it may change the degree to
|
||||||
|
dnl which the compiler supports such features.
|
||||||
|
AC_REQUIRE([AM_C_PROTOTYPES])
|
||||||
|
|
||||||
|
dnl Checks for typedefs, structures, and compiler characteristics.
|
||||||
|
AC_REQUIRE([AC_C_BIGENDIAN])
|
||||||
|
AC_REQUIRE([AC_C_CONST])
|
||||||
|
AC_REQUIRE([AC_C_VOLATILE])
|
||||||
|
AC_REQUIRE([AC_C_INLINE])
|
||||||
|
AC_REQUIRE([AC_C_LONG_DOUBLE])
|
||||||
|
|
||||||
|
AC_REQUIRE([jm_CHECK_ALL_HEADERS])
|
||||||
|
AC_REQUIRE([AC_HEADER_DIRENT])
|
||||||
|
AC_REQUIRE([AC_HEADER_STDC])
|
||||||
|
AC_CHECK_MEMBERS(
|
||||||
|
[struct stat.st_author,
|
||||||
|
struct stat.st_blksize],,,
|
||||||
|
[$ac_includes_default
|
||||||
|
#include <sys/stat.h>
|
||||||
|
])
|
||||||
|
AC_REQUIRE([AC_STRUCT_ST_BLOCKS])
|
||||||
|
|
||||||
|
AC_REQUIRE([AC_STRUCT_TM])
|
||||||
|
AC_REQUIRE([AC_STRUCT_TIMEZONE])
|
||||||
|
AC_REQUIRE([AC_HEADER_STAT])
|
||||||
|
AC_REQUIRE([AC_STRUCT_ST_MTIM_NSEC])
|
||||||
|
AC_REQUIRE([AC_STRUCT_ST_DM_MODE])
|
||||||
|
AC_REQUIRE([jm_CHECK_TYPE_STRUCT_TIMESPEC])
|
||||||
|
|
||||||
|
AC_REQUIRE([AC_TYPE_GETGROUPS])
|
||||||
|
AC_REQUIRE([AC_TYPE_MODE_T])
|
||||||
|
AC_REQUIRE([AC_TYPE_OFF_T])
|
||||||
|
AC_REQUIRE([AC_TYPE_PID_T])
|
||||||
|
AC_REQUIRE([AC_TYPE_SIGNAL])
|
||||||
|
AC_REQUIRE([AC_TYPE_SIZE_T])
|
||||||
|
AC_REQUIRE([AC_TYPE_UID_T])
|
||||||
|
AC_CHECK_TYPE(ino_t, unsigned long)
|
||||||
|
|
||||||
|
dnl This relies on the fact that autoconf 2.14a's implementation of
|
||||||
|
dnl AC_CHECK_TYPE checks includes unistd.h.
|
||||||
|
AC_CHECK_TYPE(ssize_t, int)
|
||||||
|
AC_CHECK_TYPE(major_t, unsigned int)
|
||||||
|
AC_CHECK_TYPE(minor_t, unsigned int)
|
||||||
|
|
||||||
|
AC_REQUIRE([jm_AC_TYPE_UINTMAX_T])
|
||||||
|
AC_REQUIRE([jm_AC_TYPE_UNSIGNED_LONG_LONG])
|
||||||
|
|
||||||
|
AC_REQUIRE([AC_HEADER_MAJOR])
|
||||||
|
AC_REQUIRE([AC_HEADER_DIRENT])
|
||||||
|
|
||||||
|
])
|
||||||
@@ -0,0 +1,16 @@
|
|||||||
|
#serial 8
|
||||||
|
|
||||||
|
dnl From Jim Meyering.
|
||||||
|
dnl A wrapper around AC_FUNC_MKTIME.
|
||||||
|
|
||||||
|
AC_DEFUN([jm_FUNC_MKTIME],
|
||||||
|
[AC_REQUIRE([AC_FUNC_MKTIME])dnl
|
||||||
|
|
||||||
|
dnl mktime.c uses localtime_r if it exists. Check for it.
|
||||||
|
AC_CHECK_FUNCS(localtime_r)
|
||||||
|
|
||||||
|
if test $ac_cv_func_working_mktime = no; then
|
||||||
|
AC_DEFINE(mktime, rpl_mktime,
|
||||||
|
[Define to rpl_mktime if the replacement function should be used.])
|
||||||
|
fi
|
||||||
|
])
|
||||||
@@ -0,0 +1,39 @@
|
|||||||
|
#serial 6
|
||||||
|
dnl From Jim Meyering and Paul Eggert.
|
||||||
|
AC_DEFUN([jm_HEADER_TIOCGWINSZ_IN_TERMIOS_H],
|
||||||
|
[AC_REQUIRE([AC_SYS_POSIX_TERMIOS])
|
||||||
|
AC_CACHE_CHECK([whether use of TIOCGWINSZ requires termios.h],
|
||||||
|
jm_cv_sys_tiocgwinsz_needs_termios_h,
|
||||||
|
[jm_cv_sys_tiocgwinsz_needs_termios_h=no
|
||||||
|
|
||||||
|
if test $ac_cv_sys_posix_termios = yes; then
|
||||||
|
AC_EGREP_CPP([yes],
|
||||||
|
[#include <sys/types.h>
|
||||||
|
# include <termios.h>
|
||||||
|
# ifdef TIOCGWINSZ
|
||||||
|
yes
|
||||||
|
# endif
|
||||||
|
], jm_cv_sys_tiocgwinsz_needs_termios_h=yes)
|
||||||
|
fi
|
||||||
|
])
|
||||||
|
])
|
||||||
|
|
||||||
|
AC_DEFUN([jm_WINSIZE_IN_PTEM],
|
||||||
|
[AC_REQUIRE([AC_SYS_POSIX_TERMIOS])
|
||||||
|
AC_CACHE_CHECK([whether use of struct winsize requires sys/ptem.h],
|
||||||
|
jm_cv_sys_struct_winsize_needs_sys_ptem_h,
|
||||||
|
[jm_cv_sys_struct_winsize_needs_sys_ptem_h=yes
|
||||||
|
if test $ac_cv_sys_posix_termios = yes; then
|
||||||
|
AC_TRY_COMPILE([#include <termios.h>]
|
||||||
|
[struct winsize x;],
|
||||||
|
[jm_cv_sys_struct_winsize_needs_sys_ptem_h=no])
|
||||||
|
fi
|
||||||
|
if test $jm_cv_sys_struct_winsize_needs_sys_ptem_h = yes; then
|
||||||
|
AC_TRY_COMPILE([#include <sys/ptem.h>],
|
||||||
|
[struct winsize x;],
|
||||||
|
[], [jm_cv_sys_struct_winsize_needs_sys_ptem_h=no])
|
||||||
|
fi])
|
||||||
|
if test $jm_cv_sys_struct_winsize_needs_sys_ptem_h = yes; then
|
||||||
|
AC_DEFINE([WINSIZE_IN_PTEM], 1,
|
||||||
|
[Define if sys/ptem.h is required for struct winsize.])
|
||||||
|
fi])
|
||||||
@@ -0,0 +1,23 @@
|
|||||||
|
#serial 4
|
||||||
|
|
||||||
|
AC_DEFUN([jm_HEADER_TIOCGWINSZ_NEEDS_SYS_IOCTL],
|
||||||
|
[AC_REQUIRE([jm_HEADER_TIOCGWINSZ_IN_TERMIOS_H])
|
||||||
|
AC_CACHE_CHECK([whether use of TIOCGWINSZ requires sys/ioctl.h],
|
||||||
|
jm_cv_sys_tiocgwinsz_needs_sys_ioctl_h,
|
||||||
|
[jm_cv_sys_tiocgwinsz_needs_sys_ioctl_h=no
|
||||||
|
|
||||||
|
if test $jm_cv_sys_tiocgwinsz_needs_termios_h = no; then
|
||||||
|
AC_EGREP_CPP([yes],
|
||||||
|
[#include <sys/types.h>
|
||||||
|
# include <sys/ioctl.h>
|
||||||
|
# ifdef TIOCGWINSZ
|
||||||
|
yes
|
||||||
|
# endif
|
||||||
|
], jm_cv_sys_tiocgwinsz_needs_sys_ioctl_h=yes)
|
||||||
|
fi
|
||||||
|
])
|
||||||
|
if test $jm_cv_sys_tiocgwinsz_needs_sys_ioctl_h = yes; then
|
||||||
|
AC_DEFINE(GWINSZ_IN_SYS_IOCTL, 1,
|
||||||
|
[Define if your system defines TIOCGWINSZ in sys/ioctl.h.])
|
||||||
|
fi
|
||||||
|
])
|
||||||
@@ -0,0 +1,10 @@
|
|||||||
|
#serial 2
|
||||||
|
|
||||||
|
dnl From Jim Meyering.
|
||||||
|
dnl Provide lchown on systems that lack it.
|
||||||
|
|
||||||
|
AC_DEFUN([jm_FUNC_LCHOWN],
|
||||||
|
[
|
||||||
|
AC_REQUIRE([AC_TYPE_UID_T])
|
||||||
|
AC_REPLACE_FUNCS(lchown)
|
||||||
|
])
|
||||||
@@ -0,0 +1,32 @@
|
|||||||
|
# lcmessage.m4 serial 3 (gettext-0.11.3)
|
||||||
|
dnl Copyright (C) 1995-2002 Free Software Foundation, Inc.
|
||||||
|
dnl This file is free software, distributed under the terms of the GNU
|
||||||
|
dnl General Public License. As a special exception to the GNU General
|
||||||
|
dnl Public License, this file may be distributed as part of a program
|
||||||
|
dnl that contains a configuration script generated by Autoconf, under
|
||||||
|
dnl the same distribution terms as the rest of that program.
|
||||||
|
dnl
|
||||||
|
dnl This file can can be used in projects which are not available under
|
||||||
|
dnl the GNU General Public License or the GNU Library General Public
|
||||||
|
dnl License but which still want to provide support for the GNU gettext
|
||||||
|
dnl functionality.
|
||||||
|
dnl Please note that the actual code of the GNU gettext library is covered
|
||||||
|
dnl by the GNU Library General Public License, and the rest of the GNU
|
||||||
|
dnl gettext package package is covered by the GNU General Public License.
|
||||||
|
dnl They are *not* in the public domain.
|
||||||
|
|
||||||
|
dnl Authors:
|
||||||
|
dnl Ulrich Drepper <[email protected]>, 1995.
|
||||||
|
|
||||||
|
# Check whether LC_MESSAGES is available in <locale.h>.
|
||||||
|
|
||||||
|
AC_DEFUN([AM_LC_MESSAGES],
|
||||||
|
[
|
||||||
|
AC_CACHE_CHECK([for LC_MESSAGES], am_cv_val_LC_MESSAGES,
|
||||||
|
[AC_TRY_LINK([#include <locale.h>], [return LC_MESSAGES],
|
||||||
|
am_cv_val_LC_MESSAGES=yes, am_cv_val_LC_MESSAGES=no)])
|
||||||
|
if test $am_cv_val_LC_MESSAGES = yes; then
|
||||||
|
AC_DEFINE(HAVE_LC_MESSAGES, 1,
|
||||||
|
[Define if your <locale.h> file defines LC_MESSAGES.])
|
||||||
|
fi
|
||||||
|
])
|
||||||
@@ -0,0 +1,63 @@
|
|||||||
|
#serial 5
|
||||||
|
|
||||||
|
dnl Misc lib-related macros for fileutils, sh-utils, textutils.
|
||||||
|
|
||||||
|
AC_DEFUN([jm_LIB_CHECK],
|
||||||
|
[
|
||||||
|
|
||||||
|
# Check for libypsec.a on Dolphin M88K machines.
|
||||||
|
AC_CHECK_LIB(ypsec, main)
|
||||||
|
|
||||||
|
# m88k running dgux 5.4 needs this
|
||||||
|
AC_CHECK_LIB(ldgc, main)
|
||||||
|
|
||||||
|
# Some programs need to link with -lm. printf does if it uses
|
||||||
|
# lib/strtod.c which uses pow. And seq uses the math functions,
|
||||||
|
# floor, modf, rint. And factor uses sqrt. And sleep uses fesetround.
|
||||||
|
|
||||||
|
# Save a copy of $LIBS and add $FLOOR_LIBM before these tests
|
||||||
|
# Check for these math functions used by seq.
|
||||||
|
ac_su_saved_lib="$LIBS"
|
||||||
|
LIBS="$LIBS -lm"
|
||||||
|
AC_CHECK_FUNCS(floor modf rint)
|
||||||
|
LIBS="$ac_su_saved_lib"
|
||||||
|
|
||||||
|
AC_SUBST(SQRT_LIBM)
|
||||||
|
AC_CHECK_FUNCS(sqrt)
|
||||||
|
if test $ac_cv_func_sqrt = no; then
|
||||||
|
AC_CHECK_LIB(m, sqrt, [SQRT_LIBM=-lm])
|
||||||
|
fi
|
||||||
|
|
||||||
|
AC_SUBST(FESETROUND_LIBM)
|
||||||
|
AC_CHECK_FUNCS(fesetround)
|
||||||
|
if test $ac_cv_func_fesetround = no; then
|
||||||
|
AC_CHECK_LIB(m, fesetround, [FESETROUND_LIBM=-lm])
|
||||||
|
fi
|
||||||
|
|
||||||
|
# The -lsun library is required for YP support on Irix-4.0.5 systems.
|
||||||
|
# m88k/svr3 DolphinOS systems using YP need -lypsec for id.
|
||||||
|
AC_SEARCH_LIBS(yp_match, [sun ypsec])
|
||||||
|
|
||||||
|
# SysV needs -lsec, older versions of Linux need -lshadow for
|
||||||
|
# shadow passwords. UnixWare 7 needs -lgen.
|
||||||
|
AC_SEARCH_LIBS(getspnam, [shadow sec gen])
|
||||||
|
|
||||||
|
AC_CHECK_HEADERS(shadow.h)
|
||||||
|
|
||||||
|
# Requirements for su.c.
|
||||||
|
shadow_includes="\
|
||||||
|
$ac_includes_default
|
||||||
|
#if HAVE_SHADOW_H
|
||||||
|
# include <shadow.h>
|
||||||
|
#endif
|
||||||
|
"
|
||||||
|
AC_CHECK_MEMBERS([struct spwd.sp_pwdp],,,[$shadow_includes])
|
||||||
|
AC_CHECK_FUNCS(getspnam)
|
||||||
|
|
||||||
|
# SCO-ODT-3.0 is reported to need -lufc for crypt.
|
||||||
|
# NetBSD needs -lcrypt for crypt.
|
||||||
|
ac_su_saved_lib="$LIBS"
|
||||||
|
AC_SEARCH_LIBS(crypt, [ufc crypt], [LIB_CRYPT="$ac_cv_search_crypt"])
|
||||||
|
LIBS="$ac_su_saved_lib"
|
||||||
|
AC_SUBST(LIB_CRYPT)
|
||||||
|
])
|
||||||
@@ -0,0 +1,97 @@
|
|||||||
|
# lib-ld.m4 serial 1 (gettext-0.11)
|
||||||
|
dnl Copyright (C) 1996-2002 Free Software Foundation, Inc.
|
||||||
|
dnl This file is free software, distributed under the terms of the GNU
|
||||||
|
dnl General Public License. As a special exception to the GNU General
|
||||||
|
dnl Public License, this file may be distributed as part of a program
|
||||||
|
dnl that contains a configuration script generated by Autoconf, under
|
||||||
|
dnl the same distribution terms as the rest of that program.
|
||||||
|
|
||||||
|
dnl Subroutines of libtool.m4,
|
||||||
|
dnl with replacements s/AC_/AC_LIB/ and s/lt_cv/acl_cv/ to avoid collision
|
||||||
|
dnl with libtool.m4.
|
||||||
|
|
||||||
|
dnl From libtool-1.4. Sets the variable with_gnu_ld to yes or no.
|
||||||
|
AC_DEFUN([AC_LIB_PROG_LD_GNU],
|
||||||
|
[AC_CACHE_CHECK([if the linker ($LD) is GNU ld], acl_cv_prog_gnu_ld,
|
||||||
|
[# I'd rather use --version here, but apparently some GNU ld's only accept -v.
|
||||||
|
if $LD -v 2>&1 </dev/null | egrep '(GNU|with BFD)' 1>&5; then
|
||||||
|
acl_cv_prog_gnu_ld=yes
|
||||||
|
else
|
||||||
|
acl_cv_prog_gnu_ld=no
|
||||||
|
fi])
|
||||||
|
with_gnu_ld=$acl_cv_prog_gnu_ld
|
||||||
|
])
|
||||||
|
|
||||||
|
dnl From libtool-1.4. Sets the variable LD.
|
||||||
|
AC_DEFUN([AC_LIB_PROG_LD],
|
||||||
|
[AC_ARG_WITH(gnu-ld,
|
||||||
|
[ --with-gnu-ld assume the C compiler uses GNU ld [default=no]],
|
||||||
|
test "$withval" = no || with_gnu_ld=yes, with_gnu_ld=no)
|
||||||
|
AC_REQUIRE([AC_PROG_CC])dnl
|
||||||
|
AC_REQUIRE([AC_CANONICAL_HOST])dnl
|
||||||
|
ac_prog=ld
|
||||||
|
if test "$GCC" = yes; then
|
||||||
|
# Check if gcc -print-prog-name=ld gives a path.
|
||||||
|
AC_MSG_CHECKING([for ld used by GCC])
|
||||||
|
case $host in
|
||||||
|
*-*-mingw*)
|
||||||
|
# gcc leaves a trailing carriage return which upsets mingw
|
||||||
|
ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;;
|
||||||
|
*)
|
||||||
|
ac_prog=`($CC -print-prog-name=ld) 2>&5` ;;
|
||||||
|
esac
|
||||||
|
case $ac_prog in
|
||||||
|
# Accept absolute paths.
|
||||||
|
[[\\/]* | [A-Za-z]:[\\/]*)]
|
||||||
|
[re_direlt='/[^/][^/]*/\.\./']
|
||||||
|
# Canonicalize the path of ld
|
||||||
|
ac_prog=`echo $ac_prog| sed 's%\\\\%/%g'`
|
||||||
|
while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do
|
||||||
|
ac_prog=`echo $ac_prog| sed "s%$re_direlt%/%"`
|
||||||
|
done
|
||||||
|
test -z "$LD" && LD="$ac_prog"
|
||||||
|
;;
|
||||||
|
"")
|
||||||
|
# If it fails, then pretend we aren't using GCC.
|
||||||
|
ac_prog=ld
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
# If it is relative, then search for the first ld in PATH.
|
||||||
|
with_gnu_ld=unknown
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
elif test "$with_gnu_ld" = yes; then
|
||||||
|
AC_MSG_CHECKING([for GNU ld])
|
||||||
|
else
|
||||||
|
AC_MSG_CHECKING([for non-GNU ld])
|
||||||
|
fi
|
||||||
|
AC_CACHE_VAL(acl_cv_path_LD,
|
||||||
|
[if test -z "$LD"; then
|
||||||
|
IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR-:}"
|
||||||
|
for ac_dir in $PATH; do
|
||||||
|
test -z "$ac_dir" && ac_dir=.
|
||||||
|
if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then
|
||||||
|
acl_cv_path_LD="$ac_dir/$ac_prog"
|
||||||
|
# Check to see if the program is GNU ld. I'd rather use --version,
|
||||||
|
# but apparently some GNU ld's only accept -v.
|
||||||
|
# Break only if it was the GNU/non-GNU ld that we prefer.
|
||||||
|
if "$acl_cv_path_LD" -v 2>&1 < /dev/null | egrep '(GNU|with BFD)' > /dev/null; then
|
||||||
|
test "$with_gnu_ld" != no && break
|
||||||
|
else
|
||||||
|
test "$with_gnu_ld" != yes && break
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
IFS="$ac_save_ifs"
|
||||||
|
else
|
||||||
|
acl_cv_path_LD="$LD" # Let the user override the test with a path.
|
||||||
|
fi])
|
||||||
|
LD="$acl_cv_path_LD"
|
||||||
|
if test -n "$LD"; then
|
||||||
|
AC_MSG_RESULT($LD)
|
||||||
|
else
|
||||||
|
AC_MSG_RESULT(no)
|
||||||
|
fi
|
||||||
|
test -z "$LD" && AC_MSG_ERROR([no acceptable ld found in \$PATH])
|
||||||
|
AC_LIB_PROG_LD_GNU
|
||||||
|
])
|
||||||
@@ -0,0 +1,554 @@
|
|||||||
|
# lib-link.m4 serial 3 (gettext-0.11.3)
|
||||||
|
dnl Copyright (C) 2001-2002 Free Software Foundation, Inc.
|
||||||
|
dnl This file is free software, distributed under the terms of the GNU
|
||||||
|
dnl General Public License. As a special exception to the GNU General
|
||||||
|
dnl Public License, this file may be distributed as part of a program
|
||||||
|
dnl that contains a configuration script generated by Autoconf, under
|
||||||
|
dnl the same distribution terms as the rest of that program.
|
||||||
|
|
||||||
|
dnl From Bruno Haible.
|
||||||
|
|
||||||
|
dnl AC_LIB_LINKFLAGS(name [, dependencies]) searches for libname and
|
||||||
|
dnl the libraries corresponding to explicit and implicit dependencies.
|
||||||
|
dnl Sets and AC_SUBSTs the LIB${NAME} and LTLIB${NAME} variables and
|
||||||
|
dnl augments the CPPFLAGS variable.
|
||||||
|
AC_DEFUN([AC_LIB_LINKFLAGS],
|
||||||
|
[
|
||||||
|
AC_REQUIRE([AC_LIB_PREPARE_PREFIX])
|
||||||
|
AC_REQUIRE([AC_LIB_RPATH])
|
||||||
|
define([Name],[translit([$1],[./-], [___])])
|
||||||
|
define([NAME],[translit([$1],[abcdefghijklmnopqrstuvwxyz./-],
|
||||||
|
[ABCDEFGHIJKLMNOPQRSTUVWXYZ___])])
|
||||||
|
AC_CACHE_CHECK([how to link with lib[]$1], [ac_cv_lib[]Name[]_libs], [
|
||||||
|
AC_LIB_LINKFLAGS_BODY([$1], [$2])
|
||||||
|
ac_cv_lib[]Name[]_libs="$LIB[]NAME"
|
||||||
|
ac_cv_lib[]Name[]_ltlibs="$LTLIB[]NAME"
|
||||||
|
ac_cv_lib[]Name[]_cppflags="$INC[]NAME"
|
||||||
|
])
|
||||||
|
LIB[]NAME="$ac_cv_lib[]Name[]_libs"
|
||||||
|
LTLIB[]NAME="$ac_cv_lib[]Name[]_ltlibs"
|
||||||
|
INC[]NAME="$ac_cv_lib[]Name[]_cppflags"
|
||||||
|
AC_LIB_APPENDTOVAR([CPPFLAGS], [$INC]NAME)
|
||||||
|
AC_SUBST([LIB]NAME)
|
||||||
|
AC_SUBST([LTLIB]NAME)
|
||||||
|
dnl Also set HAVE_LIB[]NAME so that AC_LIB_HAVE_LINKFLAGS can reuse the
|
||||||
|
dnl results of this search when this library appears as a dependency.
|
||||||
|
HAVE_LIB[]NAME=yes
|
||||||
|
undefine([Name])
|
||||||
|
undefine([NAME])
|
||||||
|
])
|
||||||
|
|
||||||
|
dnl AC_LIB_HAVE_LINKFLAGS(name, dependencies, includes, testcode)
|
||||||
|
dnl searches for libname and the libraries corresponding to explicit and
|
||||||
|
dnl implicit dependencies, together with the specified include files and
|
||||||
|
dnl the ability to compile and link the specified testcode. If found, it
|
||||||
|
dnl sets and AC_SUBSTs HAVE_LIB${NAME}=yes and the LIB${NAME} and
|
||||||
|
dnl LTLIB${NAME} variables and augments the CPPFLAGS variable, and
|
||||||
|
dnl #defines HAVE_LIB${NAME} to 1. Otherwise, it sets and AC_SUBSTs
|
||||||
|
dnl HAVE_LIB${NAME}=no and LIB${NAME} and LTLIB${NAME} to empty.
|
||||||
|
AC_DEFUN([AC_LIB_HAVE_LINKFLAGS],
|
||||||
|
[
|
||||||
|
AC_REQUIRE([AC_LIB_PREPARE_PREFIX])
|
||||||
|
AC_REQUIRE([AC_LIB_RPATH])
|
||||||
|
define([Name],[translit([$1],[./-], [___])])
|
||||||
|
define([NAME],[translit([$1],[abcdefghijklmnopqrstuvwxyz./-],
|
||||||
|
[ABCDEFGHIJKLMNOPQRSTUVWXYZ___])])
|
||||||
|
|
||||||
|
dnl Search for lib[]Name and define LIB[]NAME, LTLIB[]NAME and INC[]NAME
|
||||||
|
dnl accordingly.
|
||||||
|
AC_LIB_LINKFLAGS_BODY([$1], [$2])
|
||||||
|
|
||||||
|
dnl Add $INC[]NAME to CPPFLAGS before performing the following checks,
|
||||||
|
dnl because if the user has installed lib[]Name and not disabled its use
|
||||||
|
dnl via --without-lib[]Name-prefix, he wants to use it.
|
||||||
|
ac_save_CPPFLAGS="$CPPFLAGS"
|
||||||
|
AC_LIB_APPENDTOVAR([CPPFLAGS], [$INC]NAME)
|
||||||
|
|
||||||
|
AC_CACHE_CHECK([for lib[]$1], [ac_cv_lib[]Name], [
|
||||||
|
ac_save_LIBS="$LIBS"
|
||||||
|
LIBS="$LIBS $LIB[]NAME"
|
||||||
|
AC_TRY_LINK([$3], [$4], [ac_cv_lib[]Name=yes], [ac_cv_lib[]Name=no])
|
||||||
|
LIBS="$ac_save_LIBS"
|
||||||
|
])
|
||||||
|
if test "$ac_cv_lib[]Name" = yes; then
|
||||||
|
HAVE_LIB[]NAME=yes
|
||||||
|
AC_DEFINE([HAVE_LIB]NAME, 1, [Define if you have the $1 library.])
|
||||||
|
AC_MSG_CHECKING([how to link with lib[]$1])
|
||||||
|
AC_MSG_RESULT([$LIB[]NAME])
|
||||||
|
else
|
||||||
|
HAVE_LIB[]NAME=no
|
||||||
|
dnl If $LIB[]NAME didn't lead to a usable library, we don't need
|
||||||
|
dnl $INC[]NAME either.
|
||||||
|
CPPFLAGS="$ac_save_CPPFLAGS"
|
||||||
|
LIB[]NAME=
|
||||||
|
LTLIB[]NAME=
|
||||||
|
fi
|
||||||
|
AC_SUBST([HAVE_LIB]NAME)
|
||||||
|
AC_SUBST([LIB]NAME)
|
||||||
|
AC_SUBST([LTLIB]NAME)
|
||||||
|
undefine([Name])
|
||||||
|
undefine([NAME])
|
||||||
|
])
|
||||||
|
|
||||||
|
dnl Determine the platform dependent parameters needed to use rpath:
|
||||||
|
dnl libext, shlibext, hardcode_libdir_flag_spec, hardcode_libdir_separator,
|
||||||
|
dnl hardcode_direct, hardcode_minus_L,
|
||||||
|
dnl sys_lib_search_path_spec, sys_lib_dlsearch_path_spec.
|
||||||
|
AC_DEFUN([AC_LIB_RPATH],
|
||||||
|
[
|
||||||
|
AC_REQUIRE([AC_PROG_CC]) dnl we use $CC, $GCC, $LDFLAGS
|
||||||
|
AC_REQUIRE([AC_LIB_PROG_LD]) dnl we use $LD, $with_gnu_ld
|
||||||
|
AC_REQUIRE([AC_CANONICAL_HOST]) dnl we use $host
|
||||||
|
AC_REQUIRE([AC_CONFIG_AUX_DIR_DEFAULT]) dnl we use $ac_aux_dir
|
||||||
|
AC_CACHE_CHECK([for shared library run path origin], acl_cv_rpath, [
|
||||||
|
CC="$CC" GCC="$GCC" LDFLAGS="$LDFLAGS" LD="$LD" with_gnu_ld="$with_gnu_ld" \
|
||||||
|
${CONFIG_SHELL-/bin/sh} "$ac_aux_dir/config.rpath" "$host" > conftest.sh
|
||||||
|
. ./conftest.sh
|
||||||
|
rm -f ./conftest.sh
|
||||||
|
acl_cv_rpath=done
|
||||||
|
])
|
||||||
|
wl="$acl_cv_wl"
|
||||||
|
libext="$acl_cv_libext"
|
||||||
|
shlibext="$acl_cv_shlibext"
|
||||||
|
hardcode_libdir_flag_spec="$acl_cv_hardcode_libdir_flag_spec"
|
||||||
|
hardcode_libdir_separator="$acl_cv_hardcode_libdir_separator"
|
||||||
|
hardcode_direct="$acl_cv_hardcode_direct"
|
||||||
|
hardcode_minus_L="$acl_cv_hardcode_minus_L"
|
||||||
|
sys_lib_search_path_spec="$acl_cv_sys_lib_search_path_spec"
|
||||||
|
sys_lib_dlsearch_path_spec="$acl_cv_sys_lib_dlsearch_path_spec"
|
||||||
|
dnl Determine whether the user wants rpath handling at all.
|
||||||
|
AC_ARG_ENABLE(rpath,
|
||||||
|
[ --disable-rpath do not hardcode runtime library paths],
|
||||||
|
:, enable_rpath=yes)
|
||||||
|
])
|
||||||
|
|
||||||
|
dnl AC_LIB_LINKFLAGS_BODY(name [, dependencies]) searches for libname and
|
||||||
|
dnl the libraries corresponding to explicit and implicit dependencies.
|
||||||
|
dnl Sets the LIB${NAME}, LTLIB${NAME} and INC${NAME} variables.
|
||||||
|
AC_DEFUN([AC_LIB_LINKFLAGS_BODY],
|
||||||
|
[
|
||||||
|
define([NAME],[translit([$1],[abcdefghijklmnopqrstuvwxyz./-],
|
||||||
|
[ABCDEFGHIJKLMNOPQRSTUVWXYZ___])])
|
||||||
|
dnl By default, look in $includedir and $libdir.
|
||||||
|
use_additional=yes
|
||||||
|
AC_LIB_WITH_FINAL_PREFIX([
|
||||||
|
eval additional_includedir=\"$includedir\"
|
||||||
|
eval additional_libdir=\"$libdir\"
|
||||||
|
])
|
||||||
|
AC_ARG_WITH([lib$1-prefix],
|
||||||
|
[ --with-lib$1-prefix[=DIR] search for lib$1 in DIR/include and DIR/lib
|
||||||
|
--without-lib$1-prefix don't search for lib$1 in includedir and libdir],
|
||||||
|
[
|
||||||
|
if test "X$withval" = "Xno"; then
|
||||||
|
use_additional=no
|
||||||
|
else
|
||||||
|
if test "X$withval" = "X"; then
|
||||||
|
AC_LIB_WITH_FINAL_PREFIX([
|
||||||
|
eval additional_includedir=\"$includedir\"
|
||||||
|
eval additional_libdir=\"$libdir\"
|
||||||
|
])
|
||||||
|
else
|
||||||
|
additional_includedir="$withval/include"
|
||||||
|
additional_libdir="$withval/lib"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
])
|
||||||
|
dnl Search the library and its dependencies in $additional_libdir and
|
||||||
|
dnl $LDFLAGS. Using breadth-first-seach.
|
||||||
|
LIB[]NAME=
|
||||||
|
LTLIB[]NAME=
|
||||||
|
INC[]NAME=
|
||||||
|
rpathdirs=
|
||||||
|
ltrpathdirs=
|
||||||
|
names_already_handled=
|
||||||
|
names_next_round='$1 $2'
|
||||||
|
while test -n "$names_next_round"; do
|
||||||
|
names_this_round="$names_next_round"
|
||||||
|
names_next_round=
|
||||||
|
for name in $names_this_round; do
|
||||||
|
already_handled=
|
||||||
|
for n in $names_already_handled; do
|
||||||
|
if test "$n" = "$name"; then
|
||||||
|
already_handled=yes
|
||||||
|
break
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
if test -z "$already_handled"; then
|
||||||
|
names_already_handled="$names_already_handled $name"
|
||||||
|
dnl See if it was already located by an earlier AC_LIB_LINKFLAGS
|
||||||
|
dnl or AC_LIB_HAVE_LINKFLAGS call.
|
||||||
|
uppername=`echo "$name" | sed -e 'y|abcdefghijklmnopqrstuvwxyz./-|ABCDEFGHIJKLMNOPQRSTUVWXYZ___|'`
|
||||||
|
eval value=\"\$HAVE_LIB$uppername\"
|
||||||
|
if test -n "$value"; then
|
||||||
|
if test "$value" = yes; then
|
||||||
|
eval value=\"\$LIB$uppername\"
|
||||||
|
test -z "$value" || LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$value"
|
||||||
|
eval value=\"\$LTLIB$uppername\"
|
||||||
|
test -z "$value" || LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }$value"
|
||||||
|
else
|
||||||
|
dnl An earlier call to AC_LIB_HAVE_LINKFLAGS has determined
|
||||||
|
dnl that this library doesn't exist. So just drop it.
|
||||||
|
:
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
dnl Search the library lib$name in $additional_libdir and $LDFLAGS
|
||||||
|
dnl and the already constructed $LIBNAME/$LTLIBNAME.
|
||||||
|
found_dir=
|
||||||
|
found_la=
|
||||||
|
found_so=
|
||||||
|
found_a=
|
||||||
|
if test $use_additional = yes; then
|
||||||
|
if test -n "$shlibext" && test -f "$additional_libdir/lib$name.$shlibext"; then
|
||||||
|
found_dir="$additional_libdir"
|
||||||
|
found_so="$additional_libdir/lib$name.$shlibext"
|
||||||
|
if test -f "$additional_libdir/lib$name.la"; then
|
||||||
|
found_la="$additional_libdir/lib$name.la"
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
if test -f "$additional_libdir/lib$name.$libext"; then
|
||||||
|
found_dir="$additional_libdir"
|
||||||
|
found_a="$additional_libdir/lib$name.$libext"
|
||||||
|
if test -f "$additional_libdir/lib$name.la"; then
|
||||||
|
found_la="$additional_libdir/lib$name.la"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
if test "X$found_dir" = "X"; then
|
||||||
|
for x in $LDFLAGS $LTLIB[]NAME; do
|
||||||
|
AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
|
||||||
|
case "$x" in
|
||||||
|
-L*)
|
||||||
|
dir=`echo "X$x" | sed -e 's/^X-L//'`
|
||||||
|
if test -n "$shlibext" && test -f "$dir/lib$name.$shlibext"; then
|
||||||
|
found_dir="$dir"
|
||||||
|
found_so="$dir/lib$name.$shlibext"
|
||||||
|
if test -f "$dir/lib$name.la"; then
|
||||||
|
found_la="$dir/lib$name.la"
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
if test -f "$dir/lib$name.$libext"; then
|
||||||
|
found_dir="$dir"
|
||||||
|
found_a="$dir/lib$name.$libext"
|
||||||
|
if test -f "$dir/lib$name.la"; then
|
||||||
|
found_la="$dir/lib$name.la"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
if test "X$found_dir" != "X"; then
|
||||||
|
break
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
fi
|
||||||
|
if test "X$found_dir" != "X"; then
|
||||||
|
dnl Found the library.
|
||||||
|
LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-L$found_dir -l$name"
|
||||||
|
if test "X$found_so" != "X"; then
|
||||||
|
dnl Linking with a shared library. We attempt to hardcode its
|
||||||
|
dnl directory into the executable's runpath, unless it's the
|
||||||
|
dnl standard /usr/lib.
|
||||||
|
if test "$enable_rpath" = no || test "X$found_dir" = "X/usr/lib"; then
|
||||||
|
dnl No hardcoding is needed.
|
||||||
|
LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so"
|
||||||
|
else
|
||||||
|
dnl Use an explicit option to hardcode DIR into the resulting
|
||||||
|
dnl binary.
|
||||||
|
dnl Potentially add DIR to ltrpathdirs.
|
||||||
|
dnl The ltrpathdirs will be appended to $LTLIBNAME at the end.
|
||||||
|
haveit=
|
||||||
|
for x in $ltrpathdirs; do
|
||||||
|
if test "X$x" = "X$found_dir"; then
|
||||||
|
haveit=yes
|
||||||
|
break
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
if test -z "$haveit"; then
|
||||||
|
ltrpathdirs="$ltrpathdirs $found_dir"
|
||||||
|
fi
|
||||||
|
dnl The hardcoding into $LIBNAME is system dependent.
|
||||||
|
if test "$hardcode_direct" = yes; then
|
||||||
|
dnl Using DIR/libNAME.so during linking hardcodes DIR into the
|
||||||
|
dnl resulting binary.
|
||||||
|
LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so"
|
||||||
|
else
|
||||||
|
if test -n "$hardcode_libdir_flag_spec" && test "$hardcode_minus_L" = no; then
|
||||||
|
dnl Use an explicit option to hardcode DIR into the resulting
|
||||||
|
dnl binary.
|
||||||
|
LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so"
|
||||||
|
dnl Potentially add DIR to rpathdirs.
|
||||||
|
dnl The rpathdirs will be appended to $LIBNAME at the end.
|
||||||
|
haveit=
|
||||||
|
for x in $rpathdirs; do
|
||||||
|
if test "X$x" = "X$found_dir"; then
|
||||||
|
haveit=yes
|
||||||
|
break
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
if test -z "$haveit"; then
|
||||||
|
rpathdirs="$rpathdirs $found_dir"
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
dnl Rely on "-L$found_dir".
|
||||||
|
dnl But don't add it if it's already contained in the LDFLAGS
|
||||||
|
dnl or the already constructed $LIBNAME
|
||||||
|
haveit=
|
||||||
|
for x in $LDFLAGS $LIB[]NAME; do
|
||||||
|
AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
|
||||||
|
if test "X$x" = "X-L$found_dir"; then
|
||||||
|
haveit=yes
|
||||||
|
break
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
if test -z "$haveit"; then
|
||||||
|
LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-L$found_dir"
|
||||||
|
fi
|
||||||
|
if test "$hardcode_minus_L" != no; then
|
||||||
|
dnl FIXME: Not sure whether we should use
|
||||||
|
dnl "-L$found_dir -l$name" or "-L$found_dir $found_so"
|
||||||
|
dnl here.
|
||||||
|
LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so"
|
||||||
|
else
|
||||||
|
dnl We cannot use $hardcode_runpath_var and LD_RUN_PATH
|
||||||
|
dnl here, because this doesn't fit in flags passed to the
|
||||||
|
dnl compiler. So give up. No hardcoding. This affects only
|
||||||
|
dnl very old systems.
|
||||||
|
dnl FIXME: Not sure whether we should use
|
||||||
|
dnl "-L$found_dir -l$name" or "-L$found_dir $found_so"
|
||||||
|
dnl here.
|
||||||
|
LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-l$name"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
if test "X$found_a" != "X"; then
|
||||||
|
dnl Linking with a static library.
|
||||||
|
LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_a"
|
||||||
|
else
|
||||||
|
dnl We shouldn't come here, but anyway it's good to have a
|
||||||
|
dnl fallback.
|
||||||
|
LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-L$found_dir -l$name"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
dnl Assume the include files are nearby.
|
||||||
|
additional_includedir=
|
||||||
|
case "$found_dir" in
|
||||||
|
*/lib | */lib/)
|
||||||
|
basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e 's,/lib/*$,,'`
|
||||||
|
additional_includedir="$basedir/include"
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
if test "X$additional_includedir" != "X"; then
|
||||||
|
dnl Potentially add $additional_includedir to $INCNAME.
|
||||||
|
dnl But don't add it
|
||||||
|
dnl 1. if it's the standard /usr/include,
|
||||||
|
dnl 2. if it's /usr/local/include and we are using GCC on Linux,
|
||||||
|
dnl 3. if it's already present in $CPPFLAGS or the already
|
||||||
|
dnl constructed $INCNAME,
|
||||||
|
dnl 4. if it doesn't exist as a directory.
|
||||||
|
if test "X$additional_includedir" != "X/usr/include"; then
|
||||||
|
haveit=
|
||||||
|
if test "X$additional_includedir" = "X/usr/local/include"; then
|
||||||
|
if test -n "$GCC"; then
|
||||||
|
case $host_os in
|
||||||
|
linux*) haveit=yes;;
|
||||||
|
esac
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
if test -z "$haveit"; then
|
||||||
|
for x in $CPPFLAGS $INC[]NAME; do
|
||||||
|
AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
|
||||||
|
if test "X$x" = "X-I$additional_includedir"; then
|
||||||
|
haveit=yes
|
||||||
|
break
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
if test -z "$haveit"; then
|
||||||
|
if test -d "$additional_includedir"; then
|
||||||
|
dnl Really add $additional_includedir to $INCNAME.
|
||||||
|
INC[]NAME="${INC[]NAME}${INC[]NAME:+ }-I$additional_includedir"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
dnl Look for dependencies.
|
||||||
|
if test -n "$found_la"; then
|
||||||
|
dnl Read the .la file. It defines the variables
|
||||||
|
dnl dlname, library_names, old_library, dependency_libs, current,
|
||||||
|
dnl age, revision, installed, dlopen, dlpreopen, libdir.
|
||||||
|
save_libdir="$libdir"
|
||||||
|
case "$found_la" in
|
||||||
|
*/* | *\\*) . "$found_la" ;;
|
||||||
|
*) . "./$found_la" ;;
|
||||||
|
esac
|
||||||
|
libdir="$save_libdir"
|
||||||
|
dnl We use only dependency_libs.
|
||||||
|
for dep in $dependency_libs; do
|
||||||
|
case "$dep" in
|
||||||
|
-L*)
|
||||||
|
additional_libdir=`echo "X$dep" | sed -e 's/^X-L//'`
|
||||||
|
dnl Potentially add $additional_libdir to $LIBNAME and $LTLIBNAME.
|
||||||
|
dnl But don't add it
|
||||||
|
dnl 1. if it's the standard /usr/lib,
|
||||||
|
dnl 2. if it's /usr/local/lib and we are using GCC on Linux,
|
||||||
|
dnl 3. if it's already present in $LDFLAGS or the already
|
||||||
|
dnl constructed $LIBNAME,
|
||||||
|
dnl 4. if it doesn't exist as a directory.
|
||||||
|
if test "X$additional_libdir" != "X/usr/lib"; then
|
||||||
|
haveit=
|
||||||
|
if test "X$additional_libdir" = "X/usr/local/lib"; then
|
||||||
|
if test -n "$GCC"; then
|
||||||
|
case $host_os in
|
||||||
|
linux*) haveit=yes;;
|
||||||
|
esac
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
if test -z "$haveit"; then
|
||||||
|
haveit=
|
||||||
|
for x in $LDFLAGS $LIB[]NAME; do
|
||||||
|
AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
|
||||||
|
if test "X$x" = "X-L$additional_libdir"; then
|
||||||
|
haveit=yes
|
||||||
|
break
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
if test -z "$haveit"; then
|
||||||
|
if test -d "$additional_libdir"; then
|
||||||
|
dnl Really add $additional_libdir to $LIBNAME.
|
||||||
|
LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-L$additional_libdir"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
haveit=
|
||||||
|
for x in $LDFLAGS $LTLIB[]NAME; do
|
||||||
|
AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
|
||||||
|
if test "X$x" = "X-L$additional_libdir"; then
|
||||||
|
haveit=yes
|
||||||
|
break
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
if test -z "$haveit"; then
|
||||||
|
if test -d "$additional_libdir"; then
|
||||||
|
dnl Really add $additional_libdir to $LTLIBNAME.
|
||||||
|
LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-L$additional_libdir"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
-R*)
|
||||||
|
dir=`echo "X$dep" | sed -e 's/^X-R//'`
|
||||||
|
if test "$enable_rpath" != no; then
|
||||||
|
dnl Potentially add DIR to rpathdirs.
|
||||||
|
dnl The rpathdirs will be appended to $LIBNAME at the end.
|
||||||
|
haveit=
|
||||||
|
for x in $rpathdirs; do
|
||||||
|
if test "X$x" = "X$dir"; then
|
||||||
|
haveit=yes
|
||||||
|
break
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
if test -z "$haveit"; then
|
||||||
|
rpathdirs="$rpathdirs $dir"
|
||||||
|
fi
|
||||||
|
dnl Potentially add DIR to ltrpathdirs.
|
||||||
|
dnl The ltrpathdirs will be appended to $LTLIBNAME at the end.
|
||||||
|
haveit=
|
||||||
|
for x in $ltrpathdirs; do
|
||||||
|
if test "X$x" = "X$dir"; then
|
||||||
|
haveit=yes
|
||||||
|
break
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
if test -z "$haveit"; then
|
||||||
|
ltrpathdirs="$ltrpathdirs $dir"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
-l*)
|
||||||
|
dnl Handle this in the next round.
|
||||||
|
names_next_round="$names_next_round "`echo "X$dep" | sed -e 's/^X-l//'`
|
||||||
|
;;
|
||||||
|
*.la)
|
||||||
|
dnl Handle this in the next round. Throw away the .la's
|
||||||
|
dnl directory; it is already contained in a preceding -L
|
||||||
|
dnl option.
|
||||||
|
names_next_round="$names_next_round "`echo "X$dep" | sed -e 's,^X.*/,,' -e 's,^lib,,' -e 's,\.la$,,'`
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
dnl Most likely an immediate library name.
|
||||||
|
LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$dep"
|
||||||
|
LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }$dep"
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
done
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
dnl Didn't find the library; assume it is in the system directories
|
||||||
|
dnl known to the linker and runtime loader. (All the system
|
||||||
|
dnl directories known to the linker should also be known to the
|
||||||
|
dnl runtime loader, otherwise the system is severely misconfigured.)
|
||||||
|
LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-l$name"
|
||||||
|
LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-l$name"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
done
|
||||||
|
if test "X$rpathdirs" != "X"; then
|
||||||
|
if test -n "$hardcode_libdir_separator"; then
|
||||||
|
dnl Weird platform: only the last -rpath option counts, the user must
|
||||||
|
dnl pass all path elements in one option. We can arrange that for a
|
||||||
|
dnl single library, but not when more than one $LIBNAMEs are used.
|
||||||
|
alldirs=
|
||||||
|
for found_dir in $rpathdirs; do
|
||||||
|
alldirs="${alldirs}${alldirs:+$hardcode_libdir_separator}$found_dir"
|
||||||
|
done
|
||||||
|
dnl Note: hardcode_libdir_flag_spec uses $libdir and $wl.
|
||||||
|
acl_save_libdir="$libdir"
|
||||||
|
libdir="$alldirs"
|
||||||
|
eval flag=\"$hardcode_libdir_flag_spec\"
|
||||||
|
libdir="$acl_save_libdir"
|
||||||
|
LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$flag"
|
||||||
|
else
|
||||||
|
dnl The -rpath options are cumulative.
|
||||||
|
for found_dir in $rpathdirs; do
|
||||||
|
acl_save_libdir="$libdir"
|
||||||
|
libdir="$found_dir"
|
||||||
|
eval flag=\"$hardcode_libdir_flag_spec\"
|
||||||
|
libdir="$acl_save_libdir"
|
||||||
|
LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$flag"
|
||||||
|
done
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
if test "X$ltrpathdirs" != "X"; then
|
||||||
|
dnl When using libtool, the option that works for both libraries and
|
||||||
|
dnl executables is -R. The -R options are cumulative.
|
||||||
|
for found_dir in $ltrpathdirs; do
|
||||||
|
LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-R$found_dir"
|
||||||
|
done
|
||||||
|
fi
|
||||||
|
])
|
||||||
|
|
||||||
|
dnl AC_LIB_APPENDTOVAR(VAR, CONTENTS) appends the elements of CONTENTS to VAR,
|
||||||
|
dnl unless already present in VAR.
|
||||||
|
dnl Works only for CPPFLAGS, not for LIB* variables because that sometimes
|
||||||
|
dnl contains two or three consecutive elements that belong together.
|
||||||
|
AC_DEFUN([AC_LIB_APPENDTOVAR],
|
||||||
|
[
|
||||||
|
for element in [$2]; do
|
||||||
|
haveit=
|
||||||
|
for x in $[$1]; do
|
||||||
|
AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
|
||||||
|
if test "X$x" = "X$element"; then
|
||||||
|
haveit=yes
|
||||||
|
break
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
if test -z "$haveit"; then
|
||||||
|
[$1]="${[$1]}${[$1]:+ }$element"
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
])
|
||||||
@@ -0,0 +1,148 @@
|
|||||||
|
# lib-prefix.m4 serial 1 (gettext-0.11)
|
||||||
|
dnl Copyright (C) 2001-2002 Free Software Foundation, Inc.
|
||||||
|
dnl This file is free software, distributed under the terms of the GNU
|
||||||
|
dnl General Public License. As a special exception to the GNU General
|
||||||
|
dnl Public License, this file may be distributed as part of a program
|
||||||
|
dnl that contains a configuration script generated by Autoconf, under
|
||||||
|
dnl the same distribution terms as the rest of that program.
|
||||||
|
|
||||||
|
dnl From Bruno Haible.
|
||||||
|
|
||||||
|
dnl AC_LIB_PREFIX adds to the CPPFLAGS and LDFLAGS the flags that are needed
|
||||||
|
dnl to access previously installed libraries. The basic assumption is that
|
||||||
|
dnl a user will want packages to use other packages he previously installed
|
||||||
|
dnl with the same --prefix option.
|
||||||
|
dnl This macro is not needed if only AC_LIB_LINKFLAGS is used to locate
|
||||||
|
dnl libraries, but is otherwise very convenient.
|
||||||
|
AC_DEFUN([AC_LIB_PREFIX],
|
||||||
|
[
|
||||||
|
AC_BEFORE([$0], [AC_LIB_LINKFLAGS])
|
||||||
|
AC_REQUIRE([AC_PROG_CC])
|
||||||
|
AC_REQUIRE([AC_CANONICAL_HOST])
|
||||||
|
AC_REQUIRE([AC_LIB_PREPARE_PREFIX])
|
||||||
|
dnl By default, look in $includedir and $libdir.
|
||||||
|
use_additional=yes
|
||||||
|
AC_LIB_WITH_FINAL_PREFIX([
|
||||||
|
eval additional_includedir=\"$includedir\"
|
||||||
|
eval additional_libdir=\"$libdir\"
|
||||||
|
])
|
||||||
|
AC_ARG_WITH([lib-prefix],
|
||||||
|
[ --with-lib-prefix[=DIR] search for libraries in DIR/include and DIR/lib
|
||||||
|
--without-lib-prefix don't search for libraries in includedir and libdir],
|
||||||
|
[
|
||||||
|
if test "X$withval" = "Xno"; then
|
||||||
|
use_additional=no
|
||||||
|
else
|
||||||
|
if test "X$withval" = "X"; then
|
||||||
|
AC_LIB_WITH_FINAL_PREFIX([
|
||||||
|
eval additional_includedir=\"$includedir\"
|
||||||
|
eval additional_libdir=\"$libdir\"
|
||||||
|
])
|
||||||
|
else
|
||||||
|
additional_includedir="$withval/include"
|
||||||
|
additional_libdir="$withval/lib"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
])
|
||||||
|
if test $use_additional = yes; then
|
||||||
|
dnl Potentially add $additional_includedir to $CPPFLAGS.
|
||||||
|
dnl But don't add it
|
||||||
|
dnl 1. if it's the standard /usr/include,
|
||||||
|
dnl 2. if it's already present in $CPPFLAGS,
|
||||||
|
dnl 3. if it's /usr/local/include and we are using GCC on Linux,
|
||||||
|
dnl 4. if it doesn't exist as a directory.
|
||||||
|
if test "X$additional_includedir" != "X/usr/include"; then
|
||||||
|
haveit=
|
||||||
|
for x in $CPPFLAGS; do
|
||||||
|
AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
|
||||||
|
if test "X$x" = "X-I$additional_includedir"; then
|
||||||
|
haveit=yes
|
||||||
|
break
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
if test -z "$haveit"; then
|
||||||
|
if test "X$additional_includedir" = "X/usr/local/include"; then
|
||||||
|
if test -n "$GCC"; then
|
||||||
|
case $host_os in
|
||||||
|
linux*) haveit=yes;;
|
||||||
|
esac
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
if test -z "$haveit"; then
|
||||||
|
if test -d "$additional_includedir"; then
|
||||||
|
dnl Really add $additional_includedir to $CPPFLAGS.
|
||||||
|
CPPFLAGS="${CPPFLAGS}${CPPFLAGS:+ }-I$additional_includedir"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
dnl Potentially add $additional_libdir to $LDFLAGS.
|
||||||
|
dnl But don't add it
|
||||||
|
dnl 1. if it's the standard /usr/lib,
|
||||||
|
dnl 2. if it's already present in $LDFLAGS,
|
||||||
|
dnl 3. if it's /usr/local/lib and we are using GCC on Linux,
|
||||||
|
dnl 4. if it doesn't exist as a directory.
|
||||||
|
if test "X$additional_libdir" != "X/usr/lib"; then
|
||||||
|
haveit=
|
||||||
|
for x in $LDFLAGS; do
|
||||||
|
AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
|
||||||
|
if test "X$x" = "X-L$additional_libdir"; then
|
||||||
|
haveit=yes
|
||||||
|
break
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
if test -z "$haveit"; then
|
||||||
|
if test "X$additional_libdir" = "X/usr/local/lib"; then
|
||||||
|
if test -n "$GCC"; then
|
||||||
|
case $host_os in
|
||||||
|
linux*) haveit=yes;;
|
||||||
|
esac
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
if test -z "$haveit"; then
|
||||||
|
if test -d "$additional_libdir"; then
|
||||||
|
dnl Really add $additional_libdir to $LDFLAGS.
|
||||||
|
LDFLAGS="${LDFLAGS}${LDFLAGS:+ }-L$additional_libdir"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
])
|
||||||
|
|
||||||
|
dnl AC_LIB_PREPARE_PREFIX creates variables acl_final_prefix,
|
||||||
|
dnl acl_final_exec_prefix, containing the values to which $prefix and
|
||||||
|
dnl $exec_prefix will expand at the end of the configure script.
|
||||||
|
AC_DEFUN([AC_LIB_PREPARE_PREFIX],
|
||||||
|
[
|
||||||
|
dnl Unfortunately, prefix and exec_prefix get only finally determined
|
||||||
|
dnl at the end of configure.
|
||||||
|
if test "X$prefix" = "XNONE"; then
|
||||||
|
acl_final_prefix="$ac_default_prefix"
|
||||||
|
else
|
||||||
|
acl_final_prefix="$prefix"
|
||||||
|
fi
|
||||||
|
if test "X$exec_prefix" = "XNONE"; then
|
||||||
|
acl_final_exec_prefix='${prefix}'
|
||||||
|
else
|
||||||
|
acl_final_exec_prefix="$exec_prefix"
|
||||||
|
fi
|
||||||
|
acl_save_prefix="$prefix"
|
||||||
|
prefix="$acl_final_prefix"
|
||||||
|
eval acl_final_exec_prefix=\"$acl_final_exec_prefix\"
|
||||||
|
prefix="$acl_save_prefix"
|
||||||
|
])
|
||||||
|
|
||||||
|
dnl AC_LIB_WITH_FINAL_PREFIX([statement]) evaluates statement, with the
|
||||||
|
dnl variables prefix and exec_prefix bound to the values they will have
|
||||||
|
dnl at the end of the configure script.
|
||||||
|
AC_DEFUN([AC_LIB_WITH_FINAL_PREFIX],
|
||||||
|
[
|
||||||
|
acl_save_prefix="$prefix"
|
||||||
|
prefix="$acl_final_prefix"
|
||||||
|
acl_save_exec_prefix="$exec_prefix"
|
||||||
|
exec_prefix="$acl_final_exec_prefix"
|
||||||
|
$1
|
||||||
|
exec_prefix="$acl_save_exec_prefix"
|
||||||
|
prefix="$acl_save_prefix"
|
||||||
|
])
|
||||||
@@ -0,0 +1,65 @@
|
|||||||
|
#serial 3
|
||||||
|
dnl Run a program to determine whether whether link(2) follows symlinks.
|
||||||
|
dnl Set LINK_FOLLOWS_SYMLINKS accordingly.
|
||||||
|
|
||||||
|
AC_DEFUN([jm_AC_FUNC_LINK_FOLLOWS_SYMLINK],
|
||||||
|
[dnl
|
||||||
|
AC_CACHE_CHECK(
|
||||||
|
[whether link(2) dereferences a symlink specified with a trailing slash],
|
||||||
|
jm_ac_cv_func_link_follows_symlink,
|
||||||
|
[
|
||||||
|
dnl poor-man's AC_REQUIRE: FIXME: repair this once autoconf-3 provides
|
||||||
|
dnl the appropriate framework.
|
||||||
|
test -z "$ac_cv_header_unistd_h" \
|
||||||
|
&& AC_CHECK_HEADERS(unistd.h)
|
||||||
|
|
||||||
|
# Create a regular file.
|
||||||
|
echo > conftest.file
|
||||||
|
AC_TRY_RUN(
|
||||||
|
[
|
||||||
|
# include <sys/types.h>
|
||||||
|
# include <sys/stat.h>
|
||||||
|
# ifdef HAVE_UNISTD_H
|
||||||
|
# include <unistd.h>
|
||||||
|
# endif
|
||||||
|
|
||||||
|
# define SAME_INODE(Stat_buf_1, Stat_buf_2) \
|
||||||
|
((Stat_buf_1).st_ino == (Stat_buf_2).st_ino \
|
||||||
|
&& (Stat_buf_1).st_dev == (Stat_buf_2).st_dev)
|
||||||
|
|
||||||
|
int
|
||||||
|
main ()
|
||||||
|
{
|
||||||
|
const char *file = "conftest.file";
|
||||||
|
const char *sym = "conftest.sym";
|
||||||
|
const char *hard = "conftest.hard";
|
||||||
|
struct stat sb_file, sb_hard;
|
||||||
|
|
||||||
|
/* Create a symlink to the regular file. */
|
||||||
|
if (symlink (file, sym))
|
||||||
|
abort ();
|
||||||
|
|
||||||
|
/* Create a hard link to that symlink. */
|
||||||
|
if (link (sym, hard))
|
||||||
|
abort ();
|
||||||
|
|
||||||
|
if (lstat (hard, &sb_hard))
|
||||||
|
abort ();
|
||||||
|
if (lstat (file, &sb_file))
|
||||||
|
abort ();
|
||||||
|
|
||||||
|
/* If the dev/inode of hard and file are the same, then
|
||||||
|
the link call followed the symlink. */
|
||||||
|
return SAME_INODE (sb_hard, sb_file) ? 0 : 1;
|
||||||
|
}
|
||||||
|
],
|
||||||
|
jm_ac_cv_func_link_follows_symlink=yes,
|
||||||
|
jm_ac_cv_func_link_follows_symlink=no,
|
||||||
|
jm_ac_cv_func_link_follows_symlink=yes dnl We're cross compiling.
|
||||||
|
)
|
||||||
|
])
|
||||||
|
if test $jm_ac_cv_func_link_follows_symlink = yes; then
|
||||||
|
AC_DEFINE(LINK_FOLLOWS_SYMLINKS, 1,
|
||||||
|
[Define if `link(2)' dereferences symbolic links.])
|
||||||
|
fi
|
||||||
|
])
|
||||||
@@ -0,0 +1,35 @@
|
|||||||
|
#serial 2
|
||||||
|
|
||||||
|
dnl From Paul Eggert.
|
||||||
|
|
||||||
|
# Define HAVE_LONG_LONG if 'long long' works.
|
||||||
|
|
||||||
|
AC_DEFUN([jm_AC_TYPE_LONG_LONG],
|
||||||
|
[
|
||||||
|
AC_CACHE_CHECK([for long long], ac_cv_type_long_long,
|
||||||
|
[AC_TRY_LINK([long long ll = 1; int i = 63;],
|
||||||
|
[long long llmax = (long long) -1;
|
||||||
|
return ll << i | ll >> i | llmax / ll | llmax % ll;],
|
||||||
|
ac_cv_type_long_long=yes,
|
||||||
|
ac_cv_type_long_long=no)])
|
||||||
|
if test $ac_cv_type_long_long = yes; then
|
||||||
|
AC_DEFINE(HAVE_LONG_LONG, 1,
|
||||||
|
[Define if you have the long long type.])
|
||||||
|
fi
|
||||||
|
])
|
||||||
|
|
||||||
|
# Define HAVE_UNSIGNED_LONG_LONG if 'unsigned long long' works.
|
||||||
|
|
||||||
|
AC_DEFUN([jm_AC_TYPE_UNSIGNED_LONG_LONG],
|
||||||
|
[
|
||||||
|
AC_CACHE_CHECK([for unsigned long long], ac_cv_type_unsigned_long_long,
|
||||||
|
[AC_TRY_LINK([unsigned long long ull = 1; int i = 63;],
|
||||||
|
[unsigned long long ullmax = (unsigned long long) -1;
|
||||||
|
return ull << i | ull >> i | ullmax / ull | ullmax % ull;],
|
||||||
|
ac_cv_type_unsigned_long_long=yes,
|
||||||
|
ac_cv_type_unsigned_long_long=no)])
|
||||||
|
if test $ac_cv_type_unsigned_long_long = yes; then
|
||||||
|
AC_DEFINE(HAVE_UNSIGNED_LONG_LONG, 1,
|
||||||
|
[Define if you have the unsigned long long type.])
|
||||||
|
fi
|
||||||
|
])
|
||||||
@@ -0,0 +1,274 @@
|
|||||||
|
#serial 12
|
||||||
|
|
||||||
|
dnl From Jim Meyering.
|
||||||
|
dnl
|
||||||
|
dnl This is not pretty. I've just taken the autoconf code and wrapped
|
||||||
|
dnl it in an AC_DEFUN.
|
||||||
|
dnl
|
||||||
|
|
||||||
|
# jm_LIST_MOUNTED_FILESYSTEMS([ACTION-IF-FOUND[, ACTION-IF-NOT-FOUND]])
|
||||||
|
AC_DEFUN([jm_LIST_MOUNTED_FILESYSTEMS],
|
||||||
|
[
|
||||||
|
AC_CHECK_FUNCS(listmntent getmntinfo)
|
||||||
|
AC_CHECK_HEADERS(mntent.h sys/param.h sys/ucred.h sys/mount.h sys/fs_types.h)
|
||||||
|
getfsstat_includes="\
|
||||||
|
$ac_includes_default
|
||||||
|
#if HAVE_SYS_PARAM_H
|
||||||
|
# include <sys/param.h> /* needed by powerpc-apple-darwin1.3.7 */
|
||||||
|
#endif
|
||||||
|
#if HAVE_SYS_UCRED_H
|
||||||
|
# include <sys/ucred.h> /* needed by powerpc-apple-darwin1.3.7 */
|
||||||
|
#endif
|
||||||
|
#if HAVE_SYS_MOUNT_H
|
||||||
|
# include <sys/mount.h>
|
||||||
|
#endif
|
||||||
|
#if HAVE_SYS_FS_TYPES_H
|
||||||
|
# include <sys/fs_types.h> /* needed by powerpc-apple-darwin1.3.7 */
|
||||||
|
#endif
|
||||||
|
"
|
||||||
|
AC_CHECK_MEMBERS([struct fsstat.f_fstypename],,,[$getfsstat_includes])
|
||||||
|
|
||||||
|
# Determine how to get the list of mounted filesystems.
|
||||||
|
ac_list_mounted_fs=
|
||||||
|
|
||||||
|
# If the getmntent function is available but not in the standard library,
|
||||||
|
# make sure LIBS contains -lsun (on Irix4) or -lseq (on PTX).
|
||||||
|
AC_FUNC_GETMNTENT
|
||||||
|
|
||||||
|
# This test must precede the ones for getmntent because Unicos-9 is
|
||||||
|
# reported to have the getmntent function, but its support is incompatible
|
||||||
|
# with other getmntent implementations.
|
||||||
|
|
||||||
|
# NOTE: Normally, I wouldn't use a check for system type as I've done for
|
||||||
|
# `CRAY' below since that goes against the whole autoconf philosophy. But
|
||||||
|
# I think there is too great a chance that some non-Cray system has a
|
||||||
|
# function named listmntent to risk the false positive.
|
||||||
|
|
||||||
|
if test -z "$ac_list_mounted_fs"; then
|
||||||
|
# Cray UNICOS 9
|
||||||
|
AC_MSG_CHECKING([for listmntent of Cray/Unicos-9])
|
||||||
|
AC_CACHE_VAL(fu_cv_sys_mounted_cray_listmntent,
|
||||||
|
[fu_cv_sys_mounted_cray_listmntent=no
|
||||||
|
AC_EGREP_CPP(yes,
|
||||||
|
[#ifdef _CRAY
|
||||||
|
yes
|
||||||
|
#endif
|
||||||
|
], [test $ac_cv_func_listmntent = yes \
|
||||||
|
&& fu_cv_sys_mounted_cray_listmntent=yes]
|
||||||
|
)
|
||||||
|
]
|
||||||
|
)
|
||||||
|
AC_MSG_RESULT($fu_cv_sys_mounted_cray_listmntent)
|
||||||
|
if test $fu_cv_sys_mounted_cray_listmntent = yes; then
|
||||||
|
ac_list_mounted_fs=found
|
||||||
|
AC_DEFINE(MOUNTED_LISTMNTENT, 1,
|
||||||
|
[Define if there is a function named listmntent that can be used to
|
||||||
|
list all mounted filesystems. (UNICOS)])
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
if test -z "$ac_list_mounted_fs"; then
|
||||||
|
# AIX.
|
||||||
|
AC_MSG_CHECKING([for mntctl function and struct vmount])
|
||||||
|
AC_CACHE_VAL(fu_cv_sys_mounted_vmount,
|
||||||
|
[AC_TRY_CPP([#include <fshelp.h>],
|
||||||
|
fu_cv_sys_mounted_vmount=yes,
|
||||||
|
fu_cv_sys_mounted_vmount=no)])
|
||||||
|
AC_MSG_RESULT($fu_cv_sys_mounted_vmount)
|
||||||
|
if test $fu_cv_sys_mounted_vmount = yes; then
|
||||||
|
ac_list_mounted_fs=found
|
||||||
|
AC_DEFINE(MOUNTED_VMOUNT, 1,
|
||||||
|
[Define if there is a function named mntctl that can be used to read
|
||||||
|
the list of mounted filesystems, and there is a system header file
|
||||||
|
that declares `struct vmount.' (AIX)])
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
if test $ac_cv_func_getmntent = yes; then
|
||||||
|
|
||||||
|
# This system has the getmntent function.
|
||||||
|
# Determine whether it's the one-argument variant or the two-argument one.
|
||||||
|
|
||||||
|
if test -z "$ac_list_mounted_fs"; then
|
||||||
|
# 4.3BSD, SunOS, HP-UX, Dynix, Irix
|
||||||
|
AC_MSG_CHECKING([for one-argument getmntent function])
|
||||||
|
AC_CACHE_VAL(fu_cv_sys_mounted_getmntent1,
|
||||||
|
[AC_TRY_COMPILE([
|
||||||
|
/* SunOS 4.1.x /usr/include/mntent.h needs this for FILE */
|
||||||
|
#include <stdio.h>
|
||||||
|
|
||||||
|
#include <mntent.h>
|
||||||
|
#if !defined MOUNTED
|
||||||
|
# if defined _PATH_MOUNTED /* GNU libc */
|
||||||
|
# define MOUNTED _PATH_MOUNTED
|
||||||
|
# endif
|
||||||
|
# if defined MNT_MNTTAB /* HP-UX. */
|
||||||
|
# define MOUNTED MNT_MNTTAB
|
||||||
|
# endif
|
||||||
|
# if defined MNTTABNAME /* Dynix. */
|
||||||
|
# define MOUNTED MNTTABNAME
|
||||||
|
# endif
|
||||||
|
#endif
|
||||||
|
],
|
||||||
|
[ struct mntent *mnt = 0; char *table = MOUNTED; ],
|
||||||
|
fu_cv_sys_mounted_getmntent1=yes,
|
||||||
|
fu_cv_sys_mounted_getmntent1=no)])
|
||||||
|
AC_MSG_RESULT($fu_cv_sys_mounted_getmntent1)
|
||||||
|
if test $fu_cv_sys_mounted_getmntent1 = yes; then
|
||||||
|
ac_list_mounted_fs=found
|
||||||
|
AC_DEFINE(MOUNTED_GETMNTENT1, 1,
|
||||||
|
[Define if there is a function named getmntent for reading the list
|
||||||
|
of mounted filesystems, and that function takes a single argument.
|
||||||
|
(4.3BSD, SunOS, HP-UX, Dynix, Irix)])
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
if test -z "$ac_list_mounted_fs"; then
|
||||||
|
# SVR4
|
||||||
|
AC_MSG_CHECKING([for two-argument getmntent function])
|
||||||
|
AC_CACHE_VAL(fu_cv_sys_mounted_getmntent2,
|
||||||
|
[AC_EGREP_HEADER(getmntent, sys/mnttab.h,
|
||||||
|
fu_cv_sys_mounted_getmntent2=yes,
|
||||||
|
fu_cv_sys_mounted_getmntent2=no)])
|
||||||
|
AC_MSG_RESULT($fu_cv_sys_mounted_getmntent2)
|
||||||
|
if test $fu_cv_sys_mounted_getmntent2 = yes; then
|
||||||
|
ac_list_mounted_fs=found
|
||||||
|
AC_DEFINE(MOUNTED_GETMNTENT2, 1,
|
||||||
|
[Define if there is a function named getmntent for reading the list of
|
||||||
|
mounted filesystems, and that function takes two arguments. (SVR4)])
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
fi
|
||||||
|
|
||||||
|
if test -z "$ac_list_mounted_fs"; then
|
||||||
|
# DEC Alpha running OSF/1, and Apple Darwin 1.3.
|
||||||
|
# powerpc-apple-darwin1.3.7 needs sys/param.h sys/ucred.h sys/fs_types.h
|
||||||
|
|
||||||
|
AC_MSG_CHECKING([for getfsstat function])
|
||||||
|
AC_CACHE_VAL(fu_cv_sys_mounted_getfsstat,
|
||||||
|
[AC_TRY_LINK([
|
||||||
|
#include <sys/types.h>
|
||||||
|
#if HAVE_STRUCT_FSSTAT_F_FSTYPENAME
|
||||||
|
# define FS_TYPE(Ent) ((Ent).f_fstypename)
|
||||||
|
#else
|
||||||
|
# define FS_TYPE(Ent) mnt_names[(Ent).f_type]
|
||||||
|
#endif
|
||||||
|
]$getfsstat_includes
|
||||||
|
,
|
||||||
|
[struct statfs *stats;
|
||||||
|
int numsys = getfsstat ((struct statfs *)0, 0L, MNT_WAIT);
|
||||||
|
char *t = FS_TYPE (*stats); ],
|
||||||
|
fu_cv_sys_mounted_getfsstat=yes,
|
||||||
|
fu_cv_sys_mounted_getfsstat=no)])
|
||||||
|
AC_MSG_RESULT($fu_cv_sys_mounted_getfsstat)
|
||||||
|
if test $fu_cv_sys_mounted_getfsstat = yes; then
|
||||||
|
ac_list_mounted_fs=found
|
||||||
|
AC_DEFINE(MOUNTED_GETFSSTAT, 1,
|
||||||
|
[Define if there is a function named getfsstat for reading the
|
||||||
|
list of mounted filesystems. (DEC Alpha running OSF/1)])
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
if test -z "$ac_list_mounted_fs"; then
|
||||||
|
# SVR3
|
||||||
|
AC_MSG_CHECKING([for FIXME existence of three headers])
|
||||||
|
AC_CACHE_VAL(fu_cv_sys_mounted_fread_fstyp,
|
||||||
|
[AC_TRY_CPP([
|
||||||
|
#include <sys/statfs.h>
|
||||||
|
#include <sys/fstyp.h>
|
||||||
|
#include <mnttab.h>],
|
||||||
|
fu_cv_sys_mounted_fread_fstyp=yes,
|
||||||
|
fu_cv_sys_mounted_fread_fstyp=no)])
|
||||||
|
AC_MSG_RESULT($fu_cv_sys_mounted_fread_fstyp)
|
||||||
|
if test $fu_cv_sys_mounted_fread_fstyp = yes; then
|
||||||
|
ac_list_mounted_fs=found
|
||||||
|
AC_DEFINE(MOUNTED_FREAD_FSTYP, 1,
|
||||||
|
[Define if (like SVR2) there is no specific function for reading the
|
||||||
|
list of mounted filesystems, and your system has these header files:
|
||||||
|
<sys/fstyp.h> and <sys/statfs.h>. (SVR3)])
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
if test -z "$ac_list_mounted_fs"; then
|
||||||
|
# 4.4BSD and DEC OSF/1.
|
||||||
|
AC_MSG_CHECKING([for getmntinfo function])
|
||||||
|
AC_CACHE_VAL(fu_cv_sys_mounted_getmntinfo,
|
||||||
|
[
|
||||||
|
test "$ac_cv_func_getmntinfo" = yes \
|
||||||
|
&& fu_cv_sys_mounted_getmntinfo=yes \
|
||||||
|
|| fu_cv_sys_mounted_getmntinfo=no
|
||||||
|
])
|
||||||
|
AC_MSG_RESULT($fu_cv_sys_mounted_getmntinfo)
|
||||||
|
if test $fu_cv_sys_mounted_getmntinfo = yes; then
|
||||||
|
ac_list_mounted_fs=found
|
||||||
|
AC_DEFINE(MOUNTED_GETMNTINFO, 1,
|
||||||
|
[Define if there is a function named getmntinfo for reading the
|
||||||
|
list of mounted filesystems. (4.4BSD, Darwin)])
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
if test -z "$ac_list_mounted_fs"; then
|
||||||
|
# Ultrix
|
||||||
|
AC_MSG_CHECKING([for getmnt function])
|
||||||
|
AC_CACHE_VAL(fu_cv_sys_mounted_getmnt,
|
||||||
|
[AC_TRY_CPP([
|
||||||
|
#include <sys/fs_types.h>
|
||||||
|
#include <sys/mount.h>],
|
||||||
|
fu_cv_sys_mounted_getmnt=yes,
|
||||||
|
fu_cv_sys_mounted_getmnt=no)])
|
||||||
|
AC_MSG_RESULT($fu_cv_sys_mounted_getmnt)
|
||||||
|
if test $fu_cv_sys_mounted_getmnt = yes; then
|
||||||
|
ac_list_mounted_fs=found
|
||||||
|
AC_DEFINE(MOUNTED_GETMNT, 1,
|
||||||
|
[Define if there is a function named getmnt for reading the list of
|
||||||
|
mounted filesystems. (Ultrix)])
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
if test -z "$ac_list_mounted_fs"; then
|
||||||
|
# BeOS
|
||||||
|
AC_CHECK_FUNCS(next_dev fs_stat_dev)
|
||||||
|
AC_CHECK_HEADERS(fs_info.h)
|
||||||
|
AC_MSG_CHECKING([for BEOS mounted file system support functions])
|
||||||
|
if test $ac_cv_header_fs_info_h = yes \
|
||||||
|
&& test $ac_cv_func_next_dev = yes \
|
||||||
|
&& test $ac_cv_func_fs_stat_dev = yes; then
|
||||||
|
fu_result=yes
|
||||||
|
else
|
||||||
|
fu_result=no
|
||||||
|
fi
|
||||||
|
AC_MSG_RESULT($fu_result)
|
||||||
|
if test $fu_result = yes; then
|
||||||
|
ac_list_mounted_fs=found
|
||||||
|
AC_DEFINE(MOUNTED_FS_STAT_DEV, 1,
|
||||||
|
[Define if there are functions named next_dev and fs_stat_dev for
|
||||||
|
reading the list of mounted filesystems. (BeOS)])
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
if test -z "$ac_list_mounted_fs"; then
|
||||||
|
# SVR2
|
||||||
|
AC_MSG_CHECKING([whether it is possible to resort to fread on /etc/mnttab])
|
||||||
|
AC_CACHE_VAL(fu_cv_sys_mounted_fread,
|
||||||
|
[AC_TRY_CPP([#include <mnttab.h>],
|
||||||
|
fu_cv_sys_mounted_fread=yes,
|
||||||
|
fu_cv_sys_mounted_fread=no)])
|
||||||
|
AC_MSG_RESULT($fu_cv_sys_mounted_fread)
|
||||||
|
if test $fu_cv_sys_mounted_fread = yes; then
|
||||||
|
ac_list_mounted_fs=found
|
||||||
|
AC_DEFINE(MOUNTED_FREAD, 1,
|
||||||
|
[Define if there is no specific function for reading the list of
|
||||||
|
mounted filesystems. fread will be used to read /etc/mnttab. (SVR2) ])
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
if test -z "$ac_list_mounted_fs"; then
|
||||||
|
AC_MSG_ERROR([could not determine how to read list of mounted filesystems])
|
||||||
|
# FIXME -- no need to abort building the whole package
|
||||||
|
# Can't build mountlist.c or anything that needs its functions
|
||||||
|
fi
|
||||||
|
|
||||||
|
AS_IF([test $ac_list_mounted_fs = found], [$1], [$2])
|
||||||
|
|
||||||
|
])
|
||||||
@@ -0,0 +1,40 @@
|
|||||||
|
#serial 7
|
||||||
|
|
||||||
|
dnl From Jim Meyering.
|
||||||
|
dnl Determine whether lstat has the bug that it succeeds when given the
|
||||||
|
dnl zero-length file name argument. The lstat from SunOS4.1.4 and the Hurd
|
||||||
|
dnl (as of 1998-11-01) do this.
|
||||||
|
dnl
|
||||||
|
dnl If it does, then define HAVE_LSTAT_EMPTY_STRING_BUG and arrange to
|
||||||
|
dnl compile the wrapper function.
|
||||||
|
dnl
|
||||||
|
|
||||||
|
AC_DEFUN([jm_FUNC_LSTAT],
|
||||||
|
[
|
||||||
|
AC_REQUIRE([AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK])
|
||||||
|
AC_CACHE_CHECK([whether lstat accepts an empty string],
|
||||||
|
jm_cv_func_lstat_empty_string_bug,
|
||||||
|
[AC_TRY_RUN([
|
||||||
|
# include <sys/types.h>
|
||||||
|
# include <sys/stat.h>
|
||||||
|
|
||||||
|
int
|
||||||
|
main ()
|
||||||
|
{
|
||||||
|
struct stat sbuf;
|
||||||
|
exit (lstat ("", &sbuf) ? 1 : 0);
|
||||||
|
}
|
||||||
|
],
|
||||||
|
jm_cv_func_lstat_empty_string_bug=yes,
|
||||||
|
jm_cv_func_lstat_empty_string_bug=no,
|
||||||
|
dnl When crosscompiling, assume lstat is broken.
|
||||||
|
jm_cv_func_lstat_empty_string_bug=yes)
|
||||||
|
])
|
||||||
|
if test $jm_cv_func_lstat_empty_string_bug = yes; then
|
||||||
|
AC_LIBOBJ(lstat)
|
||||||
|
AC_DEFINE(HAVE_LSTAT_EMPTY_STRING_BUG, 1,
|
||||||
|
[Define if lstat has the bug that it succeeds when given the zero-length
|
||||||
|
file name argument. The lstat from SunOS4.1.4 and the Hurd as of 1998-11-01)
|
||||||
|
do this. ])
|
||||||
|
fi
|
||||||
|
])
|
||||||
@@ -0,0 +1,24 @@
|
|||||||
|
# mbrtowc.m4 serial 4 (fileutils-4.1.3)
|
||||||
|
dnl Copyright (C) 2001-2002 Free Software Foundation, Inc.
|
||||||
|
dnl This file is free software, distributed under the terms of the GNU
|
||||||
|
dnl General Public License. As a special exception to the GNU General
|
||||||
|
dnl Public License, this file may be distributed as part of a program
|
||||||
|
dnl that contains a configuration script generated by Autoconf, under
|
||||||
|
dnl the same distribution terms as the rest of that program.
|
||||||
|
|
||||||
|
dnl From Paul Eggert
|
||||||
|
|
||||||
|
AC_DEFUN([jm_FUNC_MBRTOWC],
|
||||||
|
[
|
||||||
|
AC_CACHE_CHECK([whether mbrtowc and mbstate_t are properly declared],
|
||||||
|
jm_cv_func_mbrtowc,
|
||||||
|
[AC_TRY_LINK(
|
||||||
|
[#include <wchar.h>],
|
||||||
|
[mbstate_t state; return ! (sizeof state && mbrtowc);],
|
||||||
|
jm_cv_func_mbrtowc=yes,
|
||||||
|
jm_cv_func_mbrtowc=no)])
|
||||||
|
if test $jm_cv_func_mbrtowc = yes; then
|
||||||
|
AC_DEFINE(HAVE_MBRTOWC, 1,
|
||||||
|
[Define to 1 if mbrtowc and mbstate_t are properly declared.])
|
||||||
|
fi
|
||||||
|
])
|
||||||
@@ -0,0 +1,36 @@
|
|||||||
|
#serial 7
|
||||||
|
|
||||||
|
dnl autoconf tests required for use of mbswidth.c
|
||||||
|
dnl From Bruno Haible.
|
||||||
|
|
||||||
|
AC_DEFUN([jm_PREREQ_MBSWIDTH],
|
||||||
|
[
|
||||||
|
AC_REQUIRE([AC_HEADER_STDC])
|
||||||
|
AC_CHECK_HEADERS(limits.h stdlib.h string.h wchar.h wctype.h)
|
||||||
|
AC_CHECK_FUNCS(isascii iswcntrl iswprint mbsinit wcwidth)
|
||||||
|
jm_FUNC_MBRTOWC
|
||||||
|
|
||||||
|
AC_CACHE_CHECK([whether wcwidth is declared], ac_cv_have_decl_wcwidth,
|
||||||
|
[AC_TRY_COMPILE([
|
||||||
|
/* AIX 3.2.5 declares wcwidth in <string.h>. */
|
||||||
|
#if HAVE_STRING_H
|
||||||
|
# include <string.h>
|
||||||
|
#endif
|
||||||
|
#if HAVE_WCHAR_H
|
||||||
|
# include <wchar.h>
|
||||||
|
#endif
|
||||||
|
], [
|
||||||
|
#ifndef wcwidth
|
||||||
|
char *p = (char *) wcwidth;
|
||||||
|
#endif
|
||||||
|
], ac_cv_have_decl_wcwidth=yes, ac_cv_have_decl_wcwidth=no)])
|
||||||
|
if test $ac_cv_have_decl_wcwidth = yes; then
|
||||||
|
ac_val=1
|
||||||
|
else
|
||||||
|
ac_val=0
|
||||||
|
fi
|
||||||
|
AC_DEFINE_UNQUOTED(HAVE_DECL_WCWIDTH, $ac_val,
|
||||||
|
[Define to 1 if you have the declaration of wcwidth(), and to 0 otherwise.])
|
||||||
|
|
||||||
|
AC_TYPE_MBSTATE_T
|
||||||
|
])
|
||||||
@@ -0,0 +1,9 @@
|
|||||||
|
#serial 7
|
||||||
|
|
||||||
|
AC_DEFUN([jm_FUNC_MEMCMP],
|
||||||
|
[AC_REQUIRE([AC_FUNC_MEMCMP])dnl
|
||||||
|
if test $ac_cv_func_memcmp_working = no; then
|
||||||
|
AC_DEFINE(memcmp, rpl_memcmp,
|
||||||
|
[Define to rpl_memcmp if the replacement function should be used.])
|
||||||
|
fi
|
||||||
|
])
|
||||||
@@ -0,0 +1,35 @@
|
|||||||
|
#serial 1
|
||||||
|
|
||||||
|
# On some systems, mkdir ("foo/", 0700) fails because of the trailing slash.
|
||||||
|
# On such systems, arrange to use a wrapper function that removes any
|
||||||
|
# trailing slashes.
|
||||||
|
AC_DEFUN([UTILS_FUNC_MKDIR_TRAILING_SLASH],
|
||||||
|
[dnl
|
||||||
|
AC_CACHE_CHECK([whether mkdir fails due to a trailing slash],
|
||||||
|
utils_cv_func_mkdir_trailing_slash_bug,
|
||||||
|
[
|
||||||
|
# Arrange for deletion of the temporary directory this test might create.
|
||||||
|
ac_clean_files="$ac_clean_files confdir-slash"
|
||||||
|
AC_TRY_RUN([
|
||||||
|
# include <sys/types.h>
|
||||||
|
# include <sys/stat.h>
|
||||||
|
# include <stdlib.h>
|
||||||
|
int main ()
|
||||||
|
{
|
||||||
|
rmdir ("confdir-slash");
|
||||||
|
exit (mkdir ("confdir-slash/", 0700));
|
||||||
|
}
|
||||||
|
],
|
||||||
|
utils_cv_func_mkdir_trailing_slash_bug=no,
|
||||||
|
utils_cv_func_mkdir_trailing_slash_bug=yes,
|
||||||
|
utils_cv_func_mkdir_trailing_slash_bug=yes
|
||||||
|
)
|
||||||
|
]
|
||||||
|
)
|
||||||
|
|
||||||
|
if test $utils_cv_func_mkdir_trailing_slash_bug = yes; then
|
||||||
|
AC_LIBOBJ(mkdir)
|
||||||
|
AC_DEFINE(mkdir, rpl_mkdir,
|
||||||
|
[Define to rpl_mkdir if the replacement function should be used.])
|
||||||
|
fi
|
||||||
|
])
|
||||||
@@ -0,0 +1,46 @@
|
|||||||
|
#serial 1
|
||||||
|
|
||||||
|
# On some systems (e.g., HPUX-10.20, SunOS4.1.4, solaris2.5.1), mkstemp has the
|
||||||
|
# silly limit that it can create no more than 26 files from a given template.
|
||||||
|
# Other systems lack mkstemp altogether. On either type of system, arrange
|
||||||
|
# to use the replacement function.
|
||||||
|
AC_DEFUN([UTILS_FUNC_MKSTEMP],
|
||||||
|
[dnl
|
||||||
|
AC_REPLACE_FUNCS(mkstemp)
|
||||||
|
if test $ac_cv_func_mkstemp = no; then
|
||||||
|
utils_cv_func_mkstemp_limitations=yes
|
||||||
|
else
|
||||||
|
AC_CACHE_CHECK([for mkstemp limitations],
|
||||||
|
utils_cv_func_mkstemp_limitations,
|
||||||
|
[
|
||||||
|
AC_TRY_RUN([
|
||||||
|
# include <stdlib.h>
|
||||||
|
int main ()
|
||||||
|
{
|
||||||
|
int i;
|
||||||
|
for (i = 0; i < 30; i++)
|
||||||
|
{
|
||||||
|
char template[] = "conftestXXXXXX";
|
||||||
|
int fd = mkstemp (template);
|
||||||
|
if (fd == -1)
|
||||||
|
exit (1);
|
||||||
|
close (fd);
|
||||||
|
}
|
||||||
|
exit (0);
|
||||||
|
}
|
||||||
|
],
|
||||||
|
utils_cv_func_mkstemp_limitations=no,
|
||||||
|
utils_cv_func_mkstemp_limitations=yes,
|
||||||
|
utils_cv_func_mkstemp_limitations=yes
|
||||||
|
)
|
||||||
|
]
|
||||||
|
)
|
||||||
|
fi
|
||||||
|
|
||||||
|
if test $utils_cv_func_mkstemp_limitations = yes; then
|
||||||
|
AC_LIBOBJ(mkstemp)
|
||||||
|
AC_LIBOBJ(tempname)
|
||||||
|
AC_DEFINE(mkstemp, rpl_mkstemp,
|
||||||
|
[Define to rpl_mkstemp if the replacement function should be used.])
|
||||||
|
fi
|
||||||
|
])
|
||||||
@@ -0,0 +1,54 @@
|
|||||||
|
#serial 8
|
||||||
|
|
||||||
|
dnl From Jim Meyering.
|
||||||
|
dnl Check for the nanosleep function.
|
||||||
|
dnl If not found, use the supplied replacement.
|
||||||
|
dnl
|
||||||
|
|
||||||
|
AC_DEFUN([jm_FUNC_NANOSLEEP],
|
||||||
|
[
|
||||||
|
nanosleep_save_libs=$LIBS
|
||||||
|
|
||||||
|
# Solaris 2.5.1 needs -lposix4 to get the nanosleep function.
|
||||||
|
# Solaris 7 prefers the library name -lrt to the obsolescent name -lposix4.
|
||||||
|
AC_SEARCH_LIBS(nanosleep, [rt posix4], [LIB_NANOSLEEP=$ac_cv_search_nanosleep])
|
||||||
|
AC_SUBST(LIB_NANOSLEEP)
|
||||||
|
|
||||||
|
AC_CACHE_CHECK([whether nanosleep works],
|
||||||
|
jm_cv_func_nanosleep_works,
|
||||||
|
[
|
||||||
|
AC_REQUIRE([AC_HEADER_TIME])
|
||||||
|
AC_TRY_RUN([
|
||||||
|
# if TIME_WITH_SYS_TIME
|
||||||
|
# include <sys/time.h>
|
||||||
|
# include <time.h>
|
||||||
|
# else
|
||||||
|
# if HAVE_SYS_TIME_H
|
||||||
|
# include <sys/time.h>
|
||||||
|
# else
|
||||||
|
# include <time.h>
|
||||||
|
# endif
|
||||||
|
# endif
|
||||||
|
|
||||||
|
int
|
||||||
|
main ()
|
||||||
|
{
|
||||||
|
struct timespec ts_sleep, ts_remaining;
|
||||||
|
ts_sleep.tv_sec = 0;
|
||||||
|
ts_sleep.tv_nsec = 1;
|
||||||
|
exit (nanosleep (&ts_sleep, &ts_remaining) == 0 ? 0 : 1);
|
||||||
|
}
|
||||||
|
],
|
||||||
|
jm_cv_func_nanosleep_works=yes,
|
||||||
|
jm_cv_func_nanosleep_works=no,
|
||||||
|
dnl When crosscompiling, assume the worst.
|
||||||
|
jm_cv_func_nanosleep_works=no)
|
||||||
|
])
|
||||||
|
if test $jm_cv_func_nanosleep_works = no; then
|
||||||
|
AC_LIBOBJ(nanosleep)
|
||||||
|
AC_DEFINE(nanosleep, rpl_nanosleep,
|
||||||
|
[Define to rpl_nanosleep if the replacement function should be used.])
|
||||||
|
fi
|
||||||
|
|
||||||
|
LIBS=$nanosleep_save_libs
|
||||||
|
])
|
||||||
@@ -0,0 +1,63 @@
|
|||||||
|
# onceonly.m4 serial 2
|
||||||
|
dnl Copyright (C) 2002, 2003 Free Software Foundation, Inc.
|
||||||
|
dnl This file is free software, distributed under the terms of the GNU
|
||||||
|
dnl General Public License. As a special exception to the GNU General
|
||||||
|
dnl Public License, this file may be distributed as part of a program
|
||||||
|
dnl that contains a configuration script generated by Autoconf, under
|
||||||
|
dnl the same distribution terms as the rest of that program.
|
||||||
|
|
||||||
|
dnl This file defines some "once only" variants of standard autoconf macros.
|
||||||
|
dnl AC_CHECK_HEADERS_ONCE like AC_CHECK_HEADERS
|
||||||
|
dnl AC_CHECK_FUNCS_ONCE like AC_CHECK_FUNCS
|
||||||
|
dnl AC_CHECK_DECLS_ONCE like AC_CHECK_DECLS
|
||||||
|
dnl AC_REQUIRE([AC_HEADER_STDC]) like AC_HEADER_STDC
|
||||||
|
dnl The advantage is that the check for each of the headers/functions/decls
|
||||||
|
dnl will be put only once into the 'configure' file. It keeps the size of
|
||||||
|
dnl the 'configure' file down, and avoids redundant output when 'configure'
|
||||||
|
dnl is run.
|
||||||
|
dnl The drawback is that the checks cannot be conditionalized. If you write
|
||||||
|
dnl if some_condition; then gl_CHECK_HEADERS(stdlib.h); fi
|
||||||
|
dnl inside an AC_DEFUNed function, the gl_CHECK_HEADERS macro call expands to
|
||||||
|
dnl empty, and the check will be inserted before the body of the AC_DEFUNed
|
||||||
|
dnl function.
|
||||||
|
|
||||||
|
dnl Taken from Autoconf 2.50; can be removed once we assume 2.50 or later.
|
||||||
|
define([m4_quote], [[$*]])
|
||||||
|
|
||||||
|
# AC_CHECK_HEADERS_ONCE(HEADER1 HEADER2 ...) is a once-only variant of
|
||||||
|
# AC_CHECK_HEADERS(HEADER1 HEADER2 ...).
|
||||||
|
AC_DEFUN([AC_CHECK_HEADERS_ONCE], [
|
||||||
|
:
|
||||||
|
AC_FOREACH([gl_HEADER_NAME], [$1], [
|
||||||
|
AC_DEFUN([gl_CHECK_HEADER_]m4_quote(translit(defn([gl_HEADER_NAME]),
|
||||||
|
[-./], [___])), [
|
||||||
|
AC_CHECK_HEADERS(gl_HEADER_NAME)
|
||||||
|
])
|
||||||
|
AC_REQUIRE([gl_CHECK_HEADER_]m4_quote(translit(gl_HEADER_NAME,
|
||||||
|
[-./], [___])))
|
||||||
|
])
|
||||||
|
])
|
||||||
|
|
||||||
|
# AC_CHECK_FUNCS_ONCE(FUNC1 FUNC2 ...) is a once-only variant of
|
||||||
|
# AC_CHECK_FUNCS(FUNC1 FUNC2 ...).
|
||||||
|
AC_DEFUN([AC_CHECK_FUNCS_ONCE], [
|
||||||
|
:
|
||||||
|
AC_FOREACH([gl_FUNC_NAME], [$1], [
|
||||||
|
AC_DEFUN([gl_CHECK_FUNC_]defn([gl_FUNC_NAME]), [
|
||||||
|
AC_CHECK_FUNCS(defn([gl_FUNC_NAME]))
|
||||||
|
])
|
||||||
|
AC_REQUIRE([gl_CHECK_FUNC_]defn([gl_FUNC_NAME]))
|
||||||
|
])
|
||||||
|
])
|
||||||
|
|
||||||
|
# AC_CHECK_DECLS_ONCE(DECL1 DECL2 ...) is a once-only variant of
|
||||||
|
# AC_CHECK_DECLS(DECL1, DECL2, ...).
|
||||||
|
AC_DEFUN([AC_CHECK_DECLS_ONCE], [
|
||||||
|
:
|
||||||
|
AC_FOREACH([gl_DECL_NAME], [$1], [
|
||||||
|
AC_DEFUN([gl_CHECK_DECL_]defn([gl_DECL_NAME]), [
|
||||||
|
AC_CHECK_DECLS(defn([gl_DECL_NAME]))
|
||||||
|
])
|
||||||
|
AC_REQUIRE([gl_CHECK_DECL_]defn([gl_DECL_NAME]))
|
||||||
|
])
|
||||||
|
])
|
||||||
@@ -0,0 +1,41 @@
|
|||||||
|
#serial 1
|
||||||
|
# Determine approximately how many files may be open simultaneously
|
||||||
|
# in one process. This is approximate, since while running this test,
|
||||||
|
# the configure script already has a few files open.
|
||||||
|
# From Jim Meyering
|
||||||
|
|
||||||
|
AC_DEFUN([UTILS_SYS_OPEN_MAX],
|
||||||
|
[
|
||||||
|
AC_CACHE_CHECK([determine how many files may be open simultaneously],
|
||||||
|
utils_cv_sys_open_max,
|
||||||
|
[
|
||||||
|
AC_RUN_IFELSE([AC_LANG_SOURCE([[
|
||||||
|
#include <stdio.h>
|
||||||
|
#include <stdlib.h>
|
||||||
|
#include <unistd.h>
|
||||||
|
int
|
||||||
|
main ()
|
||||||
|
{
|
||||||
|
FILE *result = fopen ("conftest.omax", "w");
|
||||||
|
int i = 1;
|
||||||
|
/* Impose an arbitrary limit, in case some system has no
|
||||||
|
effective limit on the number of simultaneously open files. */
|
||||||
|
while (i < 30000)
|
||||||
|
{
|
||||||
|
FILE *s = fopen ("conftest.op", "w");
|
||||||
|
if (!s)
|
||||||
|
break;
|
||||||
|
++i;
|
||||||
|
}
|
||||||
|
fprintf (result, "%d\n", i);
|
||||||
|
exit (fclose (result) == EOF);
|
||||||
|
}
|
||||||
|
]])],
|
||||||
|
[utils_cv_sys_open_max=`cat conftest.omax`],
|
||||||
|
[utils_cv_sys_open_max='internal error in open-max.m4'],
|
||||||
|
[utils_cv_sys_open_max='cross compiling run-test in open-max.m4'])])
|
||||||
|
|
||||||
|
AC_DEFINE_UNQUOTED([UTILS_OPEN_MAX],
|
||||||
|
$utils_cv_sys_open_max,
|
||||||
|
[the maximum number of simultaneously open files per process])
|
||||||
|
])
|
||||||
@@ -0,0 +1,41 @@
|
|||||||
|
#serial 5
|
||||||
|
|
||||||
|
dnl From Jim Meyering.
|
||||||
|
dnl Find a new-enough version of Perl.
|
||||||
|
dnl
|
||||||
|
|
||||||
|
AC_DEFUN([jm_PERL],
|
||||||
|
[
|
||||||
|
dnl FIXME: don't hard-code 5.003
|
||||||
|
dnl FIXME: should we cache the result?
|
||||||
|
AC_MSG_CHECKING([for perl5.003 or newer])
|
||||||
|
if test "${PERL+set}" = set; then
|
||||||
|
# `PERL' is set in the user's environment.
|
||||||
|
candidate_perl_names="$PERL"
|
||||||
|
perl_specified=yes
|
||||||
|
else
|
||||||
|
candidate_perl_names='perl perl5'
|
||||||
|
perl_specified=no
|
||||||
|
fi
|
||||||
|
|
||||||
|
found=no
|
||||||
|
AC_SUBST(PERL)
|
||||||
|
PERL="$am_missing_run perl"
|
||||||
|
for perl in $candidate_perl_names; do
|
||||||
|
# Run test in a subshell; some versions of sh will print an error if
|
||||||
|
# an executable is not found, even if stderr is redirected.
|
||||||
|
if ( $perl -e 'require 5.003; use File::Compare' ) > /dev/null 2>&1; then
|
||||||
|
PERL=$perl
|
||||||
|
found=yes
|
||||||
|
break
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
|
||||||
|
AC_MSG_RESULT($found)
|
||||||
|
test $found = no && AC_MSG_WARN([
|
||||||
|
WARNING: You don't seem to have perl5.003 or newer installed, or you lack
|
||||||
|
a usable version of the Perl File::Compare module. As a result,
|
||||||
|
you may be unable to run a few tests or to regenerate certain
|
||||||
|
files if you modify the sources from which they are derived.
|
||||||
|
] )
|
||||||
|
])
|
||||||
@@ -0,0 +1,268 @@
|
|||||||
|
#serial 31
|
||||||
|
|
||||||
|
dnl We use jm_ for non Autoconf macros.
|
||||||
|
m4_pattern_forbid([^jm_[ABCDEFGHIJKLMNOPQRSTUVXYZ]])dnl
|
||||||
|
m4_pattern_forbid([^gl_[ABCDEFGHIJKLMNOPQRSTUVXYZ]])dnl
|
||||||
|
|
||||||
|
# These are the prerequisite macros for files in the lib/
|
||||||
|
# directory of the coreutils package.
|
||||||
|
|
||||||
|
AC_DEFUN([jm_PREREQ],
|
||||||
|
[
|
||||||
|
AC_REQUIRE([jm_PREREQ_ADDEXT])
|
||||||
|
|
||||||
|
# We don't yet use c-stack.c.
|
||||||
|
# AC_REQUIRE([jm_PREREQ_C_STACK])
|
||||||
|
|
||||||
|
AC_REQUIRE([jm_PREREQ_CANON_HOST])
|
||||||
|
AC_REQUIRE([jm_PREREQ_DIRNAME])
|
||||||
|
AC_REQUIRE([jm_PREREQ_ERROR])
|
||||||
|
AC_REQUIRE([jm_PREREQ_EXCLUDE])
|
||||||
|
AC_REQUIRE([jm_PREREQ_GETPAGESIZE])
|
||||||
|
AC_REQUIRE([jm_PREREQ_HARD_LOCALE])
|
||||||
|
AC_REQUIRE([jm_PREREQ_HASH])
|
||||||
|
AC_REQUIRE([jm_PREREQ_HUMAN])
|
||||||
|
AC_REQUIRE([jm_PREREQ_MBSWIDTH])
|
||||||
|
AC_REQUIRE([jm_PREREQ_MEMCHR])
|
||||||
|
AC_REQUIRE([jm_PREREQ_PHYSMEM])
|
||||||
|
AC_REQUIRE([jm_PREREQ_POSIXVER])
|
||||||
|
AC_REQUIRE([jm_PREREQ_QUOTEARG])
|
||||||
|
AC_REQUIRE([jm_PREREQ_READUTMP])
|
||||||
|
AC_REQUIRE([jm_PREREQ_STAT])
|
||||||
|
AC_REQUIRE([jm_PREREQ_STRNLEN])
|
||||||
|
AC_REQUIRE([jm_PREREQ_TEMPNAME]) # called by mkstemp
|
||||||
|
AC_REQUIRE([jm_PREREQ_XGETCWD])
|
||||||
|
AC_REQUIRE([jm_PREREQ_XREADLINK])
|
||||||
|
])
|
||||||
|
|
||||||
|
AC_DEFUN([jm_PREREQ_ADDEXT],
|
||||||
|
[
|
||||||
|
dnl For addext.c.
|
||||||
|
AC_REQUIRE([AC_SYS_LONG_FILE_NAMES])
|
||||||
|
AC_CHECK_FUNCS(pathconf)
|
||||||
|
AC_CHECK_HEADERS(limits.h string.h unistd.h)
|
||||||
|
])
|
||||||
|
|
||||||
|
AC_DEFUN([jm_PREREQ_CANON_HOST],
|
||||||
|
[
|
||||||
|
dnl Add any libraries as early as possible.
|
||||||
|
dnl In particular, inet_ntoa needs -lnsl at least on Solaris5.5.1,
|
||||||
|
dnl so we have to add -lnsl to LIBS before checking for that function.
|
||||||
|
AC_SEARCH_LIBS(gethostbyname, [inet nsl])
|
||||||
|
|
||||||
|
dnl These come from -lnsl on Solaris5.5.1.
|
||||||
|
AC_CHECK_FUNCS(gethostbyname gethostbyaddr inet_ntoa)
|
||||||
|
|
||||||
|
AC_CHECK_HEADERS(unistd.h string.h netdb.h sys/socket.h \
|
||||||
|
netinet/in.h arpa/inet.h)
|
||||||
|
])
|
||||||
|
|
||||||
|
AC_DEFUN([jm_PREREQ_DIRNAME],
|
||||||
|
[
|
||||||
|
AC_REQUIRE([AC_HEADER_STDC])
|
||||||
|
AC_CHECK_HEADERS(string.h)
|
||||||
|
])
|
||||||
|
|
||||||
|
AC_DEFUN([jm_PREREQ_EXCLUDE],
|
||||||
|
[
|
||||||
|
AC_REQUIRE([AC_FUNC_FNMATCH_GNU])
|
||||||
|
AC_REQUIRE([AC_HEADER_STDBOOL])
|
||||||
|
])
|
||||||
|
|
||||||
|
AC_DEFUN([jm_PREREQ_GETPAGESIZE],
|
||||||
|
[
|
||||||
|
AC_CHECK_FUNCS(getpagesize)
|
||||||
|
AC_CHECK_HEADERS(OS.h unistd.h)
|
||||||
|
])
|
||||||
|
|
||||||
|
AC_DEFUN([jm_PREREQ_HARD_LOCALE],
|
||||||
|
[
|
||||||
|
AC_CHECK_HEADERS(locale.h stdlib.h string.h)
|
||||||
|
AC_CHECK_FUNCS(setlocale)
|
||||||
|
AC_REQUIRE([AM_C_PROTOTYPES])
|
||||||
|
])
|
||||||
|
|
||||||
|
AC_DEFUN([jm_PREREQ_HASH],
|
||||||
|
[
|
||||||
|
AC_CHECK_HEADERS(stdlib.h)
|
||||||
|
AC_REQUIRE([AC_HEADER_STDBOOL])
|
||||||
|
AC_REQUIRE([jm_CHECK_DECLS])
|
||||||
|
])
|
||||||
|
|
||||||
|
# If you use human.c, you need the following files:
|
||||||
|
# inttypes.m4 longlong.m4
|
||||||
|
AC_DEFUN([jm_PREREQ_HUMAN],
|
||||||
|
[
|
||||||
|
AC_CHECK_HEADERS(locale.h)
|
||||||
|
AC_CHECK_DECLS([getenv])
|
||||||
|
AC_CHECK_FUNCS(localeconv)
|
||||||
|
AC_REQUIRE([AC_HEADER_STDBOOL])
|
||||||
|
AC_REQUIRE([jm_AC_TYPE_UINTMAX_T])
|
||||||
|
])
|
||||||
|
|
||||||
|
AC_DEFUN([jm_PREREQ_MEMCHR],
|
||||||
|
[
|
||||||
|
AC_CHECK_HEADERS(limits.h stdlib.h bp-sym.h)
|
||||||
|
])
|
||||||
|
|
||||||
|
# Check for the external symbol, _system_configuration,
|
||||||
|
# a struct with member `physmem'.
|
||||||
|
AC_DEFUN([gl_SYS__SYSTEM_CONFIGURATION],
|
||||||
|
[AC_CACHE_CHECK(for external symbol _system_configuration,
|
||||||
|
gl_cv_var__system_configuration,
|
||||||
|
[AC_LINK_IFELSE([AC_LANG_PROGRAM(
|
||||||
|
[[#include <sys/systemcfg.h>
|
||||||
|
]],
|
||||||
|
[double x = _system_configuration.physmem;])],
|
||||||
|
[gl_cv_var__system_configuration=yes],
|
||||||
|
[gl_cv_var__system_configuration=no])])
|
||||||
|
|
||||||
|
if test $gl_cv_var__system_configuration = yes; then
|
||||||
|
AC_DEFINE(HAVE__SYSTEM_CONFIGURATION, 1,
|
||||||
|
[Define to 1 if you have the external variable,
|
||||||
|
_system_configuration with a member named physmem.])
|
||||||
|
fi
|
||||||
|
]
|
||||||
|
)
|
||||||
|
|
||||||
|
AC_DEFUN([jm_PREREQ_PHYSMEM],
|
||||||
|
[
|
||||||
|
AC_CHECK_HEADERS([unistd.h sys/pstat.h sys/sysmp.h sys/sysinfo.h \
|
||||||
|
machine/hal_sysinfo.h sys/table.h sys/param.h sys/sysctl.h \
|
||||||
|
sys/systemcfg.h])
|
||||||
|
AC_CHECK_FUNCS(pstat_getstatic pstat_getdynamic sysmp getsysinfo sysctl table)
|
||||||
|
|
||||||
|
AC_REQUIRE([gl_SYS__SYSTEM_CONFIGURATION])
|
||||||
|
])
|
||||||
|
|
||||||
|
AC_DEFUN([jm_PREREQ_POSIXVER],
|
||||||
|
[
|
||||||
|
AC_CHECK_HEADERS(unistd.h)
|
||||||
|
AC_CHECK_DECLS([getenv])
|
||||||
|
])
|
||||||
|
|
||||||
|
AC_DEFUN([jm_PREREQ_QUOTEARG],
|
||||||
|
[
|
||||||
|
AC_CHECK_FUNCS(isascii iswprint)
|
||||||
|
AC_REQUIRE([jm_FUNC_MBRTOWC])
|
||||||
|
AC_REQUIRE([jm_FUNC_MEMCMP])
|
||||||
|
AC_CHECK_HEADERS(limits.h stddef.h stdlib.h string.h wchar.h wctype.h)
|
||||||
|
AC_REQUIRE([AC_HEADER_STDC])
|
||||||
|
AC_REQUIRE([AC_C_BACKSLASH_A])
|
||||||
|
AC_REQUIRE([AC_TYPE_MBSTATE_T])
|
||||||
|
AC_REQUIRE([AM_C_PROTOTYPES])
|
||||||
|
])
|
||||||
|
|
||||||
|
AC_DEFUN([jm_PREREQ_READUTMP],
|
||||||
|
[
|
||||||
|
AC_REQUIRE([AC_HEADER_STDC])
|
||||||
|
AC_CHECK_HEADERS(string.h utmp.h utmpx.h sys/param.h)
|
||||||
|
AC_CHECK_FUNCS(utmpname)
|
||||||
|
AC_CHECK_FUNCS(utmpxname)
|
||||||
|
AC_REQUIRE([AM_C_PROTOTYPES])
|
||||||
|
|
||||||
|
if test $ac_cv_header_utmp_h = yes || test $ac_cv_header_utmpx_h = yes; then
|
||||||
|
utmp_includes="\
|
||||||
|
$ac_includes_default
|
||||||
|
#ifdef HAVE_UTMPX_H
|
||||||
|
# include <utmpx.h>
|
||||||
|
#endif
|
||||||
|
#ifdef HAVE_UTMP_H
|
||||||
|
# include <utmp.h>
|
||||||
|
#endif
|
||||||
|
"
|
||||||
|
AC_CHECK_MEMBERS([struct utmpx.ut_user],,,[$utmp_includes])
|
||||||
|
AC_CHECK_MEMBERS([struct utmp.ut_user],,,[$utmp_includes])
|
||||||
|
AC_CHECK_MEMBERS([struct utmpx.ut_name],,,[$utmp_includes])
|
||||||
|
AC_CHECK_MEMBERS([struct utmp.ut_name],,,[$utmp_includes])
|
||||||
|
AC_CHECK_MEMBERS([struct utmpx.ut_type],,,[$utmp_includes])
|
||||||
|
AC_CHECK_MEMBERS([struct utmp.ut_type],,,[$utmp_includes])
|
||||||
|
AC_CHECK_MEMBERS([struct utmpx.ut_pid],,,[$utmp_includes])
|
||||||
|
AC_CHECK_MEMBERS([struct utmp.ut_pid],,,[$utmp_includes])
|
||||||
|
AC_CHECK_MEMBERS([struct utmpx.ut_id],,,[$utmp_includes])
|
||||||
|
AC_CHECK_MEMBERS([struct utmp.ut_id],,,[$utmp_includes])
|
||||||
|
|
||||||
|
AC_CHECK_MEMBERS([struct utmpx.ut_exit.ut_exit],,,[$utmp_includes])
|
||||||
|
AC_CHECK_MEMBERS([struct utmp.ut_exit.ut_exit],,,[$utmp_includes])
|
||||||
|
AC_CHECK_MEMBERS([struct utmpx.ut_exit.e_exit],,,[$utmp_includes])
|
||||||
|
AC_CHECK_MEMBERS([struct utmp.ut_exit.e_exit],,,[$utmp_includes])
|
||||||
|
|
||||||
|
AC_CHECK_MEMBERS([struct utmpx.ut_exit.ut_termination],,,[$utmp_includes])
|
||||||
|
AC_CHECK_MEMBERS([struct utmp.ut_exit.ut_termination],,,[$utmp_includes])
|
||||||
|
AC_CHECK_MEMBERS([struct utmpx.ut_exit.e_termination],,,[$utmp_includes])
|
||||||
|
AC_CHECK_MEMBERS([struct utmp.ut_exit.e_termination],,,[$utmp_includes])
|
||||||
|
AC_LIBOBJ(readutmp)
|
||||||
|
fi
|
||||||
|
])
|
||||||
|
|
||||||
|
AC_DEFUN([jm_PREREQ_STAT],
|
||||||
|
[
|
||||||
|
AC_CHECK_HEADERS(sys/sysmacros.h sys/statvfs.h sys/vfs.h inttypes.h)
|
||||||
|
AC_CHECK_HEADERS(sys/param.h sys/mount.h)
|
||||||
|
AC_CHECK_FUNCS(statvfs)
|
||||||
|
AC_REQUIRE([jm_AC_TYPE_LONG_LONG])
|
||||||
|
|
||||||
|
statxfs_includes="\
|
||||||
|
$ac_includes_default
|
||||||
|
#if HAVE_SYS_STATVFS_H
|
||||||
|
# include <sys/statvfs.h>
|
||||||
|
#endif
|
||||||
|
#if HAVE_SYS_VFS_H
|
||||||
|
# include <sys/vfs.h>
|
||||||
|
#endif
|
||||||
|
#if ( ! HAVE_SYS_STATVFS_H && ! HAVE_SYS_VFS_H && HAVE_SYS_MOUNT_H && HAVE_SYS_PARAM_H )
|
||||||
|
/* NetBSD 1.5.2 needs these, for the declaration of struct statfs. */
|
||||||
|
# include <sys/param.h>
|
||||||
|
# include <sys/mount.h>
|
||||||
|
#endif
|
||||||
|
"
|
||||||
|
AC_CHECK_MEMBERS([struct statfs.f_basetype],,,[$statxfs_includes])
|
||||||
|
AC_CHECK_MEMBERS([struct statvfs.f_basetype],,,[$statxfs_includes])
|
||||||
|
AC_CHECK_MEMBERS([struct statfs.f_fstypename],,,[$statxfs_includes])
|
||||||
|
AC_CHECK_MEMBERS([struct statfs.f_type],,,[$statxfs_includes])
|
||||||
|
AC_CHECK_MEMBERS([struct statvfs.f_type],,,[$statxfs_includes])
|
||||||
|
AC_CHECK_MEMBERS([struct statfs.f_fsid.__val],,,[$statxfs_includes])
|
||||||
|
AC_CHECK_MEMBERS([struct statvfs.f_fsid.__val],,,[$statxfs_includes])
|
||||||
|
AC_CHECK_MEMBERS([struct statfs.f_namemax],,,[$statxfs_includes])
|
||||||
|
AC_CHECK_MEMBERS([struct statvfs.f_namemax],,,[$statxfs_includes])
|
||||||
|
AC_CHECK_MEMBERS([struct statfs.f_namelen],,,[$statxfs_includes])
|
||||||
|
AC_CHECK_MEMBERS([struct statvfs.f_namelen],,,[$statxfs_includes])
|
||||||
|
])
|
||||||
|
|
||||||
|
AC_DEFUN([jm_PREREQ_STRNLEN],
|
||||||
|
[
|
||||||
|
AC_REQUIRE([AC_FUNC_STRNLEN])
|
||||||
|
AC_REQUIRE([AC_HEADER_STDC])
|
||||||
|
AC_CHECK_HEADERS(memory.h)
|
||||||
|
AC_CHECK_DECLS([memchr])
|
||||||
|
|
||||||
|
# This is necessary because automake-1.6.1 doesn't understand
|
||||||
|
# that the above use of AC_FUNC_STRNLEN means we may have to use
|
||||||
|
# lib/strnlen.c.
|
||||||
|
test $ac_cv_func_strnlen_working = yes \
|
||||||
|
&& AC_LIBOBJ(strnlen)
|
||||||
|
])
|
||||||
|
|
||||||
|
AC_DEFUN([jm_PREREQ_TEMPNAME],
|
||||||
|
[
|
||||||
|
AC_REQUIRE([AC_HEADER_STDC])
|
||||||
|
AC_REQUIRE([AC_HEADER_STAT])
|
||||||
|
AC_CHECK_HEADERS(fcntl.h sys/time.h stdint.h unistd.h)
|
||||||
|
AC_CHECK_FUNCS(__secure_getenv gettimeofday)
|
||||||
|
AC_CHECK_DECLS([getenv])
|
||||||
|
AC_REQUIRE([jm_AC_TYPE_UINTMAX_T])
|
||||||
|
])
|
||||||
|
|
||||||
|
AC_DEFUN([jm_PREREQ_XGETCWD],
|
||||||
|
[
|
||||||
|
AC_REQUIRE([AC_C_PROTOTYPES])
|
||||||
|
AC_CHECK_HEADERS(limits.h stdlib.h sys/param.h unistd.h)
|
||||||
|
AC_CHECK_FUNCS(getcwd)
|
||||||
|
AC_REQUIRE([AC_FUNC_GETCWD_NULL])
|
||||||
|
])
|
||||||
|
|
||||||
|
AC_DEFUN([jm_PREREQ_XREADLINK],
|
||||||
|
[
|
||||||
|
AC_REQUIRE([AC_C_PROTOTYPES])
|
||||||
|
AC_CHECK_HEADERS(limits.h stdlib.h sys/types.h unistd.h)
|
||||||
|
])
|
||||||
@@ -0,0 +1,59 @@
|
|||||||
|
# progtest.m4 serial 2 (gettext-0.10.40)
|
||||||
|
dnl Copyright (C) 1996-2002 Free Software Foundation, Inc.
|
||||||
|
dnl This file is free software, distributed under the terms of the GNU
|
||||||
|
dnl General Public License. As a special exception to the GNU General
|
||||||
|
dnl Public License, this file may be distributed as part of a program
|
||||||
|
dnl that contains a configuration script generated by Autoconf, under
|
||||||
|
dnl the same distribution terms as the rest of that program.
|
||||||
|
dnl
|
||||||
|
dnl This file can can be used in projects which are not available under
|
||||||
|
dnl the GNU General Public License or the GNU Library General Public
|
||||||
|
dnl License but which still want to provide support for the GNU gettext
|
||||||
|
dnl functionality.
|
||||||
|
dnl Please note that the actual code of the GNU gettext library is covered
|
||||||
|
dnl by the GNU Library General Public License, and the rest of the GNU
|
||||||
|
dnl gettext package package is covered by the GNU General Public License.
|
||||||
|
dnl They are *not* in the public domain.
|
||||||
|
|
||||||
|
dnl Authors:
|
||||||
|
dnl Ulrich Drepper <[email protected]>, 1996.
|
||||||
|
|
||||||
|
# Search path for a program which passes the given test.
|
||||||
|
|
||||||
|
dnl AM_PATH_PROG_WITH_TEST(VARIABLE, PROG-TO-CHECK-FOR,
|
||||||
|
dnl TEST-PERFORMED-ON-FOUND_PROGRAM [, VALUE-IF-NOT-FOUND [, PATH]])
|
||||||
|
AC_DEFUN([AM_PATH_PROG_WITH_TEST],
|
||||||
|
[# Extract the first word of "$2", so it can be a program name with args.
|
||||||
|
set dummy $2; ac_word=[$]2
|
||||||
|
AC_MSG_CHECKING([for $ac_word])
|
||||||
|
AC_CACHE_VAL(ac_cv_path_$1,
|
||||||
|
[case "[$]$1" in
|
||||||
|
/*)
|
||||||
|
ac_cv_path_$1="[$]$1" # Let the user override the test with a path.
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:"
|
||||||
|
for ac_dir in ifelse([$5], , $PATH, [$5]); do
|
||||||
|
test -z "$ac_dir" && ac_dir=.
|
||||||
|
if test -f $ac_dir/$ac_word; then
|
||||||
|
if [$3]; then
|
||||||
|
ac_cv_path_$1="$ac_dir/$ac_word"
|
||||||
|
break
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
IFS="$ac_save_ifs"
|
||||||
|
dnl If no 4th arg is given, leave the cache variable unset,
|
||||||
|
dnl so AC_PATH_PROGS will keep looking.
|
||||||
|
ifelse([$4], , , [ test -z "[$]ac_cv_path_$1" && ac_cv_path_$1="$4"
|
||||||
|
])dnl
|
||||||
|
;;
|
||||||
|
esac])dnl
|
||||||
|
$1="$ac_cv_path_$1"
|
||||||
|
if test ifelse([$4], , [-n "[$]$1"], ["[$]$1" != "$4"]); then
|
||||||
|
AC_MSG_RESULT([$]$1)
|
||||||
|
else
|
||||||
|
AC_MSG_RESULT(no)
|
||||||
|
fi
|
||||||
|
AC_SUBST($1)dnl
|
||||||
|
])
|
||||||
@@ -0,0 +1,40 @@
|
|||||||
|
#serial 5
|
||||||
|
|
||||||
|
dnl From Jim Meyering.
|
||||||
|
dnl
|
||||||
|
dnl Check whether putenv ("FOO") removes FOO from the environment.
|
||||||
|
dnl The putenv in libc on at least SunOS 4.1.4 does *not* do that.
|
||||||
|
dnl
|
||||||
|
|
||||||
|
AC_DEFUN([jm_FUNC_PUTENV],
|
||||||
|
[AC_CACHE_CHECK([for SVID conformant putenv], jm_cv_func_svid_putenv,
|
||||||
|
[AC_TRY_RUN([
|
||||||
|
int
|
||||||
|
main ()
|
||||||
|
{
|
||||||
|
/* Put it in env. */
|
||||||
|
if (putenv ("CONFTEST_putenv=val"))
|
||||||
|
exit (1);
|
||||||
|
|
||||||
|
/* Try to remove it. */
|
||||||
|
if (putenv ("CONFTEST_putenv"))
|
||||||
|
exit (1);
|
||||||
|
|
||||||
|
/* Make sure it was deleted. */
|
||||||
|
if (getenv ("CONFTEST_putenv") != 0)
|
||||||
|
exit (1);
|
||||||
|
|
||||||
|
exit (0);
|
||||||
|
}
|
||||||
|
],
|
||||||
|
jm_cv_func_svid_putenv=yes,
|
||||||
|
jm_cv_func_svid_putenv=no,
|
||||||
|
dnl When crosscompiling, assume putenv is broken.
|
||||||
|
jm_cv_func_svid_putenv=no)
|
||||||
|
])
|
||||||
|
if test $jm_cv_func_svid_putenv = no; then
|
||||||
|
AC_LIBOBJ(putenv)
|
||||||
|
AC_DEFINE(putenv, rpl_putenv,
|
||||||
|
[Define to rpl_putenv if the replacement function should be used.])
|
||||||
|
fi
|
||||||
|
])
|
||||||
@@ -0,0 +1,114 @@
|
|||||||
|
#serial 15
|
||||||
|
|
||||||
|
dnl Initially derived from code in GNU grep.
|
||||||
|
dnl Mostly written by Jim Meyering.
|
||||||
|
|
||||||
|
dnl Usage: jm_INCLUDED_REGEX([lib/regex.c])
|
||||||
|
dnl
|
||||||
|
AC_DEFUN([jm_INCLUDED_REGEX],
|
||||||
|
[
|
||||||
|
dnl Even packages that don't use regex.c can use this macro.
|
||||||
|
dnl Of course, for them it doesn't do anything.
|
||||||
|
|
||||||
|
# Assume we'll default to using the included regex.c.
|
||||||
|
ac_use_included_regex=yes
|
||||||
|
|
||||||
|
# However, if the system regex support is good enough that it passes the
|
||||||
|
# the following run test, then default to *not* using the included regex.c.
|
||||||
|
# If cross compiling, assume the test would fail and use the included
|
||||||
|
# regex.c. The first failing regular expression is from `Spencer ere
|
||||||
|
# test #75' in grep-2.3.
|
||||||
|
AC_CACHE_CHECK([for working re_compile_pattern],
|
||||||
|
jm_cv_func_working_re_compile_pattern,
|
||||||
|
AC_TRY_RUN(
|
||||||
|
[#include <stdio.h>
|
||||||
|
#include <string.h>
|
||||||
|
#include <regex.h>
|
||||||
|
int
|
||||||
|
main ()
|
||||||
|
{
|
||||||
|
static struct re_pattern_buffer regex;
|
||||||
|
const char *s;
|
||||||
|
struct re_registers regs;
|
||||||
|
re_set_syntax (RE_SYNTAX_POSIX_EGREP);
|
||||||
|
memset (®ex, 0, sizeof (regex));
|
||||||
|
[s = re_compile_pattern ("a[[:@:>@:]]b\n", 9, ®ex);]
|
||||||
|
/* This should fail with _Invalid character class name_ error. */
|
||||||
|
if (!s)
|
||||||
|
exit (1);
|
||||||
|
|
||||||
|
/* This should succeed, but doesn't for e.g. glibc-2.1.3. */
|
||||||
|
memset (®ex, 0, sizeof (regex));
|
||||||
|
s = re_compile_pattern ("{1", 2, ®ex);
|
||||||
|
|
||||||
|
if (s)
|
||||||
|
exit (1);
|
||||||
|
|
||||||
|
/* The following example is derived from a problem report
|
||||||
|
against gawk from Jorge Stolfi <[email protected]>. */
|
||||||
|
memset (®ex, 0, sizeof (regex));
|
||||||
|
s = re_compile_pattern ("[[anù]]*n", 7, ®ex);
|
||||||
|
if (s)
|
||||||
|
exit (1);
|
||||||
|
|
||||||
|
/* This should match, but doesn't for e.g. glibc-2.2.1. */
|
||||||
|
if (re_match (®ex, "an", 2, 0, ®s) != 2)
|
||||||
|
exit (1);
|
||||||
|
|
||||||
|
memset (®ex, 0, sizeof (regex));
|
||||||
|
s = re_compile_pattern ("x", 1, ®ex);
|
||||||
|
if (s)
|
||||||
|
exit (1);
|
||||||
|
|
||||||
|
/* The version of regex.c in e.g. GNU libc-2.2.93 didn't
|
||||||
|
work with a negative RANGE argument. */
|
||||||
|
if (re_search (®ex, "wxy", 3, 2, -2, ®s) != 1)
|
||||||
|
exit (1);
|
||||||
|
|
||||||
|
exit (0);
|
||||||
|
}
|
||||||
|
],
|
||||||
|
jm_cv_func_working_re_compile_pattern=yes,
|
||||||
|
jm_cv_func_working_re_compile_pattern=no,
|
||||||
|
dnl When crosscompiling, assume it's broken.
|
||||||
|
jm_cv_func_working_re_compile_pattern=no))
|
||||||
|
if test $jm_cv_func_working_re_compile_pattern = yes; then
|
||||||
|
ac_use_included_regex=no
|
||||||
|
fi
|
||||||
|
|
||||||
|
test -n "$1" || AC_MSG_ERROR([missing argument])
|
||||||
|
m4_syscmd([test -f $1])
|
||||||
|
ifelse(m4_sysval, 0,
|
||||||
|
[
|
||||||
|
AC_ARG_WITH(included-regex,
|
||||||
|
[ --without-included-regex don't compile regex; this is the default on
|
||||||
|
systems with version 2 of the GNU C library
|
||||||
|
(use with caution on other system)],
|
||||||
|
jm_with_regex=$withval,
|
||||||
|
jm_with_regex=$ac_use_included_regex)
|
||||||
|
if test "$jm_with_regex" = yes; then
|
||||||
|
AC_LIBOBJ(regex)
|
||||||
|
jm_PREREQ_REGEX
|
||||||
|
fi
|
||||||
|
],
|
||||||
|
)
|
||||||
|
]
|
||||||
|
)
|
||||||
|
|
||||||
|
# Prerequisites of lib/regex.c.
|
||||||
|
AC_DEFUN([jm_PREREQ_REGEX],
|
||||||
|
[
|
||||||
|
dnl FIXME: Maybe provide a btowc replacement someday: solaris-2.5.1 lacks it.
|
||||||
|
dnl FIXME: Check for wctype and iswctype, and and add -lw if necessary
|
||||||
|
dnl to get them.
|
||||||
|
|
||||||
|
dnl Persuade glibc <string.h> to declare mempcpy().
|
||||||
|
AC_REQUIRE([AC_GNU_SOURCE])
|
||||||
|
|
||||||
|
AC_REQUIRE([ACX_C_RESTRICT])
|
||||||
|
AC_REQUIRE([AC_FUNC_ALLOCA])
|
||||||
|
AC_REQUIRE([AC_HEADER_STDC])
|
||||||
|
AC_CHECK_HEADERS_ONCE(limits.h string.h wchar.h wctype.h)
|
||||||
|
AC_CHECK_FUNCS_ONCE(isascii mempcpy)
|
||||||
|
AC_CHECK_FUNCS(btowc)
|
||||||
|
])
|
||||||
@@ -0,0 +1,40 @@
|
|||||||
|
#serial 3
|
||||||
|
|
||||||
|
dnl From Volker Borchert.
|
||||||
|
dnl Determine whether rename works for source paths with a trailing slash.
|
||||||
|
dnl The rename from SunOS 4.1.1_U1 doesn't.
|
||||||
|
dnl
|
||||||
|
dnl If it doesn't, then define RENAME_TRAILING_SLASH_BUG and arrange
|
||||||
|
dnl to compile the wrapper function.
|
||||||
|
dnl
|
||||||
|
|
||||||
|
AC_DEFUN([vb_FUNC_RENAME],
|
||||||
|
[
|
||||||
|
AC_CACHE_CHECK([whether rename is broken],
|
||||||
|
vb_cv_func_rename_trailing_slash_bug,
|
||||||
|
[
|
||||||
|
rm -rf conftest.d1 conftest.d2
|
||||||
|
mkdir conftest.d1 ||
|
||||||
|
AC_MSG_ERROR([cannot create temporary directory])
|
||||||
|
AC_TRY_RUN([
|
||||||
|
# include <stdio.h>
|
||||||
|
int
|
||||||
|
main ()
|
||||||
|
{
|
||||||
|
exit (rename ("conftest.d1/", "conftest.d2") ? 1 : 0);
|
||||||
|
}
|
||||||
|
],
|
||||||
|
vb_cv_func_rename_trailing_slash_bug=no,
|
||||||
|
vb_cv_func_rename_trailing_slash_bug=yes,
|
||||||
|
dnl When crosscompiling, assume rename is broken.
|
||||||
|
vb_cv_func_rename_trailing_slash_bug=yes)
|
||||||
|
|
||||||
|
rm -rf conftest.d1 conftest.d2
|
||||||
|
])
|
||||||
|
if test $vb_cv_func_rename_trailing_slash_bug = yes; then
|
||||||
|
AC_LIBOBJ(rename)
|
||||||
|
AC_DEFINE(RENAME_TRAILING_SLASH_BUG, 1,
|
||||||
|
[Define if rename does not work for source paths with a trailing slash,
|
||||||
|
like the one from SunOS 4.1.1_U1.])
|
||||||
|
fi
|
||||||
|
])
|
||||||
@@ -0,0 +1,28 @@
|
|||||||
|
#serial 1001
|
||||||
|
dnl based on acx_restrict.m4, from the GNU Autoconf Macro Archive at:
|
||||||
|
dnl http://www.gnu.org/software/ac-archive/htmldoc/acx_restrict.html
|
||||||
|
|
||||||
|
# Determine whether the C/C++ compiler supports the "restrict" keyword
|
||||||
|
# introduced in ANSI C99, or an equivalent. Do nothing if the compiler
|
||||||
|
# accepts it. Otherwise, if the compiler supports an equivalent (like
|
||||||
|
# gcc's __restrict__) define "restrict" to be that. Otherwise, define
|
||||||
|
# "restrict" to be empty.
|
||||||
|
|
||||||
|
AC_DEFUN([ACX_C_RESTRICT],
|
||||||
|
[AC_CACHE_CHECK([for C/C++ restrict keyword], acx_cv_c_restrict,
|
||||||
|
[acx_cv_c_restrict=no
|
||||||
|
# Try the official restrict keyword, then gcc's __restrict__.
|
||||||
|
for acx_kw in restrict __restrict__; do
|
||||||
|
AC_COMPILE_IFELSE([AC_LANG_SOURCE(
|
||||||
|
[float * $acx_kw x;])],
|
||||||
|
[acx_cv_c_restrict=$acx_kw; break])
|
||||||
|
done
|
||||||
|
])
|
||||||
|
case $acx_cv_c_restrict in
|
||||||
|
restrict) ;;
|
||||||
|
no) AC_DEFINE(restrict,,
|
||||||
|
[Define to equivalent of C99 restrict keyword, or to nothing if this
|
||||||
|
is not supported. Do not define if restrict is supported directly.]) ;;
|
||||||
|
*) AC_DEFINE_UNQUOTED(restrict, $acx_cv_c_restrict) ;;
|
||||||
|
esac
|
||||||
|
])
|
||||||
@@ -0,0 +1,43 @@
|
|||||||
|
#serial 3
|
||||||
|
|
||||||
|
# When rmdir fails because the specified directory is not empty, it sets
|
||||||
|
# errno to some value, usually ENOTEMPTY. However, on some AIX systems,
|
||||||
|
# ENOTEMPTY is mistakenly defined to be EEXIST. To work around this, and
|
||||||
|
# in general, to avoid depending on the use of any particular symbol, this
|
||||||
|
# test runs a test to determine the actual numeric value.
|
||||||
|
AC_DEFUN([fetish_FUNC_RMDIR_NOTEMPTY],
|
||||||
|
[dnl
|
||||||
|
AC_CACHE_CHECK([for rmdir-not-empty errno value],
|
||||||
|
fetish_cv_func_rmdir_errno_not_empty,
|
||||||
|
[
|
||||||
|
# Arrange for deletion of the temporary directory this test creates.
|
||||||
|
ac_clean_files="$ac_clean_files confdir2"
|
||||||
|
mkdir confdir2; : > confdir2/file
|
||||||
|
AC_TRY_RUN([
|
||||||
|
#include <stdio.h>
|
||||||
|
#include <errno.h>
|
||||||
|
#ifndef errno
|
||||||
|
extern int errno;
|
||||||
|
#endif
|
||||||
|
int main ()
|
||||||
|
{
|
||||||
|
FILE *s;
|
||||||
|
int val;
|
||||||
|
rmdir ("confdir2");
|
||||||
|
val = errno;
|
||||||
|
s = fopen ("confdir2/errno", "w");
|
||||||
|
fprintf (s, "%d\n", val);
|
||||||
|
exit (0);
|
||||||
|
}
|
||||||
|
],
|
||||||
|
fetish_cv_func_rmdir_errno_not_empty=`cat confdir2/errno`,
|
||||||
|
fetish_cv_func_rmdir_errno_not_empty='configure error in rmdir-errno.m4',
|
||||||
|
fetish_cv_func_rmdir_errno_not_empty=ENOTEMPTY
|
||||||
|
)
|
||||||
|
]
|
||||||
|
)
|
||||||
|
|
||||||
|
AC_DEFINE_UNQUOTED([RMDIR_ERRNO_NOT_EMPTY],
|
||||||
|
$fetish_cv_func_rmdir_errno_not_empty,
|
||||||
|
[the value to which errno is set when rmdir fails on a nonempty directory])
|
||||||
|
])
|
||||||
@@ -0,0 +1,42 @@
|
|||||||
|
#serial 5
|
||||||
|
|
||||||
|
dnl A replacement for autoconf's macro by the same name. This version
|
||||||
|
dnl uses `ac_lib' rather than `i' for the loop variable, but more importantly
|
||||||
|
dnl moves the ACTION-IF-FOUND ([$]3) into the inner `if'-block so that it is
|
||||||
|
dnl run only if one of the listed libraries ends up being used (and not in
|
||||||
|
dnl the `none required' case.
|
||||||
|
dnl I hope it's only temporary while we wait for that version to be fixed.
|
||||||
|
undefine([AC_SEARCH_LIBS])
|
||||||
|
|
||||||
|
# AC_SEARCH_LIBS(FUNCTION, SEARCH-LIBS,
|
||||||
|
# [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND],
|
||||||
|
# [OTHER-LIBRARIES])
|
||||||
|
# --------------------------------------------------------
|
||||||
|
# Search for a library defining FUNC, if it's not already available.
|
||||||
|
AC_DEFUN([AC_SEARCH_LIBS],
|
||||||
|
[
|
||||||
|
AC_CACHE_CHECK([for library containing $1], [ac_cv_search_$1],
|
||||||
|
[
|
||||||
|
ac_func_search_save_LIBS=$LIBS
|
||||||
|
ac_cv_search_$1=no
|
||||||
|
AC_TRY_LINK_FUNC([$1], [ac_cv_search_$1='none required'])
|
||||||
|
if test "$ac_cv_search_$1" = no; then
|
||||||
|
for ac_lib in $2; do
|
||||||
|
LIBS="-l$ac_lib $5 $ac_func_search_save_LIBS"
|
||||||
|
AC_TRY_LINK_FUNC([$1], [ac_cv_search_$1="-l$ac_lib"; break])
|
||||||
|
done
|
||||||
|
fi
|
||||||
|
LIBS=$ac_func_search_save_LIBS
|
||||||
|
])
|
||||||
|
|
||||||
|
if test "$ac_cv_search_$1" = no; then :
|
||||||
|
$4
|
||||||
|
else
|
||||||
|
if test "$ac_cv_search_$1" = 'none required'; then :
|
||||||
|
$4
|
||||||
|
else
|
||||||
|
LIBS="$ac_cv_search_$1 $LIBS"
|
||||||
|
$3
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
])
|
||||||
@@ -0,0 +1,17 @@
|
|||||||
|
#serial 3
|
||||||
|
|
||||||
|
# Define HAVE_ST_DM_MODE if struct stat has an st_dm_mode member.
|
||||||
|
|
||||||
|
AC_DEFUN([AC_STRUCT_ST_DM_MODE],
|
||||||
|
[AC_CACHE_CHECK([for st_dm_mode in struct stat], ac_cv_struct_st_dm_mode,
|
||||||
|
[AC_TRY_COMPILE([#include <sys/types.h>
|
||||||
|
#include <sys/stat.h>], [struct stat s; s.st_dm_mode;],
|
||||||
|
ac_cv_struct_st_dm_mode=yes,
|
||||||
|
ac_cv_struct_st_dm_mode=no)])
|
||||||
|
|
||||||
|
if test $ac_cv_struct_st_dm_mode = yes; then
|
||||||
|
AC_DEFINE(HAVE_ST_DM_MODE, 1,
|
||||||
|
[Define if struct stat has an st_dm_mode member. ])
|
||||||
|
fi
|
||||||
|
]
|
||||||
|
)
|
||||||
@@ -0,0 +1,32 @@
|
|||||||
|
#serial 5
|
||||||
|
|
||||||
|
dnl From Paul Eggert.
|
||||||
|
|
||||||
|
# Define ST_MTIM_NSEC to be the nanoseconds member of struct stat's st_mtim,
|
||||||
|
# if it exists.
|
||||||
|
|
||||||
|
AC_DEFUN([AC_STRUCT_ST_MTIM_NSEC],
|
||||||
|
[AC_CACHE_CHECK([for nanoseconds member of struct stat.st_mtim],
|
||||||
|
ac_cv_struct_st_mtim_nsec,
|
||||||
|
[ac_save_CPPFLAGS="$CPPFLAGS"
|
||||||
|
ac_cv_struct_st_mtim_nsec=no
|
||||||
|
# tv_nsec -- the usual case
|
||||||
|
# _tv_nsec -- Solaris 2.6, if
|
||||||
|
# (defined _XOPEN_SOURCE && _XOPEN_SOURCE_EXTENDED == 1
|
||||||
|
# && !defined __EXTENSIONS__)
|
||||||
|
# st__tim.tv_nsec -- UnixWare 2.1.2
|
||||||
|
for ac_val in tv_nsec _tv_nsec st__tim.tv_nsec; do
|
||||||
|
CPPFLAGS="$ac_save_CPPFLAGS -DST_MTIM_NSEC=$ac_val"
|
||||||
|
AC_TRY_COMPILE([#include <sys/types.h>
|
||||||
|
#include <sys/stat.h>], [struct stat s; s.st_mtim.ST_MTIM_NSEC;],
|
||||||
|
[ac_cv_struct_st_mtim_nsec=$ac_val; break])
|
||||||
|
done
|
||||||
|
CPPFLAGS="$ac_save_CPPFLAGS"])
|
||||||
|
|
||||||
|
if test $ac_cv_struct_st_mtim_nsec != no; then
|
||||||
|
AC_DEFINE_UNQUOTED(ST_MTIM_NSEC, $ac_cv_struct_st_mtim_nsec,
|
||||||
|
[Define to be the nanoseconds member of struct stat's st_mtim,
|
||||||
|
if it exists.])
|
||||||
|
fi
|
||||||
|
]
|
||||||
|
)
|
||||||
@@ -0,0 +1,40 @@
|
|||||||
|
#serial 7
|
||||||
|
|
||||||
|
dnl From Jim Meyering.
|
||||||
|
dnl Determine whether stat has the bug that it succeeds when given the
|
||||||
|
dnl zero-length file name argument. The stat from SunOS4.1.4 and the Hurd
|
||||||
|
dnl (as of 1998-11-01) do this.
|
||||||
|
dnl
|
||||||
|
dnl If it does, then define HAVE_STAT_EMPTY_STRING_BUG and arrange to
|
||||||
|
dnl compile the wrapper function.
|
||||||
|
dnl
|
||||||
|
|
||||||
|
AC_DEFUN([jm_FUNC_STAT],
|
||||||
|
[
|
||||||
|
AC_REQUIRE([AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK])
|
||||||
|
AC_CACHE_CHECK([whether stat accepts an empty string],
|
||||||
|
jm_cv_func_stat_empty_string_bug,
|
||||||
|
[AC_TRY_RUN([
|
||||||
|
# include <sys/types.h>
|
||||||
|
# include <sys/stat.h>
|
||||||
|
|
||||||
|
int
|
||||||
|
main ()
|
||||||
|
{
|
||||||
|
struct stat sbuf;
|
||||||
|
exit (stat ("", &sbuf) ? 1 : 0);
|
||||||
|
}
|
||||||
|
],
|
||||||
|
jm_cv_func_stat_empty_string_bug=yes,
|
||||||
|
jm_cv_func_stat_empty_string_bug=no,
|
||||||
|
dnl When crosscompiling, assume stat is broken.
|
||||||
|
jm_cv_func_stat_empty_string_bug=yes)
|
||||||
|
])
|
||||||
|
if test $jm_cv_func_stat_empty_string_bug = yes; then
|
||||||
|
AC_LIBOBJ(stat)
|
||||||
|
AC_DEFINE(HAVE_STAT_EMPTY_STRING_BUG, 1,
|
||||||
|
[Define if stat has the bug that it succeeds when given the zero-length
|
||||||
|
file name argument. The stat from SunOS4.1.4 and the Hurd as of 1998-11-01)
|
||||||
|
do this. ])
|
||||||
|
fi
|
||||||
|
])
|
||||||
@@ -0,0 +1,62 @@
|
|||||||
|
# Check for stdbool.h that conforms to C99.
|
||||||
|
|
||||||
|
# Copyright (C) 2002 Free Software Foundation, Inc.
|
||||||
|
|
||||||
|
# This program is free software; you can redistribute it and/or modify
|
||||||
|
# it under the terms of the GNU General Public License as published by
|
||||||
|
# the Free Software Foundation; either version 2, or (at your option)
|
||||||
|
# any later version.
|
||||||
|
|
||||||
|
# This program is distributed in the hope that it will be useful,
|
||||||
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
# GNU General Public License for more details.
|
||||||
|
|
||||||
|
# You should have received a copy of the GNU General Public License
|
||||||
|
# along with this program; if not, write to the Free Software
|
||||||
|
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
|
||||||
|
# 02111-1307, USA.
|
||||||
|
|
||||||
|
AC_DEFUN([AC_HEADER_STDBOOL],
|
||||||
|
[AC_CACHE_CHECK([for stdbool.h that conforms to C99],
|
||||||
|
[ac_cv_header_stdbool_h],
|
||||||
|
[AC_TRY_COMPILE(
|
||||||
|
[
|
||||||
|
#include <stdbool.h>
|
||||||
|
#ifndef bool
|
||||||
|
"error: bool is not defined"
|
||||||
|
#endif
|
||||||
|
#ifndef false
|
||||||
|
"error: false is not defined"
|
||||||
|
#endif
|
||||||
|
#if false
|
||||||
|
"error: false is not 0"
|
||||||
|
#endif
|
||||||
|
#ifndef true
|
||||||
|
"error: false is not defined"
|
||||||
|
#endif
|
||||||
|
#if true != 1
|
||||||
|
"error: true is not 1"
|
||||||
|
#endif
|
||||||
|
#ifndef __bool_true_false_are_defined
|
||||||
|
"error: __bool_true_false_are_defined is not defined"
|
||||||
|
#endif
|
||||||
|
|
||||||
|
struct s { _Bool s: 1; _Bool t; } s;
|
||||||
|
|
||||||
|
char a[true == 1 ? 1 : -1];
|
||||||
|
char b[false == 0 ? 1 : -1];
|
||||||
|
char c[__bool_true_false_are_defined == 1 ? 1 : -1];
|
||||||
|
char d[(bool) -0.5 == true ? 1 : -1];
|
||||||
|
bool e = &s;
|
||||||
|
char f[(_Bool) -0.0 == false ? 1 : -1];
|
||||||
|
char g[true];
|
||||||
|
char h[sizeof (_Bool)];
|
||||||
|
char i[sizeof s.t];
|
||||||
|
],
|
||||||
|
[ return !a + !b + !c + !d + !e + !f + !g + !h + !i; ],
|
||||||
|
[ac_cv_header_stdbool_h=yes],
|
||||||
|
[ac_cv_header_stdbool_h=no])])
|
||||||
|
if test $ac_cv_header_stdbool_h = yes; then
|
||||||
|
AC_DEFINE(HAVE_STDBOOL_H, 1, [Define to 1 if stdbool.h conforms to C99.])
|
||||||
|
fi])
|
||||||
@@ -0,0 +1,43 @@
|
|||||||
|
#serial 17
|
||||||
|
|
||||||
|
dnl This macro is intended to be used solely in this file.
|
||||||
|
dnl These are the prerequisite macros for GNU's strftime.c replacement.
|
||||||
|
AC_DEFUN([_jm_STRFTIME_PREREQS],
|
||||||
|
[
|
||||||
|
dnl strftime.c uses localtime_r and the underyling system strftime
|
||||||
|
dnl if they exist.
|
||||||
|
AC_CHECK_FUNCS(localtime_r strftime)
|
||||||
|
|
||||||
|
AC_CHECK_HEADERS(limits.h)
|
||||||
|
AC_CHECK_FUNCS(bcopy tzset mempcpy memcpy memset)
|
||||||
|
|
||||||
|
# This defines (or not) HAVE_TZNAME and HAVE_TM_ZONE.
|
||||||
|
AC_STRUCT_TIMEZONE
|
||||||
|
|
||||||
|
AC_CHECK_FUNCS(mblen mbrlen)
|
||||||
|
|
||||||
|
AC_CHECK_MEMBER([struct tm.tm_gmtoff],
|
||||||
|
[AC_DEFINE(HAVE_TM_GMTOFF, 1,
|
||||||
|
[Define if struct tm has the tm_gmtoff member.])],
|
||||||
|
,
|
||||||
|
[#include <time.h>])
|
||||||
|
])
|
||||||
|
|
||||||
|
dnl From Jim Meyering.
|
||||||
|
dnl
|
||||||
|
AC_DEFUN([jm_FUNC_GNU_STRFTIME],
|
||||||
|
[AC_REQUIRE([AC_HEADER_TIME])dnl
|
||||||
|
|
||||||
|
_jm_STRFTIME_PREREQS
|
||||||
|
|
||||||
|
AC_REQUIRE([AC_C_CONST])dnl
|
||||||
|
AC_REQUIRE([AC_HEADER_STDC])dnl
|
||||||
|
AC_CHECK_HEADERS(sys/time.h)
|
||||||
|
AC_DEFINE([my_strftime], [nstrftime],
|
||||||
|
[Define to the name of the strftime replacement function.])
|
||||||
|
])
|
||||||
|
|
||||||
|
AC_DEFUN([jm_FUNC_STRFTIME],
|
||||||
|
[
|
||||||
|
_jm_STRFTIME_PREREQS
|
||||||
|
])
|
||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user