mirror of
https://git.openldap.org/openldap/openldap.git
synced 2025-03-07 14:18:15 +08:00
Update 1.1alpha with latest build environment changes from -devel.
includes libtool support includes select yield changes headers updates Apply strdup() -> ldap_strdup() patch.
This commit is contained in:
parent
3801e6639f
commit
5aad6b2e01
31
Makefile.in
Normal file
31
Makefile.in
Normal file
@ -0,0 +1,31 @@
|
||||
# Master Makefile for OpenLDAP
|
||||
# Copyright 1998 The OpenLDAP Foundation, All Rights Reserved.
|
||||
# COPYING RESTRICTIONS APPLY, See COPYRIGHT file
|
||||
|
||||
SUBDIRS= include libraries clients servers # contrib
|
||||
CLEANDIRS= tests doc
|
||||
INSTALLDIRS= doc
|
||||
|
||||
makefiles: FORCE
|
||||
./config.status
|
||||
|
||||
${srcdir}/configure: configure.in aclocal.m4
|
||||
cd ${srcdir} && autoconf
|
||||
|
||||
# autoheader might not change portable.h.in, so touch a stamp file
|
||||
${srcdir}/include/portable.h.in: stamp-h.in
|
||||
${srcdir}/stamp-h.in: configure.in aclocal.m4 acconfig.h \
|
||||
${srcdir}/include/portable.h.top ${srcdir}/include/portable.h.bot
|
||||
cd ${srcdir} && autoheader
|
||||
@echo timestamp > ${srcdir}/stamp-h.in
|
||||
|
||||
./include/portable.h: stamp-h
|
||||
stamp-h: config.h.in config.status
|
||||
./config.status
|
||||
|
||||
Makefile: Makefile.in config.status
|
||||
./config.status
|
||||
|
||||
config.status: configure
|
||||
./config.status --recheck
|
||||
|
18
acconfig.h
18
acconfig.h
@ -24,6 +24,9 @@
|
||||
/* define this if sys_errlist is not defined in stdio.h or errno.h */
|
||||
#undef DECL_SYS_ERRLIST
|
||||
|
||||
/* define this if TIOCGWINSZ is defined in sys/ioctl.h */
|
||||
#undef GWINSZ_IN_SYS_IOCTL
|
||||
|
||||
/* define if you have berkeley db */
|
||||
#undef HAVE_BERKELEY_DB
|
||||
|
||||
@ -60,12 +63,12 @@
|
||||
/* define if you have Mach CThreads */
|
||||
#undef HAVE_MACH_CTHREADS
|
||||
|
||||
/* define if you have POSIX termios */
|
||||
#undef HAVE_POSIX_TERMIOS
|
||||
|
||||
/* define if you have PP */
|
||||
#undef HAVE_PP
|
||||
|
||||
/* define if you have a preemptive POSIX Threads implementation */
|
||||
#undef HAVE_PREEMPTIVE_PTHREADS
|
||||
|
||||
/* define if you have POSIX Threads */
|
||||
#undef HAVE_PTHREADS
|
||||
|
||||
@ -75,6 +78,9 @@
|
||||
/* define if your POSIX Threads implementation is circa Draft 4 */
|
||||
#undef HAVE_PTHREADS_D4
|
||||
|
||||
/* define if you have ptrdiff_t */
|
||||
#undef HAVE_PTRDIFF_T
|
||||
|
||||
/* define if you have sched_yield() */
|
||||
#ifdef __notdef__
|
||||
/* see second sched_yield define */
|
||||
@ -96,6 +102,9 @@
|
||||
/* define if you have XTPP */
|
||||
#undef HAVE_XTPP
|
||||
|
||||
/* define this if select() implicitly yields in thread environments */
|
||||
#undef HAVE_YIELDING_SELECT
|
||||
|
||||
/* define this for connectionless LDAP support */
|
||||
#undef LDAP_CONNECTIONLESS
|
||||
|
||||
@ -141,9 +150,6 @@
|
||||
/* define this if you want no thread support */
|
||||
#undef NO_THREADS
|
||||
|
||||
/* define this if the thread package is preemptive */
|
||||
#undef PREEMPTIVE_THREADS
|
||||
|
||||
/* define this for ACL Group support */
|
||||
#undef SLAPD_ACLGROUPS
|
||||
|
||||
|
4
acinclude.m4
Normal file
4
acinclude.m4
Normal file
@ -0,0 +1,4 @@
|
||||
dnl
|
||||
dnl OpenLDAP Autoconf Macros
|
||||
dnl
|
||||
builtin(include, build/openldap.m4)dnl
|
698
aclocal.m4
vendored
Normal file
698
aclocal.m4
vendored
Normal file
@ -0,0 +1,698 @@
|
||||
dnl aclocal.m4 generated automatically by aclocal 1.3
|
||||
|
||||
dnl Copyright (C) 1994, 1995, 1996, 1997, 1998 Free Software Foundation, Inc.
|
||||
dnl This Makefile.in is free software; the Free Software Foundation
|
||||
dnl gives unlimited permission to copy and/or distribute it,
|
||||
dnl with or without modifications, as long as this notice is preserved.
|
||||
|
||||
dnl This program is distributed in the hope that it will be useful,
|
||||
dnl but WITHOUT ANY WARRANTY, to the extent permitted by law; without
|
||||
dnl even the implied warranty of MERCHANTABILITY or FITNESS FOR A
|
||||
dnl PARTICULAR PURPOSE.
|
||||
|
||||
dnl
|
||||
dnl OpenLDAP Autoconf Macros
|
||||
dnl
|
||||
builtin(include, build/openldap.m4)dnl
|
||||
|
||||
# Do all the work for Automake. This macro actually does too much --
|
||||
# some checks are only needed if your package does certain things.
|
||||
# But this isn't really a big deal.
|
||||
|
||||
# serial 1
|
||||
|
||||
dnl Usage:
|
||||
dnl AM_INIT_AUTOMAKE(package,version, [no-define])
|
||||
|
||||
AC_DEFUN(AM_INIT_AUTOMAKE,
|
||||
[AC_REQUIRE([AM_PROG_INSTALL])
|
||||
PACKAGE=[$1]
|
||||
AC_SUBST(PACKAGE)
|
||||
VERSION=[$2]
|
||||
AC_SUBST(VERSION)
|
||||
dnl test to see if srcdir already configured
|
||||
if test "`cd $srcdir && pwd`" != "`pwd`" && test -f $srcdir/config.status; then
|
||||
AC_MSG_ERROR([source directory already configured; run "make distclean" there first])
|
||||
fi
|
||||
ifelse([$3],,
|
||||
AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE")
|
||||
AC_DEFINE_UNQUOTED(VERSION, "$VERSION"))
|
||||
AC_REQUIRE([AM_SANITY_CHECK])
|
||||
AC_REQUIRE([AC_ARG_PROGRAM])
|
||||
dnl FIXME This is truly gross.
|
||||
missing_dir=`cd $ac_aux_dir && pwd`
|
||||
AM_MISSING_PROG(ACLOCAL, aclocal, $missing_dir)
|
||||
AM_MISSING_PROG(AUTOCONF, autoconf, $missing_dir)
|
||||
AM_MISSING_PROG(AUTOMAKE, automake, $missing_dir)
|
||||
AM_MISSING_PROG(AUTOHEADER, autoheader, $missing_dir)
|
||||
AM_MISSING_PROG(MAKEINFO, makeinfo, $missing_dir)
|
||||
AC_REQUIRE([AC_PROG_MAKE_SET])])
|
||||
|
||||
|
||||
# serial 1
|
||||
|
||||
AC_DEFUN(AM_PROG_INSTALL,
|
||||
[AC_REQUIRE([AC_PROG_INSTALL])
|
||||
test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL_PROGRAM}'
|
||||
AC_SUBST(INSTALL_SCRIPT)dnl
|
||||
])
|
||||
|
||||
#
|
||||
# Check to make sure that the build environment is sane.
|
||||
#
|
||||
|
||||
AC_DEFUN(AM_SANITY_CHECK,
|
||||
[AC_MSG_CHECKING([whether build environment is sane])
|
||||
# Just in case
|
||||
sleep 1
|
||||
echo timestamp > conftestfile
|
||||
# Do `set' in a subshell so we don't clobber the current shell's
|
||||
# arguments. Must try -L first in case configure is actually a
|
||||
# symlink; some systems play weird games with the mod time of symlinks
|
||||
# (eg FreeBSD returns the mod time of the symlink's containing
|
||||
# directory).
|
||||
if (
|
||||
set X `ls -Lt $srcdir/configure conftestfile 2> /dev/null`
|
||||
if test "[$]*" = "X"; then
|
||||
# -L didn't work.
|
||||
set X `ls -t $srcdir/configure conftestfile`
|
||||
fi
|
||||
if test "[$]*" != "X $srcdir/configure conftestfile" \
|
||||
&& test "[$]*" != "X conftestfile $srcdir/configure"; then
|
||||
|
||||
# If neither matched, then we have a broken ls. This can happen
|
||||
# if, for instance, CONFIG_SHELL is bash and it inherits a
|
||||
# broken ls alias from the environment. This has actually
|
||||
# happened. Such a system could not be considered "sane".
|
||||
AC_MSG_ERROR([ls -t appears to fail. Make sure there is not a broken
|
||||
alias in your environment])
|
||||
fi
|
||||
|
||||
test "[$]2" = conftestfile
|
||||
)
|
||||
then
|
||||
# Ok.
|
||||
:
|
||||
else
|
||||
AC_MSG_ERROR([newly created file is older than distributed files!
|
||||
Check your system clock])
|
||||
fi
|
||||
rm -f conftest*
|
||||
AC_MSG_RESULT(yes)])
|
||||
|
||||
dnl AM_MISSING_PROG(NAME, PROGRAM, DIRECTORY)
|
||||
dnl The program must properly implement --version.
|
||||
AC_DEFUN(AM_MISSING_PROG,
|
||||
[AC_MSG_CHECKING(for working $2)
|
||||
# Run test in a subshell; some versions of sh will print an error if
|
||||
# an executable is not found, even if stderr is redirected.
|
||||
# Redirect stdin to placate older versions of autoconf. Sigh.
|
||||
if ($2 --version) < /dev/null > /dev/null 2>&1; then
|
||||
$1=$2
|
||||
AC_MSG_RESULT(found)
|
||||
else
|
||||
$1="$3/missing $2"
|
||||
AC_MSG_RESULT(missing)
|
||||
fi
|
||||
AC_SUBST($1)])
|
||||
|
||||
|
||||
# serial 24 AM_PROG_LIBTOOL
|
||||
AC_DEFUN(AM_PROG_LIBTOOL,
|
||||
[AC_REQUIRE([AM_ENABLE_SHARED])dnl
|
||||
AC_REQUIRE([AM_ENABLE_STATIC])dnl
|
||||
AC_REQUIRE([AC_CANONICAL_HOST])dnl
|
||||
AC_REQUIRE([AC_PROG_RANLIB])dnl
|
||||
AC_REQUIRE([AC_PROG_CC])dnl
|
||||
AC_REQUIRE([AM_PROG_LD])dnl
|
||||
AC_REQUIRE([AM_PROG_NM])dnl
|
||||
AC_REQUIRE([AC_PROG_LN_S])dnl
|
||||
dnl
|
||||
# Always use our own libtool.
|
||||
LIBTOOL='$(SHELL) $(top_builddir)/libtool'
|
||||
AC_SUBST(LIBTOOL)dnl
|
||||
|
||||
# Check for any special flags to pass to ltconfig.
|
||||
libtool_flags=
|
||||
test "$enable_shared" = no && libtool_flags="$libtool_flags --disable-shared"
|
||||
test "$enable_static" = no && libtool_flags="$libtool_flags --disable-static"
|
||||
test "$silent" = yes && libtool_flags="$libtool_flags --silent"
|
||||
test "$ac_cv_prog_gcc" = yes && libtool_flags="$libtool_flags --with-gcc"
|
||||
test "$ac_cv_prog_gnu_ld" = yes && libtool_flags="$libtool_flags --with-gnu-ld"
|
||||
|
||||
# Some flags need to be propagated to the compiler or linker for good
|
||||
# libtool support.
|
||||
case "$host" in
|
||||
*-*-irix6*)
|
||||
# Find out which ABI we are using.
|
||||
echo '[#]line __oline__ "configure"' > conftest.$ac_ext
|
||||
if AC_TRY_EVAL(ac_compile); then
|
||||
case "`/usr/bin/file conftest.o`" in
|
||||
*32-bit*)
|
||||
LD="${LD-ld} -32"
|
||||
;;
|
||||
*N32*)
|
||||
LD="${LD-ld} -n32"
|
||||
;;
|
||||
*64-bit*)
|
||||
LD="${LD-ld} -64"
|
||||
;;
|
||||
esac
|
||||
fi
|
||||
rm -rf conftest*
|
||||
;;
|
||||
|
||||
*-*-sco3.2v5*)
|
||||
# On SCO OpenServer 5, we need -belf to get full-featured binaries.
|
||||
CFLAGS="$CFLAGS -belf"
|
||||
;;
|
||||
esac
|
||||
|
||||
# Actually configure libtool. ac_aux_dir is where install-sh is found.
|
||||
CC="$CC" CFLAGS="$CFLAGS" CPPFLAGS="$CPPFLAGS" \
|
||||
LD="$LD" NM="$NM" RANLIB="$RANLIB" LN_S="$LN_S" \
|
||||
${CONFIG_SHELL-/bin/sh} $ac_aux_dir/ltconfig \
|
||||
$libtool_flags --no-verify $ac_aux_dir/ltmain.sh $host \
|
||||
|| AC_MSG_ERROR([libtool configure failed])
|
||||
])
|
||||
|
||||
# AM_ENABLE_SHARED - implement the --enable-shared flag
|
||||
# Usage: AM_ENABLE_SHARED[(DEFAULT)]
|
||||
# Where DEFAULT is either `yes' or `no'. If omitted, it defaults to
|
||||
# `yes'.
|
||||
AC_DEFUN(AM_ENABLE_SHARED,
|
||||
[define([AM_ENABLE_SHARED_DEFAULT], ifelse($1, no, no, yes))dnl
|
||||
AC_ARG_ENABLE(shared,
|
||||
changequote(<<, >>)dnl
|
||||
<< --enable-shared build shared libraries [default=>>AM_ENABLE_SHARED_DEFAULT]
|
||||
changequote([, ])dnl
|
||||
[ --enable-shared=PKGS only build shared libraries if the current package
|
||||
appears as an element in the PKGS list],
|
||||
[p=${PACKAGE-default}
|
||||
case "$enableval" in
|
||||
yes) enable_shared=yes ;;
|
||||
no) enable_shared=no ;;
|
||||
*)
|
||||
enable_shared=no
|
||||
# Look at the argument we got. We use all the common list separators.
|
||||
IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:,"
|
||||
for pkg in $enableval; do
|
||||
if test "X$pkg" = "X$p"; then
|
||||
enable_shared=yes
|
||||
fi
|
||||
done
|
||||
IFS="$ac_save_ifs"
|
||||
;;
|
||||
esac],
|
||||
enable_shared=AM_ENABLE_SHARED_DEFAULT)dnl
|
||||
])
|
||||
|
||||
# AM_DISABLE_SHARED - set the default shared flag to --disable-shared
|
||||
AC_DEFUN(AM_DISABLE_SHARED,
|
||||
[AM_ENABLE_SHARED(no)])
|
||||
|
||||
# AM_DISABLE_STATIC - set the default static flag to --disable-static
|
||||
AC_DEFUN(AM_DISABLE_STATIC,
|
||||
[AM_ENABLE_STATIC(no)])
|
||||
|
||||
# AM_ENABLE_STATIC - implement the --enable-static flag
|
||||
# Usage: AM_ENABLE_STATIC[(DEFAULT)]
|
||||
# Where DEFAULT is either `yes' or `no'. If omitted, it defaults to
|
||||
# `yes'.
|
||||
AC_DEFUN(AM_ENABLE_STATIC,
|
||||
[define([AM_ENABLE_STATIC_DEFAULT], ifelse($1, no, no, yes))dnl
|
||||
AC_ARG_ENABLE(static,
|
||||
changequote(<<, >>)dnl
|
||||
<< --enable-static build static libraries [default=>>AM_ENABLE_STATIC_DEFAULT]
|
||||
changequote([, ])dnl
|
||||
[ --enable-static=PKGS only build shared libraries if the current package
|
||||
appears as an element in the PKGS list],
|
||||
[p=${PACKAGE-default}
|
||||
case "$enableval" in
|
||||
yes) enable_static=yes ;;
|
||||
no) enable_static=no ;;
|
||||
*)
|
||||
enable_static=no
|
||||
# Look at the argument we got. We use all the common list separators.
|
||||
IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:,"
|
||||
for pkg in $enableval; do
|
||||
if test "X$pkg" = "X$p"; then
|
||||
enable_static=yes
|
||||
fi
|
||||
done
|
||||
IFS="$ac_save_ifs"
|
||||
;;
|
||||
esac],
|
||||
enable_static=AM_ENABLE_STATIC_DEFAULT)dnl
|
||||
])
|
||||
|
||||
|
||||
# AM_PROG_LD - find the path to the GNU or non-GNU linker
|
||||
AC_DEFUN(AM_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])
|
||||
ac_prog=ld
|
||||
if test "$ac_cv_prog_gcc" = yes; then
|
||||
# Check if gcc -print-prog-name=ld gives a path.
|
||||
AC_MSG_CHECKING([for ld used by GCC])
|
||||
ac_prog=`($CC -print-prog-name=ld) 2>&5`
|
||||
case "$ac_prog" in
|
||||
# Accept absolute paths.
|
||||
/* | [A-Za-z]:\\*)
|
||||
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(ac_cv_path_LD,
|
||||
[if test -z "$LD"; then
|
||||
IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:"
|
||||
for ac_dir in $PATH; do
|
||||
test -z "$ac_dir" && ac_dir=.
|
||||
if test -f "$ac_dir/$ac_prog"; then
|
||||
ac_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 "$ac_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
|
||||
ac_cv_path_LD="$LD" # Let the user override the test with a path.
|
||||
fi])
|
||||
LD="$ac_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_SUBST(LD)
|
||||
AM_PROG_LD_GNU
|
||||
])
|
||||
|
||||
AC_DEFUN(AM_PROG_LD_GNU,
|
||||
[AC_CACHE_CHECK([if the linker ($LD) is GNU ld], ac_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
|
||||
ac_cv_prog_gnu_ld=yes
|
||||
else
|
||||
ac_cv_prog_gnu_ld=no
|
||||
fi])
|
||||
])
|
||||
|
||||
# AM_PROG_NM - find the path to a BSD-compatible name lister
|
||||
AC_DEFUN(AM_PROG_NM,
|
||||
[AC_MSG_CHECKING([for BSD-compatible nm])
|
||||
AC_CACHE_VAL(ac_cv_path_NM,
|
||||
[case "$NM" in
|
||||
/* | [A-Za-z]:\\*)
|
||||
ac_cv_path_NM="$NM" # Let the user override the test with a path.
|
||||
;;
|
||||
*)
|
||||
IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:"
|
||||
for ac_dir in /usr/ucb /usr/ccs/bin $PATH /bin; do
|
||||
test -z "$ac_dir" && ac_dir=.
|
||||
if test -f $ac_dir/nm; then
|
||||
# Check to see if the nm accepts a BSD-compat flag.
|
||||
# Adding the `sed 1q' prevents false positives on HP-UX, which says:
|
||||
# nm: unknown option "B" ignored
|
||||
if ($ac_dir/nm -B /dev/null 2>&1 | sed '1q'; exit 0) | egrep /dev/null >/dev/null; then
|
||||
ac_cv_path_NM="$ac_dir/nm -B"
|
||||
elif ($ac_dir/nm -p /dev/null 2>&1 | sed '1q'; exit 0) | egrep /dev/null >/dev/null; then
|
||||
ac_cv_path_NM="$ac_dir/nm -p"
|
||||
else
|
||||
ac_cv_path_NM="$ac_dir/nm"
|
||||
fi
|
||||
break
|
||||
fi
|
||||
done
|
||||
IFS="$ac_save_ifs"
|
||||
test -z "$ac_cv_path_NM" && ac_cv_path_NM=nm
|
||||
;;
|
||||
esac])
|
||||
NM="$ac_cv_path_NM"
|
||||
AC_MSG_RESULT([$NM])
|
||||
AC_SUBST(NM)
|
||||
])
|
||||
|
||||
|
||||
# serial 1
|
||||
|
||||
# @defmac AC_PROG_CC_STDC
|
||||
# @maindex PROG_CC_STDC
|
||||
# @ovindex CC
|
||||
# If the C compiler in not in ANSI C mode by default, try to add an option
|
||||
# to output variable @code{CC} to make it so. This macro tries various
|
||||
# options that select ANSI C on some system or another. It considers the
|
||||
# compiler to be in ANSI C mode if it handles function prototypes correctly.
|
||||
#
|
||||
# If you use this macro, you should check after calling it whether the C
|
||||
# compiler has been set to accept ANSI C; if not, the shell variable
|
||||
# @code{am_cv_prog_cc_stdc} is set to @samp{no}. If you wrote your source
|
||||
# code in ANSI C, you can make an un-ANSIfied copy of it by using the
|
||||
# program @code{ansi2knr}, which comes with Ghostscript.
|
||||
# @end defmac
|
||||
|
||||
AC_DEFUN(AM_PROG_CC_STDC,
|
||||
[AC_REQUIRE([AC_PROG_CC])
|
||||
AC_BEFORE([$0], [AC_C_INLINE])
|
||||
AC_BEFORE([$0], [AC_C_CONST])
|
||||
dnl Force this before AC_PROG_CPP. Some cpp's, eg on HPUX, require
|
||||
dnl a magic option to avoid problems with ANSI preprocessor commands
|
||||
dnl like #elif.
|
||||
dnl FIXME: can't do this because then AC_AIX won't work due to a
|
||||
dnl circular dependency.
|
||||
dnl AC_BEFORE([$0], [AC_PROG_CPP])
|
||||
AC_MSG_CHECKING(for ${CC-cc} option to accept ANSI C)
|
||||
AC_CACHE_VAL(am_cv_prog_cc_stdc,
|
||||
[am_cv_prog_cc_stdc=no
|
||||
ac_save_CC="$CC"
|
||||
# Don't try gcc -ansi; that turns off useful extensions and
|
||||
# breaks some systems' header files.
|
||||
# AIX -qlanglvl=ansi
|
||||
# Ultrix and OSF/1 -std1
|
||||
# HP-UX -Aa -D_HPUX_SOURCE
|
||||
# SVR4 -Xc -D__EXTENSIONS__
|
||||
for ac_arg in "" -qlanglvl=ansi -std1 "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__"
|
||||
do
|
||||
CC="$ac_save_CC $ac_arg"
|
||||
AC_TRY_COMPILE(
|
||||
[#include <stdarg.h>
|
||||
#include <stdio.h>
|
||||
#include <sys/types.h>
|
||||
#include <sys/stat.h>
|
||||
/* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */
|
||||
struct buf { int x; };
|
||||
FILE * (*rcsopen) (struct buf *, struct stat *, int);
|
||||
static char *e (p, i)
|
||||
char **p;
|
||||
int i;
|
||||
{
|
||||
return p[i];
|
||||
}
|
||||
static char *f (char * (*g) (char **, int), char **p, ...)
|
||||
{
|
||||
char *s;
|
||||
va_list v;
|
||||
va_start (v,p);
|
||||
s = g (p, va_arg (v,int));
|
||||
va_end (v);
|
||||
return s;
|
||||
}
|
||||
int test (int i, double x);
|
||||
struct s1 {int (*f) (int a);};
|
||||
struct s2 {int (*f) (double a);};
|
||||
int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int);
|
||||
int argc;
|
||||
char **argv;
|
||||
], [
|
||||
return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1];
|
||||
],
|
||||
[am_cv_prog_cc_stdc="$ac_arg"; break])
|
||||
done
|
||||
CC="$ac_save_CC"
|
||||
])
|
||||
if test -z "$am_cv_prog_cc_stdc"; then
|
||||
AC_MSG_RESULT([none needed])
|
||||
else
|
||||
AC_MSG_RESULT($am_cv_prog_cc_stdc)
|
||||
fi
|
||||
case "x$am_cv_prog_cc_stdc" in
|
||||
x|xno) ;;
|
||||
*) CC="$CC $am_cv_prog_cc_stdc" ;;
|
||||
esac
|
||||
])
|
||||
|
||||
dnl From Jim Meyering.
|
||||
|
||||
# serial 1
|
||||
|
||||
AC_DEFUN(AM_HEADER_TIOCGWINSZ_NEEDS_SYS_IOCTL,
|
||||
[AC_REQUIRE([AM_SYS_POSIX_TERMIOS])
|
||||
AC_CACHE_CHECK([whether use of TIOCGWINSZ requires sys/ioctl.h],
|
||||
am_cv_sys_tiocgwinsz_needs_sys_ioctl_h,
|
||||
[am_cv_sys_tiocgwinsz_needs_sys_ioctl_h=no
|
||||
|
||||
gwinsz_in_termios_h=no
|
||||
if test $am_cv_sys_posix_termios = yes; then
|
||||
AC_EGREP_CPP([yes],
|
||||
[#include <sys/types.h>
|
||||
# include <termios.h>
|
||||
# ifdef TIOCGWINSZ
|
||||
yes
|
||||
# endif
|
||||
], gwinsz_in_termios_h=yes)
|
||||
fi
|
||||
|
||||
if test $gwinsz_in_termios_h = no; then
|
||||
AC_EGREP_CPP([yes],
|
||||
[#include <sys/types.h>
|
||||
# include <sys/ioctl.h>
|
||||
# ifdef TIOCGWINSZ
|
||||
yes
|
||||
# endif
|
||||
], am_cv_sys_tiocgwinsz_needs_sys_ioctl_h=yes)
|
||||
fi
|
||||
])
|
||||
if test $am_cv_sys_tiocgwinsz_needs_sys_ioctl_h = yes; then
|
||||
AC_DEFINE(GWINSZ_IN_SYS_IOCTL)
|
||||
fi
|
||||
])
|
||||
|
||||
dnl From Jim Meyering.
|
||||
|
||||
# serial 1
|
||||
|
||||
AC_DEFUN(AM_SYS_POSIX_TERMIOS,
|
||||
[AC_CACHE_CHECK([POSIX termios], am_cv_sys_posix_termios,
|
||||
[AC_TRY_LINK([#include <sys/types.h>
|
||||
#include <unistd.h>
|
||||
#include <termios.h>],
|
||||
[/* SunOS 4.0.3 has termios.h but not the library calls. */
|
||||
tcgetattr(0, 0);],
|
||||
am_cv_sys_posix_termios=yes,
|
||||
am_cv_sys_posix_termios=no)])
|
||||
])
|
||||
|
||||
# From Ulrich Drepper.
|
||||
|
||||
# serial 1
|
||||
|
||||
AC_DEFUN(AM_TYPE_PTRDIFF_T,
|
||||
[AC_CACHE_CHECK([for ptrdiff_t], am_cv_type_ptrdiff_t,
|
||||
[AC_TRY_COMPILE([#include <stddef.h>], [ptrdiff_t p],
|
||||
am_cv_type_ptrdiff_t=yes, am_cv_type_ptrdiff_t=no)])
|
||||
if test $am_cv_type_ptrdiff_t = yes; then
|
||||
AC_DEFINE(HAVE_PTRDIFF_T)
|
||||
fi
|
||||
])
|
||||
|
||||
#serial 4
|
||||
|
||||
dnl From Jim Meyering.
|
||||
dnl FIXME: this should migrate into libit.
|
||||
|
||||
AC_DEFUN(AM_FUNC_MKTIME,
|
||||
[AC_REQUIRE([AC_HEADER_TIME])dnl
|
||||
AC_CHECK_HEADERS(sys/time.h unistd.h)
|
||||
AC_CHECK_FUNCS(alarm)
|
||||
AC_CACHE_CHECK([for working mktime], am_cv_func_working_mktime,
|
||||
[AC_TRY_RUN(
|
||||
changequote(<<, >>)dnl
|
||||
<</* Test program from Paul Eggert (eggert@twinsun.com)
|
||||
and Tony Leneis (tony@plaza.ds.adp.com). */
|
||||
#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_UNISTD_H
|
||||
# include <unistd.h>
|
||||
#endif
|
||||
|
||||
#if !HAVE_ALARM
|
||||
# define alarm(X) /* empty */
|
||||
#endif
|
||||
|
||||
/* Work around redefinition to rpl_putenv by other config tests. */
|
||||
#undef putenv
|
||||
|
||||
static time_t time_t_max;
|
||||
|
||||
/* Values we'll use to set the TZ environment variable. */
|
||||
static const char *const tz_strings[] = {
|
||||
(const char *) 0, "GMT0", "JST-9",
|
||||
"EST+3EDT+2,M10.1.0/00:00:00,M2.3.0/00:00:00"
|
||||
};
|
||||
#define N_STRINGS (sizeof (tz_strings) / sizeof (tz_strings[0]))
|
||||
|
||||
static void
|
||||
mktime_test (now)
|
||||
time_t now;
|
||||
{
|
||||
struct tm *lt;
|
||||
if ((lt = localtime (&now)) && mktime (lt) != now)
|
||||
exit (1);
|
||||
now = time_t_max - now;
|
||||
if ((lt = localtime (&now)) && mktime (lt) != now)
|
||||
exit (1);
|
||||
}
|
||||
|
||||
static void
|
||||
irix_6_4_bug ()
|
||||
{
|
||||
/* Based on code from Ariel Faigon. */
|
||||
struct tm tm;
|
||||
tm.tm_year = 96;
|
||||
tm.tm_mon = 3;
|
||||
tm.tm_mday = 0;
|
||||
tm.tm_hour = 0;
|
||||
tm.tm_min = 0;
|
||||
tm.tm_sec = 0;
|
||||
tm.tm_isdst = -1;
|
||||
mktime (&tm);
|
||||
if (tm.tm_mon != 2 || tm.tm_mday != 31)
|
||||
exit (1);
|
||||
}
|
||||
|
||||
static void
|
||||
bigtime_test (j)
|
||||
int j;
|
||||
{
|
||||
struct tm tm;
|
||||
time_t now;
|
||||
tm.tm_year = tm.tm_mon = tm.tm_mday = tm.tm_hour = tm.tm_min = tm.tm_sec = j;
|
||||
/* This test makes some buggy mktime implementations loop.
|
||||
Give up after 10 seconds. */
|
||||
alarm (10);
|
||||
now = mktime (&tm);
|
||||
alarm (0);
|
||||
if (now != (time_t) -1)
|
||||
{
|
||||
struct tm *lt = localtime (&now);
|
||||
if (! (lt
|
||||
&& lt->tm_year == tm.tm_year
|
||||
&& lt->tm_mon == tm.tm_mon
|
||||
&& lt->tm_mday == tm.tm_mday
|
||||
&& lt->tm_hour == tm.tm_hour
|
||||
&& lt->tm_min == tm.tm_min
|
||||
&& lt->tm_sec == tm.tm_sec
|
||||
&& lt->tm_yday == tm.tm_yday
|
||||
&& lt->tm_wday == tm.tm_wday
|
||||
&& ((lt->tm_isdst < 0 ? -1 : 0 < lt->tm_isdst)
|
||||
== (tm.tm_isdst < 0 ? -1 : 0 < tm.tm_isdst))))
|
||||
exit (1);
|
||||
}
|
||||
}
|
||||
|
||||
int
|
||||
main ()
|
||||
{
|
||||
time_t t, delta;
|
||||
int i, j;
|
||||
|
||||
for (time_t_max = 1; 0 < time_t_max; time_t_max *= 2)
|
||||
continue;
|
||||
time_t_max--;
|
||||
delta = time_t_max / 997; /* a suitable prime number */
|
||||
for (i = 0; i < N_STRINGS; i++)
|
||||
{
|
||||
if (tz_strings[i])
|
||||
putenv (tz_strings[i]);
|
||||
|
||||
for (t = 0; t <= time_t_max - delta; t += delta)
|
||||
mktime_test (t);
|
||||
mktime_test ((time_t) 60 * 60);
|
||||
mktime_test ((time_t) 60 * 60 * 24);
|
||||
|
||||
for (j = 1; 0 < j; j *= 2)
|
||||
bigtime_test (j);
|
||||
bigtime_test (j - 1);
|
||||
}
|
||||
irix_6_4_bug ();
|
||||
exit (0);
|
||||
}
|
||||
>>,
|
||||
changequote([, ])dnl
|
||||
am_cv_func_working_mktime=yes, am_cv_func_working_mktime=no,
|
||||
dnl When crosscompiling, assume mktime is missing or broken.
|
||||
am_cv_func_working_mktime=no)
|
||||
])
|
||||
if test $am_cv_func_working_mktime = no; then
|
||||
LIBOBJS="$LIBOBJS mktime.o"
|
||||
fi
|
||||
])
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
AC_DEFUN(AM_FUNC_STRTOD,
|
||||
[AC_CACHE_CHECK(for working strtod, am_cv_func_strtod,
|
||||
[AC_TRY_RUN([
|
||||
double strtod ();
|
||||
int
|
||||
main()
|
||||
{
|
||||
{
|
||||
/* Some versions of Linux strtod mis-parse strings with leading '+'. */
|
||||
char *string = " +69";
|
||||
char *term;
|
||||
double value;
|
||||
value = strtod (string, &term);
|
||||
if (value != 69 || term != (string + 4))
|
||||
exit (1);
|
||||
}
|
||||
|
||||
{
|
||||
/* Under Solaris 2.4, strtod returns the wrong value for the
|
||||
terminating character under some conditions. */
|
||||
char *string = "NaN";
|
||||
char *term;
|
||||
strtod (string, &term);
|
||||
if (term != string && *(term - 1) == 0)
|
||||
exit (1);
|
||||
}
|
||||
exit (0);
|
||||
}
|
||||
], am_cv_func_strtod=yes, am_cv_func_strtod=no, am_cv_func_strtod=no)])
|
||||
test $am_cv_func_strtod = no && LIBOBJS="$LIBOBJS strtod.o"
|
||||
AC_SUBST(LIBOBJS)dnl
|
||||
am_cv_func_strtod_needs_libm=no
|
||||
if test $am_cv_func_strtod = no; then
|
||||
AC_CHECK_FUNCS(pow)
|
||||
if test $ac_cv_func_pow = no; then
|
||||
AC_CHECK_LIB(m, pow, [am_cv_func_strtod_needs_libm=yes],
|
||||
[AC_MSG_WARN(can't find library containing definition of pow)])
|
||||
fi
|
||||
fi
|
||||
])
|
||||
|
883
build/config.guess
vendored
Executable file
883
build/config.guess
vendored
Executable file
@ -0,0 +1,883 @@
|
||||
#! /bin/sh
|
||||
# Attempt to guess a canonical system name.
|
||||
# Copyright (C) 1992, 93, 94, 95, 96, 1997 Free Software Foundation, Inc.
|
||||
#
|
||||
# This file is free software; you can redistribute it and/or modify it
|
||||
# under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation; either version 2 of the License, or
|
||||
# (at your option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful, but
|
||||
# WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
# General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program; if not, write to the Free Software
|
||||
# Foundation, Inc., 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.
|
||||
|
||||
# Written by Per Bothner <bothner@cygnus.com>.
|
||||
# The master version of this file is at the FSF in /home/gd/gnu/lib.
|
||||
#
|
||||
# This script attempts to guess a canonical system name similar to
|
||||
# config.sub. If it succeeds, it prints the system name on stdout, and
|
||||
# exits with 0. Otherwise, it exits with 1.
|
||||
#
|
||||
# The plan is that this can be called by configure scripts if you
|
||||
# don't specify an explicit system type (host/target name).
|
||||
#
|
||||
# Only a few systems have been added to this list; please add others
|
||||
# (but try to keep the structure clean).
|
||||
#
|
||||
|
||||
# This is needed to find uname on a Pyramid OSx when run in the BSD universe.
|
||||
# (ghazi@noc.rutgers.edu 8/24/94.)
|
||||
if (test -f /.attbin/uname) >/dev/null 2>&1 ; then
|
||||
PATH=$PATH:/.attbin ; export PATH
|
||||
fi
|
||||
|
||||
UNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown
|
||||
UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown
|
||||
UNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown
|
||||
UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown
|
||||
|
||||
trap 'rm -f dummy.c dummy.o dummy; exit 1' 1 2 15
|
||||
|
||||
# Note: order is significant - the case branches are not exclusive.
|
||||
|
||||
case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
|
||||
alpha:OSF1:*:*)
|
||||
if test $UNAME_RELEASE = "V4.0"; then
|
||||
UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'`
|
||||
fi
|
||||
# A Vn.n version is a released version.
|
||||
# A Tn.n version is a released field test version.
|
||||
# A Xn.n version is an unreleased experimental baselevel.
|
||||
# 1.2 uses "1.2" for uname -r.
|
||||
cat <<EOF >dummy.s
|
||||
.globl main
|
||||
.ent main
|
||||
main:
|
||||
.frame \$30,0,\$26,0
|
||||
.prologue 0
|
||||
.long 0x47e03d80 # implver $0
|
||||
lda \$2,259
|
||||
.long 0x47e20c21 # amask $2,$1
|
||||
srl \$1,8,\$2
|
||||
sll \$2,2,\$2
|
||||
sll \$0,3,\$0
|
||||
addl \$1,\$0,\$0
|
||||
addl \$2,\$0,\$0
|
||||
ret \$31,(\$26),1
|
||||
.end main
|
||||
EOF
|
||||
${CC-cc} dummy.s -o dummy 2>/dev/null
|
||||
if test "$?" = 0 ; then
|
||||
./dummy
|
||||
case "$?" in
|
||||
7)
|
||||
UNAME_MACHINE="alpha"
|
||||
;;
|
||||
15)
|
||||
UNAME_MACHINE="alphaev5"
|
||||
;;
|
||||
14)
|
||||
UNAME_MACHINE="alphaev56"
|
||||
;;
|
||||
10)
|
||||
UNAME_MACHINE="alphapca56"
|
||||
;;
|
||||
16)
|
||||
UNAME_MACHINE="alphaev6"
|
||||
;;
|
||||
esac
|
||||
fi
|
||||
rm -f dummy.s dummy
|
||||
echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[VTX]//' | tr [[A-Z]] [[a-z]]`
|
||||
exit 0 ;;
|
||||
21064:Windows_NT:50:3)
|
||||
echo alpha-dec-winnt3.5
|
||||
exit 0 ;;
|
||||
Amiga*:UNIX_System_V:4.0:*)
|
||||
echo m68k-cbm-sysv4
|
||||
exit 0;;
|
||||
amiga:NetBSD:*:*)
|
||||
echo m68k-cbm-netbsd${UNAME_RELEASE}
|
||||
exit 0 ;;
|
||||
amiga:OpenBSD:*:*)
|
||||
echo m68k-unknown-openbsd${UNAME_RELEASE}
|
||||
exit 0 ;;
|
||||
arc64:OpenBSD:*:*)
|
||||
echo mips64el-unknown-openbsd${UNAME_RELEASE}
|
||||
exit 0 ;;
|
||||
arc:OpenBSD:*:*)
|
||||
echo mipsel-unknown-openbsd${UNAME_RELEASE}
|
||||
exit 0 ;;
|
||||
hkmips:OpenBSD:*:*)
|
||||
echo mips-unknown-openbsd${UNAME_RELEASE}
|
||||
exit 0 ;;
|
||||
pmax:OpenBSD:*:*)
|
||||
echo mipsel-unknown-openbsd${UNAME_RELEASE}
|
||||
exit 0 ;;
|
||||
sgi:OpenBSD:*:*)
|
||||
echo mips-unknown-openbsd${UNAME_RELEASE}
|
||||
exit 0 ;;
|
||||
wgrisc:OpenBSD:*:*)
|
||||
echo mipsel-unknown-openbsd${UNAME_RELEASE}
|
||||
exit 0 ;;
|
||||
arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*)
|
||||
echo arm-acorn-riscix${UNAME_RELEASE}
|
||||
exit 0;;
|
||||
arm32:NetBSD:*:*)
|
||||
echo arm-unknown-netbsd`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'`
|
||||
exit 0 ;;
|
||||
SR2?01:HI-UX/MPP:*:*)
|
||||
echo hppa1.1-hitachi-hiuxmpp
|
||||
exit 0;;
|
||||
Pyramid*:OSx*:*:*|MIS*:OSx*:*:*)
|
||||
# akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE.
|
||||
if test "`(/bin/universe) 2>/dev/null`" = att ; then
|
||||
echo pyramid-pyramid-sysv3
|
||||
else
|
||||
echo pyramid-pyramid-bsd
|
||||
fi
|
||||
exit 0 ;;
|
||||
NILE:*:*:dcosx)
|
||||
echo pyramid-pyramid-svr4
|
||||
exit 0 ;;
|
||||
sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*)
|
||||
echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
|
||||
exit 0 ;;
|
||||
i86pc:SunOS:5.*:*)
|
||||
echo i386-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
|
||||
exit 0 ;;
|
||||
sun4*:SunOS:6*:*)
|
||||
# According to config.sub, this is the proper way to canonicalize
|
||||
# SunOS6. Hard to guess exactly what SunOS6 will be like, but
|
||||
# it's likely to be more like Solaris than SunOS4.
|
||||
echo sparc-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
|
||||
exit 0 ;;
|
||||
sun4*:SunOS:*:*)
|
||||
case "`/usr/bin/arch -k`" in
|
||||
Series*|S4*)
|
||||
UNAME_RELEASE=`uname -v`
|
||||
;;
|
||||
esac
|
||||
# Japanese Language versions have a version number like `4.1.3-JL'.
|
||||
echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'`
|
||||
exit 0 ;;
|
||||
sun3*:SunOS:*:*)
|
||||
echo m68k-sun-sunos${UNAME_RELEASE}
|
||||
exit 0 ;;
|
||||
sun*:*:4.2BSD:*)
|
||||
UNAME_RELEASE=`(head -1 /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null`
|
||||
test "x${UNAME_RELEASE}" = "x" && UNAME_RELEASE=3
|
||||
case "`/bin/arch`" in
|
||||
sun3)
|
||||
echo m68k-sun-sunos${UNAME_RELEASE}
|
||||
;;
|
||||
sun4)
|
||||
echo sparc-sun-sunos${UNAME_RELEASE}
|
||||
;;
|
||||
esac
|
||||
exit 0 ;;
|
||||
aushp:SunOS:*:*)
|
||||
echo sparc-auspex-sunos${UNAME_RELEASE}
|
||||
exit 0 ;;
|
||||
atari*:NetBSD:*:*)
|
||||
echo m68k-atari-netbsd${UNAME_RELEASE}
|
||||
exit 0 ;;
|
||||
atari*:OpenBSD:*:*)
|
||||
echo m68k-unknown-openbsd${UNAME_RELEASE}
|
||||
exit 0 ;;
|
||||
sun3*:NetBSD:*:*)
|
||||
echo m68k-sun-netbsd${UNAME_RELEASE}
|
||||
exit 0 ;;
|
||||
sun3*:OpenBSD:*:*)
|
||||
echo m68k-unknown-openbsd${UNAME_RELEASE}
|
||||
exit 0 ;;
|
||||
mac68k:NetBSD:*:*)
|
||||
echo m68k-apple-netbsd${UNAME_RELEASE}
|
||||
exit 0 ;;
|
||||
mac68k:OpenBSD:*:*)
|
||||
echo m68k-unknown-openbsd${UNAME_RELEASE}
|
||||
exit 0 ;;
|
||||
mvme68k:OpenBSD:*:*)
|
||||
echo m68k-unknown-openbsd${UNAME_RELEASE}
|
||||
exit 0 ;;
|
||||
mvme88k:OpenBSD:*:*)
|
||||
echo m88k-unknown-openbsd${UNAME_RELEASE}
|
||||
exit 0 ;;
|
||||
powerpc:machten:*:*)
|
||||
echo powerpc-apple-machten${UNAME_RELEASE}
|
||||
exit 0 ;;
|
||||
RISC*:Mach:*:*)
|
||||
echo mips-dec-mach_bsd4.3
|
||||
exit 0 ;;
|
||||
RISC*:ULTRIX:*:*)
|
||||
echo mips-dec-ultrix${UNAME_RELEASE}
|
||||
exit 0 ;;
|
||||
VAX*:ULTRIX*:*:*)
|
||||
echo vax-dec-ultrix${UNAME_RELEASE}
|
||||
exit 0 ;;
|
||||
2020:CLIX:*:*)
|
||||
echo clipper-intergraph-clix${UNAME_RELEASE}
|
||||
exit 0 ;;
|
||||
mips:*:*:UMIPS | mips:*:*:RISCos)
|
||||
sed 's/^ //' << EOF >dummy.c
|
||||
int main (argc, argv) int argc; char **argv; {
|
||||
#if defined (host_mips) && defined (MIPSEB)
|
||||
#if defined (SYSTYPE_SYSV)
|
||||
printf ("mips-mips-riscos%ssysv\n", argv[1]); exit (0);
|
||||
#endif
|
||||
#if defined (SYSTYPE_SVR4)
|
||||
printf ("mips-mips-riscos%ssvr4\n", argv[1]); exit (0);
|
||||
#endif
|
||||
#if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD)
|
||||
printf ("mips-mips-riscos%sbsd\n", argv[1]); exit (0);
|
||||
#endif
|
||||
#endif
|
||||
exit (-1);
|
||||
}
|
||||
EOF
|
||||
${CC-cc} dummy.c -o dummy \
|
||||
&& ./dummy `echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` \
|
||||
&& rm dummy.c dummy && exit 0
|
||||
rm -f dummy.c dummy
|
||||
echo mips-mips-riscos${UNAME_RELEASE}
|
||||
exit 0 ;;
|
||||
Night_Hawk:Power_UNIX:*:*)
|
||||
echo powerpc-harris-powerunix
|
||||
exit 0 ;;
|
||||
m88k:CX/UX:7*:*)
|
||||
echo m88k-harris-cxux7
|
||||
exit 0 ;;
|
||||
m88k:*:4*:R4*)
|
||||
echo m88k-motorola-sysv4
|
||||
exit 0 ;;
|
||||
m88k:*:3*:R3*)
|
||||
echo m88k-motorola-sysv3
|
||||
exit 0 ;;
|
||||
AViiON:dgux:*:*)
|
||||
# DG/UX returns AViiON for all architectures
|
||||
UNAME_PROCESSOR=`/usr/bin/uname -p`
|
||||
if [ $UNAME_PROCESSOR = mc88100 -o $UNAME_PROCESSOR = mc88110 ] ; then
|
||||
if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx \
|
||||
-o ${TARGET_BINARY_INTERFACE}x = x ] ; then
|
||||
echo m88k-dg-dgux${UNAME_RELEASE}
|
||||
else
|
||||
echo m88k-dg-dguxbcs${UNAME_RELEASE}
|
||||
fi
|
||||
else echo i586-dg-dgux${UNAME_RELEASE}
|
||||
fi
|
||||
exit 0 ;;
|
||||
M88*:DolphinOS:*:*) # DolphinOS (SVR3)
|
||||
echo m88k-dolphin-sysv3
|
||||
exit 0 ;;
|
||||
M88*:*:R3*:*)
|
||||
# Delta 88k system running SVR3
|
||||
echo m88k-motorola-sysv3
|
||||
exit 0 ;;
|
||||
XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3)
|
||||
echo m88k-tektronix-sysv3
|
||||
exit 0 ;;
|
||||
Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD)
|
||||
echo m68k-tektronix-bsd
|
||||
exit 0 ;;
|
||||
*:IRIX*:*:*)
|
||||
echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'`
|
||||
exit 0 ;;
|
||||
????????:AIX?:[12].1:2) # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX.
|
||||
echo romp-ibm-aix # uname -m gives an 8 hex-code CPU id
|
||||
exit 0 ;; # Note that: echo "'`uname -s`'" gives 'AIX '
|
||||
i?86:AIX:*:*)
|
||||
echo i386-ibm-aix
|
||||
exit 0 ;;
|
||||
*:AIX:2:3)
|
||||
if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then
|
||||
sed 's/^ //' << EOF >dummy.c
|
||||
#include <sys/systemcfg.h>
|
||||
|
||||
main()
|
||||
{
|
||||
if (!__power_pc())
|
||||
exit(1);
|
||||
puts("powerpc-ibm-aix3.2.5");
|
||||
exit(0);
|
||||
}
|
||||
EOF
|
||||
${CC-cc} dummy.c -o dummy && ./dummy && rm dummy.c dummy && exit 0
|
||||
rm -f dummy.c dummy
|
||||
echo rs6000-ibm-aix3.2.5
|
||||
elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then
|
||||
echo rs6000-ibm-aix3.2.4
|
||||
else
|
||||
echo rs6000-ibm-aix3.2
|
||||
fi
|
||||
exit 0 ;;
|
||||
*:AIX:*:4)
|
||||
if /usr/sbin/lsattr -EHl proc0 | grep POWER >/dev/null 2>&1; then
|
||||
IBM_ARCH=rs6000
|
||||
else
|
||||
IBM_ARCH=powerpc
|
||||
fi
|
||||
if [ -x /usr/bin/oslevel ] ; then
|
||||
IBM_REV=`/usr/bin/oslevel`
|
||||
else
|
||||
IBM_REV=4.${UNAME_RELEASE}
|
||||
fi
|
||||
echo ${IBM_ARCH}-ibm-aix${IBM_REV}
|
||||
exit 0 ;;
|
||||
*:AIX:*:*)
|
||||
echo rs6000-ibm-aix
|
||||
exit 0 ;;
|
||||
ibmrt:4.4BSD:*|romp-ibm:BSD:*)
|
||||
echo romp-ibm-bsd4.4
|
||||
exit 0 ;;
|
||||
ibmrt:*BSD:*|romp-ibm:BSD:*) # covers RT/PC NetBSD and
|
||||
echo romp-ibm-bsd${UNAME_RELEASE} # 4.3 with uname added to
|
||||
exit 0 ;; # report: romp-ibm BSD 4.3
|
||||
*:BOSX:*:*)
|
||||
echo rs6000-bull-bosx
|
||||
exit 0 ;;
|
||||
DPX/2?00:B.O.S.:*:*)
|
||||
echo m68k-bull-sysv3
|
||||
exit 0 ;;
|
||||
9000/[34]??:4.3bsd:1.*:*)
|
||||
echo m68k-hp-bsd
|
||||
exit 0 ;;
|
||||
hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*)
|
||||
echo m68k-hp-bsd4.4
|
||||
exit 0 ;;
|
||||
9000/[3478]??:HP-UX:*:*)
|
||||
case "${UNAME_MACHINE}" in
|
||||
9000/31? ) HP_ARCH=m68000 ;;
|
||||
9000/[34]?? ) HP_ARCH=m68k ;;
|
||||
9000/7?? | 9000/8?[1679] ) HP_ARCH=hppa1.1 ;;
|
||||
9000/8?? ) HP_ARCH=hppa1.0 ;;
|
||||
esac
|
||||
HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
|
||||
echo ${HP_ARCH}-hp-hpux${HPUX_REV}
|
||||
exit 0 ;;
|
||||
3050*:HI-UX:*:*)
|
||||
sed 's/^ //' << EOF >dummy.c
|
||||
#include <unistd.h>
|
||||
int
|
||||
main ()
|
||||
{
|
||||
long cpu = sysconf (_SC_CPU_VERSION);
|
||||
/* The order matters, because CPU_IS_HP_MC68K erroneously returns
|
||||
true for CPU_PA_RISC1_0. CPU_IS_PA_RISC returns correct
|
||||
results, however. */
|
||||
if (CPU_IS_PA_RISC (cpu))
|
||||
{
|
||||
switch (cpu)
|
||||
{
|
||||
case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break;
|
||||
case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break;
|
||||
case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break;
|
||||
default: puts ("hppa-hitachi-hiuxwe2"); break;
|
||||
}
|
||||
}
|
||||
else if (CPU_IS_HP_MC68K (cpu))
|
||||
puts ("m68k-hitachi-hiuxwe2");
|
||||
else puts ("unknown-hitachi-hiuxwe2");
|
||||
exit (0);
|
||||
}
|
||||
EOF
|
||||
${CC-cc} dummy.c -o dummy && ./dummy && rm dummy.c dummy && exit 0
|
||||
rm -f dummy.c dummy
|
||||
echo unknown-hitachi-hiuxwe2
|
||||
exit 0 ;;
|
||||
9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* )
|
||||
echo hppa1.1-hp-bsd
|
||||
exit 0 ;;
|
||||
9000/8??:4.3bsd:*:*)
|
||||
echo hppa1.0-hp-bsd
|
||||
exit 0 ;;
|
||||
hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* )
|
||||
echo hppa1.1-hp-osf
|
||||
exit 0 ;;
|
||||
hp8??:OSF1:*:*)
|
||||
echo hppa1.0-hp-osf
|
||||
exit 0 ;;
|
||||
i?86:OSF1:*:*)
|
||||
if [ -x /usr/sbin/sysversion ] ; then
|
||||
echo ${UNAME_MACHINE}-unknown-osf1mk
|
||||
else
|
||||
echo ${UNAME_MACHINE}-unknown-osf1
|
||||
fi
|
||||
exit 0 ;;
|
||||
parisc*:Lites*:*:*)
|
||||
echo hppa1.1-hp-lites
|
||||
exit 0 ;;
|
||||
C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*)
|
||||
echo c1-convex-bsd
|
||||
exit 0 ;;
|
||||
C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*)
|
||||
if getsysinfo -f scalar_acc
|
||||
then echo c32-convex-bsd
|
||||
else echo c2-convex-bsd
|
||||
fi
|
||||
exit 0 ;;
|
||||
C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*)
|
||||
echo c34-convex-bsd
|
||||
exit 0 ;;
|
||||
C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*)
|
||||
echo c38-convex-bsd
|
||||
exit 0 ;;
|
||||
C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*)
|
||||
echo c4-convex-bsd
|
||||
exit 0 ;;
|
||||
CRAY*X-MP:*:*:*)
|
||||
echo xmp-cray-unicos
|
||||
exit 0 ;;
|
||||
CRAY*Y-MP:*:*:*)
|
||||
echo ymp-cray-unicos${UNAME_RELEASE}
|
||||
exit 0 ;;
|
||||
CRAY*[A-Z]90:*:*:*)
|
||||
echo ${UNAME_MACHINE}-cray-unicos${UNAME_RELEASE} \
|
||||
| sed -e 's/CRAY.*\([A-Z]90\)/\1/' \
|
||||
-e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/
|
||||
exit 0 ;;
|
||||
CRAY*TS:*:*:*)
|
||||
echo t90-cray-unicos${UNAME_RELEASE}
|
||||
exit 0 ;;
|
||||
CRAY-2:*:*:*)
|
||||
echo cray2-cray-unicos
|
||||
exit 0 ;;
|
||||
F300:UNIX_System_V:*:*)
|
||||
FUJITSU_SYS=`uname -p | tr [A-Z] [a-z] | sed -e 's/\///'`
|
||||
FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'`
|
||||
echo "f300-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
|
||||
exit 0 ;;
|
||||
F301:UNIX_System_V:*:*)
|
||||
echo f301-fujitsu-uxpv`echo $UNAME_RELEASE | sed 's/ .*//'`
|
||||
exit 0 ;;
|
||||
hp3[0-9][05]:NetBSD:*:*)
|
||||
echo m68k-hp-netbsd${UNAME_RELEASE}
|
||||
exit 0 ;;
|
||||
hp300:OpenBSD:*:*)
|
||||
echo m68k-unknown-openbsd${UNAME_RELEASE}
|
||||
exit 0 ;;
|
||||
i?86:BSD/386:*:* | *:BSD/OS:*:*)
|
||||
echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE}
|
||||
exit 0 ;;
|
||||
*:FreeBSD:*:*)
|
||||
echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`
|
||||
exit 0 ;;
|
||||
*:NetBSD:*:*)
|
||||
echo ${UNAME_MACHINE}-unknown-netbsd`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'`
|
||||
exit 0 ;;
|
||||
*:OpenBSD:*:*)
|
||||
echo ${UNAME_MACHINE}-unknown-openbsd`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'`
|
||||
exit 0 ;;
|
||||
i*:CYGWIN*:*)
|
||||
echo i386-pc-cygwin32
|
||||
exit 0 ;;
|
||||
i*:MINGW*:*)
|
||||
echo i386-pc-mingw32
|
||||
exit 0 ;;
|
||||
p*:CYGWIN*:*)
|
||||
echo powerpcle-unknown-cygwin32
|
||||
exit 0 ;;
|
||||
prep*:SunOS:5.*:*)
|
||||
echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
|
||||
exit 0 ;;
|
||||
*:GNU:*:*)
|
||||
echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'`
|
||||
exit 0 ;;
|
||||
*:Linux:*:*)
|
||||
# The BFD linker knows what the default object file format is, so
|
||||
# first see if it will tell us.
|
||||
ld_help_string=`ld --help 2>&1`
|
||||
ld_supported_emulations=`echo $ld_help_string \
|
||||
| sed -ne '/supported emulations:/!d
|
||||
s/[ ][ ]*/ /g
|
||||
s/.*supported emulations: *//
|
||||
s/ .*//
|
||||
p'`
|
||||
case "$ld_supported_emulations" in
|
||||
i?86linux) echo "${UNAME_MACHINE}-pc-linux-gnuaout" ; exit 0 ;;
|
||||
i?86coff) echo "${UNAME_MACHINE}-pc-linux-gnucoff" ; exit 0 ;;
|
||||
sparclinux) echo "${UNAME_MACHINE}-unknown-linux-gnuaout" ; exit 0 ;;
|
||||
m68klinux) echo "${UNAME_MACHINE}-unknown-linux-gnuaout" ; exit 0 ;;
|
||||
elf32ppc) echo "powerpc-unknown-linux-gnu" ; exit 0 ;;
|
||||
esac
|
||||
|
||||
if test "${UNAME_MACHINE}" = "alpha" ; then
|
||||
sed 's/^ //' <<EOF >dummy.s
|
||||
.globl main
|
||||
.ent main
|
||||
main:
|
||||
.frame \$30,0,\$26,0
|
||||
.prologue 0
|
||||
.long 0x47e03d80 # implver $0
|
||||
lda \$2,259
|
||||
.long 0x47e20c21 # amask $2,$1
|
||||
srl \$1,8,\$2
|
||||
sll \$2,2,\$2
|
||||
sll \$0,3,\$0
|
||||
addl \$1,\$0,\$0
|
||||
addl \$2,\$0,\$0
|
||||
ret \$31,(\$26),1
|
||||
.end main
|
||||
EOF
|
||||
LIBC=""
|
||||
${CC-cc} dummy.s -o dummy 2>/dev/null
|
||||
if test "$?" = 0 ; then
|
||||
./dummy
|
||||
case "$?" in
|
||||
7)
|
||||
UNAME_MACHINE="alpha"
|
||||
;;
|
||||
15)
|
||||
UNAME_MACHINE="alphaev5"
|
||||
;;
|
||||
14)
|
||||
UNAME_MACHINE="alphaev56"
|
||||
;;
|
||||
10)
|
||||
UNAME_MACHINE="alphapca56"
|
||||
;;
|
||||
16)
|
||||
UNAME_MACHINE="alphaev6"
|
||||
;;
|
||||
esac
|
||||
|
||||
objdump --private-headers dummy | \
|
||||
grep ld.so.1 > /dev/null
|
||||
if test "$?" = 0 ; then
|
||||
LIBC="libc1"
|
||||
fi
|
||||
fi
|
||||
rm -f dummy.s dummy
|
||||
echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC} ; exit 0
|
||||
elif test "${UNAME_MACHINE}" = "mips" ; then
|
||||
cat >dummy.c <<EOF
|
||||
main(argc, argv)
|
||||
int argc;
|
||||
char *argv[];
|
||||
{
|
||||
#ifdef __MIPSEB__
|
||||
printf ("%s-unknown-linux-gnu\n", argv[1]);
|
||||
#endif
|
||||
#ifdef __MIPSEL__
|
||||
printf ("%sel-unknown-linux-gnu\n", argv[1]);
|
||||
#endif
|
||||
return 0;
|
||||
}
|
||||
EOF
|
||||
${CC-cc} dummy.c -o dummy 2>/dev/null && ./dummy "${UNAME_MACHINE}" && rm dummy.c dummy && exit 0
|
||||
rm -f dummy.c dummy
|
||||
else
|
||||
# Either a pre-BFD a.out linker (linux-gnuoldld)
|
||||
# or one that does not give us useful --help.
|
||||
# GCC wants to distinguish between linux-gnuoldld and linux-gnuaout.
|
||||
# If ld does not provide *any* "supported emulations:"
|
||||
# that means it is gnuoldld.
|
||||
echo "$ld_help_string" | grep >/dev/null 2>&1 "supported emulations:"
|
||||
test $? != 0 && echo "${UNAME_MACHINE}-pc-linux-gnuoldld" && exit 0
|
||||
|
||||
case "${UNAME_MACHINE}" in
|
||||
i?86)
|
||||
VENDOR=pc;
|
||||
;;
|
||||
*)
|
||||
VENDOR=unknown;
|
||||
;;
|
||||
esac
|
||||
# Determine whether the default compiler is a.out or elf
|
||||
cat >dummy.c <<EOF
|
||||
#include <features.h>
|
||||
main(argc, argv)
|
||||
int argc;
|
||||
char *argv[];
|
||||
{
|
||||
#ifdef __ELF__
|
||||
# ifdef __GLIBC__
|
||||
# if __GLIBC__ >= 2
|
||||
printf ("%s-${VENDOR}-linux-gnu\n", argv[1]);
|
||||
# else
|
||||
printf ("%s-${VENDOR}-linux-gnulibc1\n", argv[1]);
|
||||
# endif
|
||||
# else
|
||||
printf ("%s-${VENDOR}-linux-gnulibc1\n", argv[1]);
|
||||
# endif
|
||||
#else
|
||||
printf ("%s-${VENDOR}-linux-gnuaout\n", argv[1]);
|
||||
#endif
|
||||
return 0;
|
||||
}
|
||||
EOF
|
||||
${CC-cc} dummy.c -o dummy 2>/dev/null && ./dummy "${UNAME_MACHINE}" && rm dummy.c dummy && exit 0
|
||||
rm -f dummy.c dummy
|
||||
fi ;;
|
||||
# ptx 4.0 does uname -s correctly, with DYNIX/ptx in there. earlier versions
|
||||
# are messed up and put the nodename in both sysname and nodename.
|
||||
i?86:DYNIX/ptx:4*:*)
|
||||
echo i386-sequent-sysv4
|
||||
exit 0 ;;
|
||||
i?86:UNIX_SV:4.2MP:2.*)
|
||||
# Unixware is an offshoot of SVR4, but it has its own version
|
||||
# number series starting with 2...
|
||||
# I am not positive that other SVR4 systems won't match this,
|
||||
# I just have to hope. -- rms.
|
||||
# Use sysv4.2uw... so that sysv4* matches it.
|
||||
echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION}
|
||||
exit 0 ;;
|
||||
i?86:*:4.*:* | i?86:SYSTEM_V:4.*:*)
|
||||
if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then
|
||||
echo ${UNAME_MACHINE}-univel-sysv${UNAME_RELEASE}
|
||||
else
|
||||
echo ${UNAME_MACHINE}-pc-sysv${UNAME_RELEASE}
|
||||
fi
|
||||
exit 0 ;;
|
||||
i?86:*:3.2:*)
|
||||
if test -f /usr/options/cb.name; then
|
||||
UNAME_REL=`sed -n 's/.*Version //p' </usr/options/cb.name`
|
||||
echo ${UNAME_MACHINE}-pc-isc$UNAME_REL
|
||||
elif /bin/uname -X 2>/dev/null >/dev/null ; then
|
||||
UNAME_REL=`(/bin/uname -X|egrep Release|sed -e 's/.*= //')`
|
||||
(/bin/uname -X|egrep i80486 >/dev/null) && UNAME_MACHINE=i486
|
||||
(/bin/uname -X|egrep '^Machine.*Pentium' >/dev/null) \
|
||||
&& UNAME_MACHINE=i586
|
||||
echo ${UNAME_MACHINE}-pc-sco$UNAME_REL
|
||||
else
|
||||
echo ${UNAME_MACHINE}-pc-sysv32
|
||||
fi
|
||||
exit 0 ;;
|
||||
pc:*:*:*)
|
||||
# uname -m prints for DJGPP always 'pc', but it prints nothing about
|
||||
# the processor, so we play safe by assuming i386.
|
||||
echo i386-pc-msdosdjgpp
|
||||
exit 0 ;;
|
||||
Intel:Mach:3*:*)
|
||||
echo i386-pc-mach3
|
||||
exit 0 ;;
|
||||
paragon:*:*:*)
|
||||
echo i860-intel-osf1
|
||||
exit 0 ;;
|
||||
i860:*:4.*:*) # i860-SVR4
|
||||
if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then
|
||||
echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4
|
||||
else # Add other i860-SVR4 vendors below as they are discovered.
|
||||
echo i860-unknown-sysv${UNAME_RELEASE} # Unknown i860-SVR4
|
||||
fi
|
||||
exit 0 ;;
|
||||
mini*:CTIX:SYS*5:*)
|
||||
# "miniframe"
|
||||
echo m68010-convergent-sysv
|
||||
exit 0 ;;
|
||||
M68*:*:R3V[567]*:*)
|
||||
test -r /sysV68 && echo 'm68k-motorola-sysv' && exit 0 ;;
|
||||
3[34]??:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 4850:*:4.0:3.0)
|
||||
OS_REL=''
|
||||
test -r /etc/.relid \
|
||||
&& OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
|
||||
/bin/uname -p 2>/dev/null | grep 86 >/dev/null \
|
||||
&& echo i486-ncr-sysv4.3${OS_REL} && exit 0
|
||||
/bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
|
||||
&& echo i586-ncr-sysv4.3${OS_REL} && exit 0 ;;
|
||||
3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*)
|
||||
/bin/uname -p 2>/dev/null | grep 86 >/dev/null \
|
||||
&& echo i486-ncr-sysv4 && exit 0 ;;
|
||||
m68*:LynxOS:2.*:*)
|
||||
echo m68k-unknown-lynxos${UNAME_RELEASE}
|
||||
exit 0 ;;
|
||||
mc68030:UNIX_System_V:4.*:*)
|
||||
echo m68k-atari-sysv4
|
||||
exit 0 ;;
|
||||
i?86:LynxOS:2.*:*)
|
||||
echo i386-unknown-lynxos${UNAME_RELEASE}
|
||||
exit 0 ;;
|
||||
TSUNAMI:LynxOS:2.*:*)
|
||||
echo sparc-unknown-lynxos${UNAME_RELEASE}
|
||||
exit 0 ;;
|
||||
rs6000:LynxOS:2.*:* | PowerPC:LynxOS:2.*:*)
|
||||
echo rs6000-unknown-lynxos${UNAME_RELEASE}
|
||||
exit 0 ;;
|
||||
SM[BE]S:UNIX_SV:*:*)
|
||||
echo mips-dde-sysv${UNAME_RELEASE}
|
||||
exit 0 ;;
|
||||
RM*:SINIX-*:*:*)
|
||||
echo mips-sni-sysv4
|
||||
exit 0 ;;
|
||||
*:SINIX-*:*:*)
|
||||
if uname -p 2>/dev/null >/dev/null ; then
|
||||
UNAME_MACHINE=`(uname -p) 2>/dev/null`
|
||||
echo ${UNAME_MACHINE}-sni-sysv4
|
||||
else
|
||||
echo ns32k-sni-sysv
|
||||
fi
|
||||
exit 0 ;;
|
||||
PENTIUM:CPunix:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort
|
||||
# says <Richard.M.Bartel@ccMail.Census.GOV>
|
||||
echo i586-unisys-sysv4
|
||||
exit 0 ;;
|
||||
*:UNIX_System_V:4*:FTX*)
|
||||
# From Gerald Hewes <hewes@openmarket.com>.
|
||||
# How about differentiating between stratus architectures? -djm
|
||||
echo hppa1.1-stratus-sysv4
|
||||
exit 0 ;;
|
||||
*:*:*:FTX*)
|
||||
# From seanf@swdc.stratus.com.
|
||||
echo i860-stratus-sysv4
|
||||
exit 0 ;;
|
||||
mc68*:A/UX:*:*)
|
||||
echo m68k-apple-aux${UNAME_RELEASE}
|
||||
exit 0 ;;
|
||||
news*:NEWS-OS:*:6*)
|
||||
echo mips-sony-newsos6
|
||||
exit 0 ;;
|
||||
R3000:*System_V*:*:* | R4000:UNIX_SYSV:*:*)
|
||||
if [ -d /usr/nec ]; then
|
||||
echo mips-nec-sysv${UNAME_RELEASE}
|
||||
else
|
||||
echo mips-unknown-sysv${UNAME_RELEASE}
|
||||
fi
|
||||
exit 0 ;;
|
||||
esac
|
||||
|
||||
#echo '(No uname command or uname output not recognized.)' 1>&2
|
||||
#echo "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" 1>&2
|
||||
|
||||
cat >dummy.c <<EOF
|
||||
#ifdef _SEQUENT_
|
||||
# include <sys/types.h>
|
||||
# include <sys/utsname.h>
|
||||
#endif
|
||||
main ()
|
||||
{
|
||||
#if defined (sony)
|
||||
#if defined (MIPSEB)
|
||||
/* BFD wants "bsd" instead of "newsos". Perhaps BFD should be changed,
|
||||
I don't know.... */
|
||||
printf ("mips-sony-bsd\n"); exit (0);
|
||||
#else
|
||||
#include <sys/param.h>
|
||||
printf ("m68k-sony-newsos%s\n",
|
||||
#ifdef NEWSOS4
|
||||
"4"
|
||||
#else
|
||||
""
|
||||
#endif
|
||||
); exit (0);
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#if defined (__arm) && defined (__acorn) && defined (__unix)
|
||||
printf ("arm-acorn-riscix"); exit (0);
|
||||
#endif
|
||||
|
||||
#if defined (hp300) && !defined (hpux)
|
||||
printf ("m68k-hp-bsd\n"); exit (0);
|
||||
#endif
|
||||
|
||||
#if defined (NeXT)
|
||||
#if !defined (__ARCHITECTURE__)
|
||||
#define __ARCHITECTURE__ "m68k"
|
||||
#endif
|
||||
int version;
|
||||
version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`;
|
||||
printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version);
|
||||
exit (0);
|
||||
#endif
|
||||
|
||||
#if defined (MULTIMAX) || defined (n16)
|
||||
#if defined (UMAXV)
|
||||
printf ("ns32k-encore-sysv\n"); exit (0);
|
||||
#else
|
||||
#if defined (CMU)
|
||||
printf ("ns32k-encore-mach\n"); exit (0);
|
||||
#else
|
||||
printf ("ns32k-encore-bsd\n"); exit (0);
|
||||
#endif
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#if defined (__386BSD__)
|
||||
printf ("i386-pc-bsd\n"); exit (0);
|
||||
#endif
|
||||
|
||||
#if defined (sequent)
|
||||
#if defined (i386)
|
||||
printf ("i386-sequent-dynix\n"); exit (0);
|
||||
#endif
|
||||
#if defined (ns32000)
|
||||
printf ("ns32k-sequent-dynix\n"); exit (0);
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#if defined (_SEQUENT_)
|
||||
struct utsname un;
|
||||
|
||||
uname(&un);
|
||||
|
||||
if (strncmp(un.version, "V2", 2) == 0) {
|
||||
printf ("i386-sequent-ptx2\n"); exit (0);
|
||||
}
|
||||
if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */
|
||||
printf ("i386-sequent-ptx1\n"); exit (0);
|
||||
}
|
||||
printf ("i386-sequent-ptx\n"); exit (0);
|
||||
|
||||
#endif
|
||||
|
||||
#if defined (vax)
|
||||
#if !defined (ultrix)
|
||||
printf ("vax-dec-bsd\n"); exit (0);
|
||||
#else
|
||||
printf ("vax-dec-ultrix\n"); exit (0);
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#if defined (alliant) && defined (i860)
|
||||
printf ("i860-alliant-bsd\n"); exit (0);
|
||||
#endif
|
||||
|
||||
exit (1);
|
||||
}
|
||||
EOF
|
||||
|
||||
${CC-cc} dummy.c -o dummy 2>/dev/null && ./dummy && rm dummy.c dummy && exit 0
|
||||
rm -f dummy.c dummy
|
||||
|
||||
# Apollos put the system type in the environment.
|
||||
|
||||
test -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit 0; }
|
||||
|
||||
# Convex versions that predate uname can use getsysinfo(1)
|
||||
|
||||
if [ -x /usr/convex/getsysinfo ]
|
||||
then
|
||||
case `getsysinfo -f cpu_type` in
|
||||
c1*)
|
||||
echo c1-convex-bsd
|
||||
exit 0 ;;
|
||||
c2*)
|
||||
if getsysinfo -f scalar_acc
|
||||
then echo c32-convex-bsd
|
||||
else echo c2-convex-bsd
|
||||
fi
|
||||
exit 0 ;;
|
||||
c34*)
|
||||
echo c34-convex-bsd
|
||||
exit 0 ;;
|
||||
c38*)
|
||||
echo c38-convex-bsd
|
||||
exit 0 ;;
|
||||
c4*)
|
||||
echo c4-convex-bsd
|
||||
exit 0 ;;
|
||||
esac
|
||||
fi
|
||||
|
||||
#echo '(Unable to guess system type)' 1>&2
|
||||
|
||||
exit 1
|
954
build/config.sub
vendored
Executable file
954
build/config.sub
vendored
Executable file
@ -0,0 +1,954 @@
|
||||
#! /bin/sh
|
||||
# Configuration validation subroutine script, version 1.1.
|
||||
# Copyright (C) 1991, 92, 93, 94, 95, 96, 1997 Free Software Foundation, Inc.
|
||||
# This file is (in principle) common to ALL GNU software.
|
||||
# The presence of a machine in this file suggests that SOME GNU software
|
||||
# can handle that machine. It does not imply ALL GNU software can.
|
||||
#
|
||||
# This file is free software; you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation; either version 2 of the License, or
|
||||
# (at your option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program; if not, write to the Free Software
|
||||
# Foundation, Inc., 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.
|
||||
|
||||
# Configuration subroutine to validate and canonicalize a configuration type.
|
||||
# Supply the specified configuration type as an argument.
|
||||
# If it is invalid, we print an error message on stderr and exit with code 1.
|
||||
# Otherwise, we print the canonical config type on stdout and succeed.
|
||||
|
||||
# This file is supposed to be the same for all GNU packages
|
||||
# and recognize all the CPU types, system types and aliases
|
||||
# that are meaningful with *any* GNU software.
|
||||
# Each package is responsible for reporting which valid configurations
|
||||
# it does not support. The user should be able to distinguish
|
||||
# a failure to support a valid configuration from a meaningless
|
||||
# configuration.
|
||||
|
||||
# The goal of this file is to map all the various variations of a given
|
||||
# machine specification into a single specification in the form:
|
||||
# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM
|
||||
# or in some cases, the newer four-part form:
|
||||
# CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM
|
||||
# It is wrong to echo any other type of specification.
|
||||
|
||||
if [ x$1 = x ]
|
||||
then
|
||||
echo Configuration name missing. 1>&2
|
||||
echo "Usage: $0 CPU-MFR-OPSYS" 1>&2
|
||||
echo "or $0 ALIAS" 1>&2
|
||||
echo where ALIAS is a recognized configuration type. 1>&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# First pass through any local machine types.
|
||||
case $1 in
|
||||
*local*)
|
||||
echo $1
|
||||
exit 0
|
||||
;;
|
||||
*)
|
||||
;;
|
||||
esac
|
||||
|
||||
# Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any).
|
||||
# Here we must recognize all the valid KERNEL-OS combinations.
|
||||
maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
|
||||
case $maybe_os in
|
||||
linux-gnu*)
|
||||
os=-$maybe_os
|
||||
basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
|
||||
;;
|
||||
*)
|
||||
basic_machine=`echo $1 | sed 's/-[^-]*$//'`
|
||||
if [ $basic_machine != $1 ]
|
||||
then os=`echo $1 | sed 's/.*-/-/'`
|
||||
else os=; fi
|
||||
;;
|
||||
esac
|
||||
|
||||
### Let's recognize common machines as not being operating systems so
|
||||
### that things like config.sub decstation-3100 work. We also
|
||||
### recognize some manufacturers as not being operating systems, so we
|
||||
### can provide default operating systems below.
|
||||
case $os in
|
||||
-sun*os*)
|
||||
# Prevent following clause from handling this invalid input.
|
||||
;;
|
||||
-dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \
|
||||
-att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \
|
||||
-unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \
|
||||
-convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\
|
||||
-c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \
|
||||
-harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \
|
||||
-apple)
|
||||
os=
|
||||
basic_machine=$1
|
||||
;;
|
||||
-hiux*)
|
||||
os=-hiuxwe2
|
||||
;;
|
||||
-sco5)
|
||||
os=sco3.2v5
|
||||
basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
|
||||
;;
|
||||
-sco4)
|
||||
os=-sco3.2v4
|
||||
basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
|
||||
;;
|
||||
-sco3.2.[4-9]*)
|
||||
os=`echo $os | sed -e 's/sco3.2./sco3.2v/'`
|
||||
basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
|
||||
;;
|
||||
-sco3.2v[4-9]*)
|
||||
# Don't forget version if it is 3.2v4 or newer.
|
||||
basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
|
||||
;;
|
||||
-sco*)
|
||||
os=-sco3.2v2
|
||||
basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
|
||||
;;
|
||||
-isc)
|
||||
os=-isc2.2
|
||||
basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
|
||||
;;
|
||||
-clix*)
|
||||
basic_machine=clipper-intergraph
|
||||
;;
|
||||
-isc*)
|
||||
basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
|
||||
;;
|
||||
-lynx*)
|
||||
os=-lynxos
|
||||
;;
|
||||
-ptx*)
|
||||
basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'`
|
||||
;;
|
||||
-windowsnt*)
|
||||
os=`echo $os | sed -e 's/windowsnt/winnt/'`
|
||||
;;
|
||||
-psos*)
|
||||
os=-psos
|
||||
;;
|
||||
esac
|
||||
|
||||
# Decode aliases for certain CPU-COMPANY combinations.
|
||||
case $basic_machine in
|
||||
# Recognize the basic CPU types without company name.
|
||||
# Some are omitted here because they have special meanings below.
|
||||
tahoe | i860 | m32r | m68k | m68000 | m88k | ns32k | arc | arm \
|
||||
| arme[lb] | pyramid | mn10200 | mn10300 \
|
||||
| tron | a29k | 580 | i960 | h8300 | hppa | hppa1.0 | hppa1.1 \
|
||||
| alpha | alphaev5 | alphaev56 | we32k | ns16k | clipper \
|
||||
| i370 | sh | powerpc | powerpcle | 1750a | dsp16xx | pdp11 \
|
||||
| mips64 | mipsel | mips64el | mips64orion | mips64orionel \
|
||||
| mipstx39 | mipstx39el \
|
||||
| sparc | sparclet | sparclite | sparc64 | v850)
|
||||
basic_machine=$basic_machine-unknown
|
||||
;;
|
||||
# We use `pc' rather than `unknown'
|
||||
# because (1) that's what they normally are, and
|
||||
# (2) the word "unknown" tends to confuse beginning users.
|
||||
i[3456]86)
|
||||
basic_machine=$basic_machine-pc
|
||||
;;
|
||||
# Object if more than one company name word.
|
||||
*-*-*)
|
||||
echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
|
||||
exit 1
|
||||
;;
|
||||
# Recognize the basic CPU types with company name.
|
||||
vax-* | tahoe-* | i[3456]86-* | i860-* | m32r-* | m68k-* | m68000-* \
|
||||
| m88k-* | sparc-* | ns32k-* | fx80-* | arc-* | arm-* | c[123]* \
|
||||
| mips-* | pyramid-* | tron-* | a29k-* | romp-* | rs6000-* \
|
||||
| power-* | none-* | 580-* | cray2-* | h8300-* | i960-* \
|
||||
| xmp-* | ymp-* | hppa-* | hppa1.0-* | hppa1.1-* \
|
||||
| alpha-* | alphaev5-* | alphaev56-* | we32k-* | cydra-* \
|
||||
| ns16k-* | pn-* | np1-* | xps100-* | clipper-* | orion-* \
|
||||
| sparclite-* | pdp11-* | sh-* | powerpc-* | powerpcle-* \
|
||||
| sparc64-* | mips64-* | mipsel-* \
|
||||
| mips64el-* | mips64orion-* | mips64orionel-* \
|
||||
| mipstx39-* | mipstx39el-* \
|
||||
| f301-*)
|
||||
;;
|
||||
# Recognize the various machine names and aliases which stand
|
||||
# for a CPU type and a company and sometimes even an OS.
|
||||
3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc)
|
||||
basic_machine=m68000-att
|
||||
;;
|
||||
3b*)
|
||||
basic_machine=we32k-att
|
||||
;;
|
||||
alliant | fx80)
|
||||
basic_machine=fx80-alliant
|
||||
;;
|
||||
altos | altos3068)
|
||||
basic_machine=m68k-altos
|
||||
;;
|
||||
am29k)
|
||||
basic_machine=a29k-none
|
||||
os=-bsd
|
||||
;;
|
||||
amdahl)
|
||||
basic_machine=580-amdahl
|
||||
os=-sysv
|
||||
;;
|
||||
amiga | amiga-*)
|
||||
basic_machine=m68k-cbm
|
||||
;;
|
||||
amigaos | amigados)
|
||||
basic_machine=m68k-cbm
|
||||
os=-amigaos
|
||||
;;
|
||||
amigaunix | amix)
|
||||
basic_machine=m68k-cbm
|
||||
os=-sysv4
|
||||
;;
|
||||
apollo68)
|
||||
basic_machine=m68k-apollo
|
||||
os=-sysv
|
||||
;;
|
||||
aux)
|
||||
basic_machine=m68k-apple
|
||||
os=-aux
|
||||
;;
|
||||
balance)
|
||||
basic_machine=ns32k-sequent
|
||||
os=-dynix
|
||||
;;
|
||||
convex-c1)
|
||||
basic_machine=c1-convex
|
||||
os=-bsd
|
||||
;;
|
||||
convex-c2)
|
||||
basic_machine=c2-convex
|
||||
os=-bsd
|
||||
;;
|
||||
convex-c32)
|
||||
basic_machine=c32-convex
|
||||
os=-bsd
|
||||
;;
|
||||
convex-c34)
|
||||
basic_machine=c34-convex
|
||||
os=-bsd
|
||||
;;
|
||||
convex-c38)
|
||||
basic_machine=c38-convex
|
||||
os=-bsd
|
||||
;;
|
||||
cray | ymp)
|
||||
basic_machine=ymp-cray
|
||||
os=-unicos
|
||||
;;
|
||||
cray2)
|
||||
basic_machine=cray2-cray
|
||||
os=-unicos
|
||||
;;
|
||||
[ctj]90-cray)
|
||||
basic_machine=c90-cray
|
||||
os=-unicos
|
||||
;;
|
||||
crds | unos)
|
||||
basic_machine=m68k-crds
|
||||
;;
|
||||
da30 | da30-*)
|
||||
basic_machine=m68k-da30
|
||||
;;
|
||||
decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn)
|
||||
basic_machine=mips-dec
|
||||
;;
|
||||
delta | 3300 | motorola-3300 | motorola-delta \
|
||||
| 3300-motorola | delta-motorola)
|
||||
basic_machine=m68k-motorola
|
||||
;;
|
||||
delta88)
|
||||
basic_machine=m88k-motorola
|
||||
os=-sysv3
|
||||
;;
|
||||
dpx20 | dpx20-*)
|
||||
basic_machine=rs6000-bull
|
||||
os=-bosx
|
||||
;;
|
||||
dpx2* | dpx2*-bull)
|
||||
basic_machine=m68k-bull
|
||||
os=-sysv3
|
||||
;;
|
||||
ebmon29k)
|
||||
basic_machine=a29k-amd
|
||||
os=-ebmon
|
||||
;;
|
||||
elxsi)
|
||||
basic_machine=elxsi-elxsi
|
||||
os=-bsd
|
||||
;;
|
||||
encore | umax | mmax)
|
||||
basic_machine=ns32k-encore
|
||||
;;
|
||||
fx2800)
|
||||
basic_machine=i860-alliant
|
||||
;;
|
||||
genix)
|
||||
basic_machine=ns32k-ns
|
||||
;;
|
||||
gmicro)
|
||||
basic_machine=tron-gmicro
|
||||
os=-sysv
|
||||
;;
|
||||
h3050r* | hiux*)
|
||||
basic_machine=hppa1.1-hitachi
|
||||
os=-hiuxwe2
|
||||
;;
|
||||
h8300hms)
|
||||
basic_machine=h8300-hitachi
|
||||
os=-hms
|
||||
;;
|
||||
harris)
|
||||
basic_machine=m88k-harris
|
||||
os=-sysv3
|
||||
;;
|
||||
hp300-*)
|
||||
basic_machine=m68k-hp
|
||||
;;
|
||||
hp300bsd)
|
||||
basic_machine=m68k-hp
|
||||
os=-bsd
|
||||
;;
|
||||
hp300hpux)
|
||||
basic_machine=m68k-hp
|
||||
os=-hpux
|
||||
;;
|
||||
hp9k2[0-9][0-9] | hp9k31[0-9])
|
||||
basic_machine=m68000-hp
|
||||
;;
|
||||
hp9k3[2-9][0-9])
|
||||
basic_machine=m68k-hp
|
||||
;;
|
||||
hp9k7[0-9][0-9] | hp7[0-9][0-9] | hp9k8[0-9]7 | hp8[0-9]7)
|
||||
basic_machine=hppa1.1-hp
|
||||
;;
|
||||
hp9k8[0-9][0-9] | hp8[0-9][0-9])
|
||||
basic_machine=hppa1.0-hp
|
||||
;;
|
||||
hppa-next)
|
||||
os=-nextstep3
|
||||
;;
|
||||
i370-ibm* | ibm*)
|
||||
basic_machine=i370-ibm
|
||||
os=-mvs
|
||||
;;
|
||||
# I'm not sure what "Sysv32" means. Should this be sysv3.2?
|
||||
i[3456]86v32)
|
||||
basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
|
||||
os=-sysv32
|
||||
;;
|
||||
i[3456]86v4*)
|
||||
basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
|
||||
os=-sysv4
|
||||
;;
|
||||
i[3456]86v)
|
||||
basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
|
||||
os=-sysv
|
||||
;;
|
||||
i[3456]86sol2)
|
||||
basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
|
||||
os=-solaris2
|
||||
;;
|
||||
iris | iris4d)
|
||||
basic_machine=mips-sgi
|
||||
case $os in
|
||||
-irix*)
|
||||
;;
|
||||
*)
|
||||
os=-irix4
|
||||
;;
|
||||
esac
|
||||
;;
|
||||
isi68 | isi)
|
||||
basic_machine=m68k-isi
|
||||
os=-sysv
|
||||
;;
|
||||
m88k-omron*)
|
||||
basic_machine=m88k-omron
|
||||
;;
|
||||
magnum | m3230)
|
||||
basic_machine=mips-mips
|
||||
os=-sysv
|
||||
;;
|
||||
merlin)
|
||||
basic_machine=ns32k-utek
|
||||
os=-sysv
|
||||
;;
|
||||
miniframe)
|
||||
basic_machine=m68000-convergent
|
||||
;;
|
||||
mipsel*-linux*)
|
||||
basic_machine=mipsel-unknown
|
||||
os=-linux-gnu
|
||||
;;
|
||||
mips*-linux*)
|
||||
basic_machine=mips-unknown
|
||||
os=-linux-gnu
|
||||
;;
|
||||
mips3*-*)
|
||||
basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`
|
||||
;;
|
||||
mips3*)
|
||||
basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown
|
||||
;;
|
||||
ncr3000)
|
||||
basic_machine=i486-ncr
|
||||
os=-sysv4
|
||||
;;
|
||||
news | news700 | news800 | news900)
|
||||
basic_machine=m68k-sony
|
||||
os=-newsos
|
||||
;;
|
||||
news1000)
|
||||
basic_machine=m68030-sony
|
||||
os=-newsos
|
||||
;;
|
||||
news-3600 | risc-news)
|
||||
basic_machine=mips-sony
|
||||
os=-newsos
|
||||
;;
|
||||
next | m*-next )
|
||||
basic_machine=m68k-next
|
||||
case $os in
|
||||
-nextstep* )
|
||||
;;
|
||||
-ns2*)
|
||||
os=-nextstep2
|
||||
;;
|
||||
*)
|
||||
os=-nextstep3
|
||||
;;
|
||||
esac
|
||||
;;
|
||||
nh3000)
|
||||
basic_machine=m68k-harris
|
||||
os=-cxux
|
||||
;;
|
||||
nh[45]000)
|
||||
basic_machine=m88k-harris
|
||||
os=-cxux
|
||||
;;
|
||||
nindy960)
|
||||
basic_machine=i960-intel
|
||||
os=-nindy
|
||||
;;
|
||||
np1)
|
||||
basic_machine=np1-gould
|
||||
;;
|
||||
pa-hitachi)
|
||||
basic_machine=hppa1.1-hitachi
|
||||
os=-hiuxwe2
|
||||
;;
|
||||
paragon)
|
||||
basic_machine=i860-intel
|
||||
os=-osf
|
||||
;;
|
||||
pbd)
|
||||
basic_machine=sparc-tti
|
||||
;;
|
||||
pbb)
|
||||
basic_machine=m68k-tti
|
||||
;;
|
||||
pc532 | pc532-*)
|
||||
basic_machine=ns32k-pc532
|
||||
;;
|
||||
pentium | p5)
|
||||
basic_machine=i586-intel
|
||||
;;
|
||||
pentiumpro | p6)
|
||||
basic_machine=i686-intel
|
||||
;;
|
||||
pentium-* | p5-*)
|
||||
basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'`
|
||||
;;
|
||||
pentiumpro-* | p6-*)
|
||||
basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
|
||||
;;
|
||||
k5)
|
||||
# We don't have specific support for AMD's K5 yet, so just call it a Pentium
|
||||
basic_machine=i586-amd
|
||||
;;
|
||||
nexen)
|
||||
# We don't have specific support for Nexgen yet, so just call it a Pentium
|
||||
basic_machine=i586-nexgen
|
||||
;;
|
||||
pn)
|
||||
basic_machine=pn-gould
|
||||
;;
|
||||
power) basic_machine=rs6000-ibm
|
||||
;;
|
||||
ppc) basic_machine=powerpc-unknown
|
||||
;;
|
||||
ppc-*) basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'`
|
||||
;;
|
||||
ppcle | powerpclittle | ppc-le | powerpc-little)
|
||||
basic_machine=powerpcle-unknown
|
||||
;;
|
||||
ppcle-* | powerpclittle-*)
|
||||
basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'`
|
||||
;;
|
||||
ps2)
|
||||
basic_machine=i386-ibm
|
||||
;;
|
||||
rm[46]00)
|
||||
basic_machine=mips-siemens
|
||||
;;
|
||||
rtpc | rtpc-*)
|
||||
basic_machine=romp-ibm
|
||||
;;
|
||||
sequent)
|
||||
basic_machine=i386-sequent
|
||||
;;
|
||||
sh)
|
||||
basic_machine=sh-hitachi
|
||||
os=-hms
|
||||
;;
|
||||
sps7)
|
||||
basic_machine=m68k-bull
|
||||
os=-sysv2
|
||||
;;
|
||||
spur)
|
||||
basic_machine=spur-unknown
|
||||
;;
|
||||
sun2)
|
||||
basic_machine=m68000-sun
|
||||
;;
|
||||
sun2os3)
|
||||
basic_machine=m68000-sun
|
||||
os=-sunos3
|
||||
;;
|
||||
sun2os4)
|
||||
basic_machine=m68000-sun
|
||||
os=-sunos4
|
||||
;;
|
||||
sun3os3)
|
||||
basic_machine=m68k-sun
|
||||
os=-sunos3
|
||||
;;
|
||||
sun3os4)
|
||||
basic_machine=m68k-sun
|
||||
os=-sunos4
|
||||
;;
|
||||
sun4os3)
|
||||
basic_machine=sparc-sun
|
||||
os=-sunos3
|
||||
;;
|
||||
sun4os4)
|
||||
basic_machine=sparc-sun
|
||||
os=-sunos4
|
||||
;;
|
||||
sun4sol2)
|
||||
basic_machine=sparc-sun
|
||||
os=-solaris2
|
||||
;;
|
||||
sun3 | sun3-*)
|
||||
basic_machine=m68k-sun
|
||||
;;
|
||||
sun4)
|
||||
basic_machine=sparc-sun
|
||||
;;
|
||||
sun386 | sun386i | roadrunner)
|
||||
basic_machine=i386-sun
|
||||
;;
|
||||
symmetry)
|
||||
basic_machine=i386-sequent
|
||||
os=-dynix
|
||||
;;
|
||||
tx39)
|
||||
basic_machine=mipstx39-unknown
|
||||
;;
|
||||
tx39el)
|
||||
basic_machine=mipstx39el-unknown
|
||||
;;
|
||||
tower | tower-32)
|
||||
basic_machine=m68k-ncr
|
||||
;;
|
||||
udi29k)
|
||||
basic_machine=a29k-amd
|
||||
os=-udi
|
||||
;;
|
||||
ultra3)
|
||||
basic_machine=a29k-nyu
|
||||
os=-sym1
|
||||
;;
|
||||
vaxv)
|
||||
basic_machine=vax-dec
|
||||
os=-sysv
|
||||
;;
|
||||
vms)
|
||||
basic_machine=vax-dec
|
||||
os=-vms
|
||||
;;
|
||||
vpp*|vx|vx-*)
|
||||
basic_machine=f301-fujitsu
|
||||
;;
|
||||
vxworks960)
|
||||
basic_machine=i960-wrs
|
||||
os=-vxworks
|
||||
;;
|
||||
vxworks68)
|
||||
basic_machine=m68k-wrs
|
||||
os=-vxworks
|
||||
;;
|
||||
vxworks29k)
|
||||
basic_machine=a29k-wrs
|
||||
os=-vxworks
|
||||
;;
|
||||
xmp)
|
||||
basic_machine=xmp-cray
|
||||
os=-unicos
|
||||
;;
|
||||
xps | xps100)
|
||||
basic_machine=xps100-honeywell
|
||||
;;
|
||||
none)
|
||||
basic_machine=none-none
|
||||
os=-none
|
||||
;;
|
||||
|
||||
# Here we handle the default manufacturer of certain CPU types. It is in
|
||||
# some cases the only manufacturer, in others, it is the most popular.
|
||||
mips)
|
||||
if [ x$os = x-linux-gnu ]; then
|
||||
basic_machine=mips-unknown
|
||||
else
|
||||
basic_machine=mips-mips
|
||||
fi
|
||||
;;
|
||||
romp)
|
||||
basic_machine=romp-ibm
|
||||
;;
|
||||
rs6000)
|
||||
basic_machine=rs6000-ibm
|
||||
;;
|
||||
vax)
|
||||
basic_machine=vax-dec
|
||||
;;
|
||||
pdp11)
|
||||
basic_machine=pdp11-dec
|
||||
;;
|
||||
we32k)
|
||||
basic_machine=we32k-att
|
||||
;;
|
||||
sparc)
|
||||
basic_machine=sparc-sun
|
||||
;;
|
||||
cydra)
|
||||
basic_machine=cydra-cydrome
|
||||
;;
|
||||
orion)
|
||||
basic_machine=orion-highlevel
|
||||
;;
|
||||
orion105)
|
||||
basic_machine=clipper-highlevel
|
||||
;;
|
||||
*)
|
||||
echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
|
||||
# Here we canonicalize certain aliases for manufacturers.
|
||||
case $basic_machine in
|
||||
*-digital*)
|
||||
basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'`
|
||||
;;
|
||||
*-commodore*)
|
||||
basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'`
|
||||
;;
|
||||
*)
|
||||
;;
|
||||
esac
|
||||
|
||||
# Decode manufacturer-specific aliases for certain operating systems.
|
||||
|
||||
if [ x"$os" != x"" ]
|
||||
then
|
||||
case $os in
|
||||
# First match some system type aliases
|
||||
# that might get confused with valid system types.
|
||||
# -solaris* is a basic system type, with this one exception.
|
||||
-solaris1 | -solaris1.*)
|
||||
os=`echo $os | sed -e 's|solaris1|sunos4|'`
|
||||
;;
|
||||
-solaris)
|
||||
os=-solaris2
|
||||
;;
|
||||
-svr4*)
|
||||
os=-sysv4
|
||||
;;
|
||||
-unixware*)
|
||||
os=-sysv4.2uw
|
||||
;;
|
||||
-gnu/linux*)
|
||||
os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'`
|
||||
;;
|
||||
# First accept the basic system types.
|
||||
# The portable systems comes first.
|
||||
# Each alternative MUST END IN A *, to match a version number.
|
||||
# -sysv* is not here because it comes later, after sysvr4.
|
||||
-gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \
|
||||
| -*vms* | -sco* | -esix* | -isc* | -aix* | -sunos | -sunos[34]*\
|
||||
| -hpux* | -unos* | -osf* | -luna* | -dgux* | -solaris* | -sym* \
|
||||
| -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \
|
||||
| -aos* \
|
||||
| -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
|
||||
| -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
|
||||
| -hiux* | -386bsd* | -netbsd* | -openbsd* | -freebsd* | -riscix* \
|
||||
| -lynxos* | -bosx* | -nextstep* | -cxux* | -aout* | -elf* \
|
||||
| -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
|
||||
| -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
|
||||
| -cygwin32* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
|
||||
| -mingw32* | -linux-gnu* | -uxpv*)
|
||||
# Remember, each alternative MUST END IN *, to match a version number.
|
||||
;;
|
||||
-linux*)
|
||||
os=`echo $os | sed -e 's|linux|linux-gnu|'`
|
||||
;;
|
||||
-sunos5*)
|
||||
os=`echo $os | sed -e 's|sunos5|solaris2|'`
|
||||
;;
|
||||
-sunos6*)
|
||||
os=`echo $os | sed -e 's|sunos6|solaris3|'`
|
||||
;;
|
||||
-osfrose*)
|
||||
os=-osfrose
|
||||
;;
|
||||
-osf*)
|
||||
os=-osf
|
||||
;;
|
||||
-utek*)
|
||||
os=-bsd
|
||||
;;
|
||||
-dynix*)
|
||||
os=-bsd
|
||||
;;
|
||||
-acis*)
|
||||
os=-aos
|
||||
;;
|
||||
-ctix* | -uts*)
|
||||
os=-sysv
|
||||
;;
|
||||
-ns2 )
|
||||
os=-nextstep2
|
||||
;;
|
||||
# Preserve the version number of sinix5.
|
||||
-sinix5.*)
|
||||
os=`echo $os | sed -e 's|sinix|sysv|'`
|
||||
;;
|
||||
-sinix*)
|
||||
os=-sysv4
|
||||
;;
|
||||
-triton*)
|
||||
os=-sysv3
|
||||
;;
|
||||
-oss*)
|
||||
os=-sysv3
|
||||
;;
|
||||
-svr4)
|
||||
os=-sysv4
|
||||
;;
|
||||
-svr3)
|
||||
os=-sysv3
|
||||
;;
|
||||
-sysvr4)
|
||||
os=-sysv4
|
||||
;;
|
||||
# This must come after -sysvr4.
|
||||
-sysv*)
|
||||
;;
|
||||
-xenix)
|
||||
os=-xenix
|
||||
;;
|
||||
-none)
|
||||
;;
|
||||
*)
|
||||
# Get rid of the `-' at the beginning of $os.
|
||||
os=`echo $os | sed 's/[^-]*-//'`
|
||||
echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
else
|
||||
|
||||
# Here we handle the default operating systems that come with various machines.
|
||||
# The value should be what the vendor currently ships out the door with their
|
||||
# machine or put another way, the most popular os provided with the machine.
|
||||
|
||||
# Note that if you're going to try to match "-MANUFACTURER" here (say,
|
||||
# "-sun"), then you have to tell the case statement up towards the top
|
||||
# that MANUFACTURER isn't an operating system. Otherwise, code above
|
||||
# will signal an error saying that MANUFACTURER isn't an operating
|
||||
# system, and we'll never get to this point.
|
||||
|
||||
case $basic_machine in
|
||||
*-acorn)
|
||||
os=-riscix1.2
|
||||
;;
|
||||
arm*-semi)
|
||||
os=-aout
|
||||
;;
|
||||
pdp11-*)
|
||||
os=-none
|
||||
;;
|
||||
*-dec | vax-*)
|
||||
os=-ultrix4.2
|
||||
;;
|
||||
m68*-apollo)
|
||||
os=-domain
|
||||
;;
|
||||
i386-sun)
|
||||
os=-sunos4.0.2
|
||||
;;
|
||||
m68000-sun)
|
||||
os=-sunos3
|
||||
# This also exists in the configure program, but was not the
|
||||
# default.
|
||||
# os=-sunos4
|
||||
;;
|
||||
*-tti) # must be before sparc entry or we get the wrong os.
|
||||
os=-sysv3
|
||||
;;
|
||||
sparc-* | *-sun)
|
||||
os=-sunos4.1.1
|
||||
;;
|
||||
*-ibm)
|
||||
os=-aix
|
||||
;;
|
||||
*-hp)
|
||||
os=-hpux
|
||||
;;
|
||||
*-hitachi)
|
||||
os=-hiux
|
||||
;;
|
||||
i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent)
|
||||
os=-sysv
|
||||
;;
|
||||
*-cbm)
|
||||
os=-amigaos
|
||||
;;
|
||||
*-dg)
|
||||
os=-dgux
|
||||
;;
|
||||
*-dolphin)
|
||||
os=-sysv3
|
||||
;;
|
||||
m68k-ccur)
|
||||
os=-rtu
|
||||
;;
|
||||
m88k-omron*)
|
||||
os=-luna
|
||||
;;
|
||||
*-next )
|
||||
os=-nextstep
|
||||
;;
|
||||
*-sequent)
|
||||
os=-ptx
|
||||
;;
|
||||
*-crds)
|
||||
os=-unos
|
||||
;;
|
||||
*-ns)
|
||||
os=-genix
|
||||
;;
|
||||
i370-*)
|
||||
os=-mvs
|
||||
;;
|
||||
*-next)
|
||||
os=-nextstep3
|
||||
;;
|
||||
*-gould)
|
||||
os=-sysv
|
||||
;;
|
||||
*-highlevel)
|
||||
os=-bsd
|
||||
;;
|
||||
*-encore)
|
||||
os=-bsd
|
||||
;;
|
||||
*-sgi)
|
||||
os=-irix
|
||||
;;
|
||||
*-siemens)
|
||||
os=-sysv4
|
||||
;;
|
||||
*-masscomp)
|
||||
os=-rtu
|
||||
;;
|
||||
f301-fujitsu)
|
||||
os=-uxpv
|
||||
;;
|
||||
*)
|
||||
os=-none
|
||||
;;
|
||||
esac
|
||||
fi
|
||||
|
||||
# Here we handle the case where we know the os, and the CPU type, but not the
|
||||
# manufacturer. We pick the logical manufacturer.
|
||||
vendor=unknown
|
||||
case $basic_machine in
|
||||
*-unknown)
|
||||
case $os in
|
||||
-riscix*)
|
||||
vendor=acorn
|
||||
;;
|
||||
-sunos*)
|
||||
vendor=sun
|
||||
;;
|
||||
-aix*)
|
||||
vendor=ibm
|
||||
;;
|
||||
-hpux*)
|
||||
vendor=hp
|
||||
;;
|
||||
-hiux*)
|
||||
vendor=hitachi
|
||||
;;
|
||||
-unos*)
|
||||
vendor=crds
|
||||
;;
|
||||
-dgux*)
|
||||
vendor=dg
|
||||
;;
|
||||
-luna*)
|
||||
vendor=omron
|
||||
;;
|
||||
-genix*)
|
||||
vendor=ns
|
||||
;;
|
||||
-mvs*)
|
||||
vendor=ibm
|
||||
;;
|
||||
-ptx*)
|
||||
vendor=sequent
|
||||
;;
|
||||
-vxsim* | -vxworks*)
|
||||
vendor=wrs
|
||||
;;
|
||||
-aux*)
|
||||
vendor=apple
|
||||
;;
|
||||
esac
|
||||
basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"`
|
||||
;;
|
||||
esac
|
||||
|
||||
echo $basic_machine$os
|
47
build/dir.mk
Normal file
47
build/dir.mk
Normal file
@ -0,0 +1,47 @@
|
||||
##---------------------------------------------------------------------------
|
||||
##
|
||||
## Makes subdirectories
|
||||
##
|
||||
|
||||
|
||||
all-common: FORCE
|
||||
@echo "Making all in `$(PWD)`"
|
||||
@for i in $(SUBDIRS) $(ALLDIRS); do \
|
||||
echo " Entering subdirectory $$i"; \
|
||||
( cd $$i; $(MAKE) $(MFLAGS) all ); \
|
||||
echo " "; \
|
||||
done
|
||||
|
||||
install-common: FORCE
|
||||
@echo "Making install in `$(PWD)`"
|
||||
@for i in $(SUBDIRS) $(INSTALLDIRS); do \
|
||||
echo " Entering subdirectory $$i"; \
|
||||
( cd $$i; $(MAKE) $(MFLAGS) install ); \
|
||||
echo " "; \
|
||||
done
|
||||
|
||||
clean-common: FORCE
|
||||
@echo "Making clean in `$(PWD)`"
|
||||
@for i in $(SUBDIRS) $(CLEANDIRS); do \
|
||||
echo " Entering subdirectory $$i"; \
|
||||
( cd $$i; $(MAKE) $(MFLAGS) clean ); \
|
||||
echo " "; \
|
||||
done
|
||||
|
||||
veryclean-common: FORCE
|
||||
@echo "Making veryclean in `$(PWD)`"
|
||||
@for i in $(SUBDIRS) $(CLEANDIRS); do \
|
||||
echo " Entering subdirectory $$i"; \
|
||||
( cd $$i; $(MAKE) $(MFLAGS) veryclean ); \
|
||||
echo " "; \
|
||||
done
|
||||
|
||||
depend-common: FORCE
|
||||
@echo "Making depend in `$(PWD)`"
|
||||
@for i in $(SUBDIRS) $(DEPENDDIRS); do \
|
||||
echo " Entering subdirectory $$i"; \
|
||||
( cd $$i; $(MAKE) $(MFLAGS) depend ); \
|
||||
echo " "; \
|
||||
done
|
||||
|
||||
Makefile: $(top_srcdir)/build/dir.mk
|
20
build/lib-shared.mk
Normal file
20
build/lib-shared.mk
Normal file
@ -0,0 +1,20 @@
|
||||
##---------------------------------------------------------------------------
|
||||
##
|
||||
## Makefile Template for Shared Libraries
|
||||
##
|
||||
|
||||
LINK = $(LTLINK) -version-info $(LIBVERSION)
|
||||
COMPILE = $(LIBTOOL) --mode=compile $(CC) $(CFLAGS) -c
|
||||
MKDEPFLAG = -l
|
||||
|
||||
.SUFFIXES: .c .o .lo
|
||||
|
||||
.c.lo:
|
||||
$(COMPILE) $<
|
||||
|
||||
$(LIBRARY): version.lo
|
||||
$(LINK) -rpath $(libdir) -o $@ $(OBJS) version.lo
|
||||
@$(RM) ../$@; \
|
||||
(d=`$(PWD)` ; $(LN_S) `$(BASENAME) $$d`/$@ ../$@)
|
||||
|
||||
Makefile: $(top_srcdir)/build/lib-shared.mk
|
12
build/lib-static.mk
Normal file
12
build/lib-static.mk
Normal file
@ -0,0 +1,12 @@
|
||||
##---------------------------------------------------------------------------
|
||||
##
|
||||
## Makefile Template for Static Libraries
|
||||
##
|
||||
|
||||
$(LIBRARY): version.o
|
||||
$(AR) ru $@ $(OBJS) version.o
|
||||
@$(RANLIB) $@; \
|
||||
$(RM) ../$@; \
|
||||
(d=`$(PWD)` ; $(LN_S) `$(BASENAME) $$d`/$@ ../$@)
|
||||
|
||||
Makefile: $(top_srcdir)/build/lib-static.mk
|
34
build/lib.mk
Normal file
34
build/lib.mk
Normal file
@ -0,0 +1,34 @@
|
||||
##---------------------------------------------------------------------------
|
||||
##
|
||||
## Makefile Template for Libraries
|
||||
##
|
||||
|
||||
all-common: $(LIBRARY) $(PROGRAMS)
|
||||
|
||||
version.c: $(OBJS) $(srcdir)/Version.c
|
||||
$(RM) $@
|
||||
(u=$${USER-root} v=`$(CAT) $(VERSIONFILE)` d=`$(PWD)` \
|
||||
h=`$(HOSTNAME)` t=`$(DATE)`; $(SED) -e "s|%WHEN%|$${t}|" \
|
||||
-e "s|%WHOANDWHERE%|$${u}@$${h}:$${d}|" \
|
||||
-e "s|%VERSION%|$${v}|" \
|
||||
< $(srcdir)/Version.c > $@)
|
||||
|
||||
install-common: FORCE
|
||||
|
||||
lint: lint-local FORCE
|
||||
$(LINT) $(DEFS) $(DEFINES) $(SRCS)
|
||||
|
||||
lint5: lint5-local FORCE
|
||||
$(5LINT) $(DEFS) $(DEFINES) $(SRCS)
|
||||
|
||||
clean-common: FORCE
|
||||
$(RM) $(LIBRARY) ../$(LIBRARY) $(PROGRAMS) $(XPROGRAMS) $(XSRCS) \
|
||||
*.o *.lo a.out core version.c .libs/*
|
||||
|
||||
depend-common: FORCE
|
||||
$(MKDEP) $(DEFS) $(DEFINES) $(SRCS)
|
||||
|
||||
lint-local: FORCE
|
||||
lint5-local: FORCE
|
||||
|
||||
Makefile: $(top_srcdir)/build/lib.mk
|
1512
build/ltconfig
Executable file
1512
build/ltconfig
Executable file
File diff suppressed because it is too large
Load Diff
2453
build/ltmain.sh
Executable file
2453
build/ltmain.sh
Executable file
File diff suppressed because it is too large
Load Diff
35
build/man.mk
Normal file
35
build/man.mk
Normal file
@ -0,0 +1,35 @@
|
||||
##---------------------------------------------------------------------------
|
||||
##
|
||||
## Makefile Template for Manual Pages
|
||||
##
|
||||
|
||||
MANDIR=$(mandir)/man$(MANSECT)
|
||||
|
||||
install-common: FORCE
|
||||
-$(MKDIR) -p $(MANDIR)
|
||||
@TMPMAN=/tmp/ldapman.$$$$$(MANCOMPRESSSUFFIX); \
|
||||
VERSION=`$(CAT) $(VERSIONFILE)`; \
|
||||
for page in *.$(MANSECT); do \
|
||||
$(SED) -e "s%LDVERSION%$$VERSION%" \
|
||||
-e 's%ETCDIR%$(sysconfdir)%' \
|
||||
-e 's%SYSCONFDIR%$(sysconfdir)%' \
|
||||
-e 's%SBINDIR%$(sbindir)%' \
|
||||
-e 's%BINDIR%$(bindir)%' \
|
||||
-e 's%LIBDIR%$(libdir)%' \
|
||||
-e 's%LIBEXECDIR%$(libexecdir)%' \
|
||||
$$page | $(MANCOMPRESS) > $$TMPMAN; \
|
||||
echo "installing $(MANDIR)/$$page"; \
|
||||
$(RM) $(MANDIR)/$$page $(MANDIR)/$$page$(MANCOMPRESSSUFFIX); \
|
||||
$(INSTALL) $(INSTALLFLAGS) -m 644 $$TMPMAN $(MANDIR)/$$page$(MANCOMPRESSSUFFIX); \
|
||||
if [ -f "$$page.links" ]; then \
|
||||
for link in `$(CAT) $$page.links`; do \
|
||||
echo "installing $(MANDIR)/$$link as link to $$page"; \
|
||||
$(RM) $(INSTDIR)/$$link $(MANDIR)/$$link$(MANCOMPRESSSUFFIX); \
|
||||
ln -sf $$page$(MANCOMPRESSSUFFIX) $(MANDIR)/$$link$(MANCOMPRESSSUFFIX); \
|
||||
done; \
|
||||
fi; \
|
||||
done; \
|
||||
$(RM) $$TMPMAN
|
||||
|
||||
Makefile: $(top_srcdir)/build/lib.mk
|
||||
|
10
build/mkdep
10
build/mkdep
@ -25,7 +25,7 @@ set -e # exit immediately if any errors occur
|
||||
|
||||
MAKE=Makefile # default makefile name is "Makefile"
|
||||
NOSLASH="no" # by default, / dependencies are included
|
||||
CC=cc # default compiler is cc
|
||||
CC=${CC-cc} # default compiler is cc
|
||||
|
||||
while :
|
||||
do case "$1" in
|
||||
@ -45,6 +45,12 @@ while :
|
||||
SED='s;\.o;;'
|
||||
shift ;;
|
||||
|
||||
|
||||
# the -l flag produces libtool compatible dependencies
|
||||
-l)
|
||||
SED='s;\.o:;.lo:;'
|
||||
shift ;;
|
||||
|
||||
# the -s flag removes dependencies to files that begin with /
|
||||
-s)
|
||||
NOSLASH=yes;
|
||||
@ -58,7 +64,7 @@ while :
|
||||
done
|
||||
|
||||
if [ $# = 0 ] ; then
|
||||
echo 'usage: mkdep [-p] [-f makefile] [flags] file ...'
|
||||
echo 'usage: mkdep [-p] [-s] [-c cc] [-f makefile] [flags] file ...'
|
||||
exit 1
|
||||
fi
|
||||
|
||||
|
396
build/openldap.m4
Normal file
396
build/openldap.m4
Normal file
@ -0,0 +1,396 @@
|
||||
dnl
|
||||
dnl OpenLDAP Autoconf Macros
|
||||
dnl
|
||||
dnl builtin(include, build/libtool.m4)dnl
|
||||
dnl --------------------------------------------------------------------
|
||||
dnl Restricted form of AC_ARG_ENABLE that limits user options
|
||||
dnl
|
||||
dnl $1 = option name
|
||||
dnl $2 = help-string
|
||||
dnl $3 = default value (auto)
|
||||
dnl $4 = allowed values (auto yes no)
|
||||
AC_DEFUN([OL_ARG_ENABLE], [# OpenLDAP --enable-$1
|
||||
AC_ARG_ENABLE($1,[$2 (]ifelse($3,,auto,$3)[)],[
|
||||
ol_arg=invalid
|
||||
for ol_val in ifelse($4,,[auto yes no],[$4]) ; do
|
||||
if test "$enableval" = "$ol_val" ; then
|
||||
ol_arg="$ol_val"
|
||||
fi
|
||||
done
|
||||
if test "$ol_arg" = "invalid" ; then
|
||||
AC_MSG_ERROR(bad value $enableval for --enable-$1)
|
||||
fi
|
||||
ol_enable_$1="$ol_arg"
|
||||
],
|
||||
[ ol_enable_$1=ifelse($3,,"auto","$3")])dnl
|
||||
dnl AC_VERBOSE(OpenLDAP -enable-$1 $ol_enable_$1)
|
||||
# end --enable-$1
|
||||
])dnl
|
||||
dnl
|
||||
dnl --------------------------------------------------------------------
|
||||
dnl Restricted form of AC_ARG_WITH that limits user options
|
||||
dnl
|
||||
dnl $1 = option name
|
||||
dnl $2 = help-string
|
||||
dnl $3 = default value (no)
|
||||
dnl $4 = allowed values (yes or no)
|
||||
AC_DEFUN([OL_ARG_WITH], [# OpenLDAP --with-$1
|
||||
AC_ARG_WITH($1,[$2 (]ifelse($3,,yes,$3)[)],[
|
||||
ol_arg=invalid
|
||||
for ol_val in ifelse($4,,[yes no],[$4]) ; do
|
||||
if test "$withval" = "$ol_val" ; then
|
||||
ol_arg="$ol_val"
|
||||
fi
|
||||
done
|
||||
if test "$ol_arg" = "invalid" ; then
|
||||
AC_MSG_ERROR(bad value $withval for --with-$1)
|
||||
fi
|
||||
ol_with_$1="$ol_arg"
|
||||
],
|
||||
[ ol_with_$1=ifelse($3,,"no","$3")])dnl
|
||||
dnl AC_VERBOSE(OpenLDAP --with-$1 $ol_with_$1)
|
||||
# end --with-$1
|
||||
])dnl
|
||||
dnl
|
||||
dnl ====================================================================
|
||||
dnl Check if db.h is Berkeley DB2
|
||||
dnl
|
||||
dnl defines ol_cv_header_db2 to 'yes' or 'no'
|
||||
dnl
|
||||
dnl uses:
|
||||
dnl AC_CHECK_HEADERS(db.h)
|
||||
dnl
|
||||
AC_DEFUN([OL_HEADER_BERKELEY_DB2],
|
||||
[AC_CHECK_HEADERS(db.h)
|
||||
if test $ac_cv_header_db_h = yes ; then
|
||||
AC_CACHE_CHECK([if db.h is DB2], [ol_cv_header_db2],[
|
||||
AC_EGREP_CPP(__db_version_2,[
|
||||
# include <db.h>
|
||||
/* this check could be improved */
|
||||
# ifdef DB_VERSION_MAJOR
|
||||
# if DB_VERSION_MAJOR == 2
|
||||
__db_version_2
|
||||
# endif
|
||||
# endif
|
||||
], ol_cv_header_db2=yes, ol_cv_header_db2=no)])
|
||||
else
|
||||
ol_cv_header_db2=no
|
||||
fi
|
||||
])dnl
|
||||
dnl --------------------------------------------------------------------
|
||||
dnl Check if Berkeley DB2 library exists
|
||||
dnl Check for dbopen in standard libraries or -ldb
|
||||
dnl
|
||||
dnl defines ol_cv_lib_db2 to '-ldb' or 'no'
|
||||
dnl
|
||||
dnl uses:
|
||||
dnl AC_CHECK_LIB(db,db_open)
|
||||
dnl
|
||||
AC_DEFUN([OL_LIB_BERKELEY_DB2],
|
||||
[AC_CACHE_CHECK([for DB2 library], [ol_cv_lib_db2],
|
||||
[ ol_LIBS="$LIBS"
|
||||
AC_CHECK_LIB(db,db_open,[ol_cv_lib_db2=-ldb],[ol_cv_lib_db2=no])
|
||||
LIBS="$ol_LIBS"
|
||||
])
|
||||
])dnl
|
||||
dnl
|
||||
dnl --------------------------------------------------------------------
|
||||
dnl Check if Berkeley db2 exists
|
||||
dnl
|
||||
dnl defines ol_cv_berkeley_db2 to 'yes' or 'no'
|
||||
dnl
|
||||
dnl uses:
|
||||
dnl OL_LIB_BERKELEY_DB2
|
||||
dnl OL_HEADER_BERKELEY_DB2
|
||||
dnl
|
||||
AC_DEFUN([OL_BERKELEY_DB2],
|
||||
[AC_REQUIRE([OL_LIB_BERKELEY_DB2])
|
||||
AC_REQUIRE([OL_HEADER_BERKELEY_DB2])
|
||||
AC_CACHE_CHECK([for Berkeley DB2], [ol_cv_berkeley_db2], [
|
||||
if test $ol_cv_lib_db2 = no -o $ol_cv_header_db2 = no ; then
|
||||
ol_cv_berkeley_db2=no
|
||||
else
|
||||
ol_cv_berkeley_db2=yes
|
||||
fi
|
||||
])
|
||||
if test $ol_cv_berkeley_db2 = yes ; then
|
||||
AC_DEFINE(HAVE_BERKELEY_DB2,1)
|
||||
fi
|
||||
])dnl
|
||||
dnl
|
||||
dnl ====================================================================
|
||||
dnl Check for db.h/db_185.h is Berkeley DB
|
||||
dnl
|
||||
dnl defines ol_cv_header_db to 'yes' or 'no'
|
||||
dnl
|
||||
dnl uses:
|
||||
dnl OL_HEADER_BERKELEY_DB2
|
||||
dnl AC_CHECK_HEADERS(db_185.h)
|
||||
dnl
|
||||
AC_DEFUN([OL_HEADER_BERKELEY_DB],
|
||||
[AC_REQUIRE([OL_HEADER_BERKELEY_DB2])
|
||||
AC_CHECK_HEADERS(db_185.h)
|
||||
if test $ol_cv_header_db2 = yes ; then
|
||||
dnl db.h is db2!
|
||||
|
||||
ol_cv_header_db=$ac_cv_header_db_185_h
|
||||
else
|
||||
ol_cv_header_db=$ac_cv_header_db_h
|
||||
fi
|
||||
])dnl
|
||||
dnl
|
||||
dnl --------------------------------------------------------------------
|
||||
dnl Check if Berkeley DB library exists
|
||||
dnl Check for dbopen in standard libraries or -ldb
|
||||
dnl
|
||||
dnl defines ol_cv_lib_db to 'yes' or '-ldb' or 'no'
|
||||
dnl 'yes' implies dbopen is in $LIBS
|
||||
dnl
|
||||
dnl uses:
|
||||
dnl AC_CHECK_FUNC(dbopen)
|
||||
dnl AC_CHECK_LIB(db,dbopen)
|
||||
dnl
|
||||
AC_DEFUN([OL_LIB_BERKELEY_DB],
|
||||
[AC_CACHE_CHECK([for Berkeley DB library], [ol_cv_lib_db],
|
||||
[ ol_LIBS="$LIBS"
|
||||
AC_CHECK_FUNC(dbopen,[ol_cv_lib_db=yes], [
|
||||
AC_CHECK_LIB(db,dbopen,[ol_cv_lib_db=-ldb],[ol_cv_lib_db=no])
|
||||
])
|
||||
LIBS="$ol_LIBS"
|
||||
])
|
||||
])dnl
|
||||
dnl
|
||||
dnl --------------------------------------------------------------------
|
||||
dnl Check if Berkeley DB exists
|
||||
dnl
|
||||
dnl defines ol_cv_berkeley_db to 'yes' or 'no'
|
||||
dnl
|
||||
dnl uses:
|
||||
dnl OL_LIB_BERKELEY_DB
|
||||
dnl OL_HEADER_BERKELEY_DB
|
||||
dnl
|
||||
AC_DEFUN([OL_BERKELEY_DB],
|
||||
[AC_REQUIRE([OL_LIB_BERKELEY_DB])
|
||||
AC_REQUIRE([OL_HEADER_BERKELEY_DB])
|
||||
AC_CACHE_CHECK([for Berkeley DB], [ol_cv_berkeley_db], [
|
||||
if test $ol_cv_lib_db = no -o $ol_cv_header_db = no ; then
|
||||
ol_cv_berkeley_db=no
|
||||
else
|
||||
ol_cv_berkeley_db=yes
|
||||
fi
|
||||
])
|
||||
if test $ol_cv_berkeley_db = yes ; then
|
||||
AC_DEFINE(HAVE_BERKELEY_DB,1)
|
||||
fi
|
||||
])dnl
|
||||
dnl
|
||||
dnl ====================================================================
|
||||
dnl Check if GDBM library exists
|
||||
dnl Check for gdbm_open in standard libraries or -lgdbm
|
||||
dnl
|
||||
dnl defines ol_cv_lib_gdbm to 'yes' or '-lgdbm' or 'no'
|
||||
dnl 'yes' implies gdbm_open is in $LIBS
|
||||
dnl
|
||||
dnl uses:
|
||||
dnl AC_CHECK_FUNC(gdbm_open)
|
||||
dnl AC_CHECK_LIB(gdbm,gdbm_open)
|
||||
dnl
|
||||
AC_DEFUN([OL_LIB_GDBM],
|
||||
[AC_CACHE_CHECK(for GDBM library, [ol_cv_lib_gdbm],
|
||||
[ ol_LIBS="$LIBS"
|
||||
AC_CHECK_FUNC(gdbm_open,[ol_cv_lib_gdbm=yes], [
|
||||
AC_CHECK_LIB(gdbm,gdbm_open,[ol_cv_lib_gdbm=-lgdbm],[ol_cv_lib_gdbm=no])
|
||||
])
|
||||
LIBS="$ol_LIBS"
|
||||
])
|
||||
])dnl
|
||||
dnl
|
||||
dnl --------------------------------------------------------------------
|
||||
dnl Check if GDBM exists
|
||||
dnl
|
||||
dnl defines ol_cv_gdbm to 'yes' or 'no'
|
||||
dnl
|
||||
dnl uses:
|
||||
dnl OL_LIB_GDBM
|
||||
dnl AC_CHECK_HEADERS(gdbm.h)
|
||||
dnl
|
||||
AC_DEFUN([OL_GDBM],
|
||||
[AC_REQUIRE([OL_LIB_GDBM])
|
||||
AC_CHECK_HEADERS(gdbm.h)
|
||||
AC_CACHE_CHECK(for db, [ol_cv_gdbm], [
|
||||
if test $ol_cv_lib_gdbm = no -o $ac_cv_header_gdbm_h = no ; then
|
||||
ol_cv_gdbm=no
|
||||
else
|
||||
ol_cv_gdbm=yes
|
||||
fi
|
||||
])
|
||||
if test $ol_cv_gdbm = yes ; then
|
||||
AC_DEFINE(HAVE_GDBM,1)
|
||||
fi
|
||||
])dnl
|
||||
dnl
|
||||
dnl ====================================================================
|
||||
dnl Check if NDBM library exists
|
||||
dnl Check for dbm_open in standard libraries or -lndbm or -ldbm
|
||||
dnl
|
||||
dnl defines ol_cv_lib_ndbm to 'yes' or '-lndbm' or -ldbm or 'no'
|
||||
dnl 'yes' implies ndbm_open is in $LIBS
|
||||
dnl
|
||||
dnl uses:
|
||||
dnl AC_CHECK_FUNC(dbm_open)
|
||||
dnl AC_CHECK_LIB(ndbm,dbm_open)
|
||||
dnl AC_CHECK_LIB(dbm,dbm_open)
|
||||
dnl
|
||||
dnl restrictions:
|
||||
dnl should also check SVR4 case: dbm_open() in -lucb but that
|
||||
dnl would requiring dealing with -L/usr/ucblib
|
||||
dnl
|
||||
AC_DEFUN([OL_LIB_NDBM],
|
||||
[AC_CACHE_CHECK(for NDBM library, [ol_cv_lib_ndbm],
|
||||
[ ol_LIBS="$LIBS"
|
||||
AC_CHECK_FUNC(dbm_open,[ol_cv_lib_ndbm=yes], [
|
||||
AC_CHECK_LIB(ndbm,dbm_open,[ol_cv_lib_ndbm=-lndbm], [
|
||||
AC_CHECK_LIB(dbm,dbm_open,[ol_cv_lib_ndbm=-ldbm],
|
||||
[ol_cv_lib_ndbm=no])dnl
|
||||
])
|
||||
])
|
||||
LIBS="$ol_LIBS"
|
||||
])
|
||||
])dnl
|
||||
dnl
|
||||
dnl --------------------------------------------------------------------
|
||||
dnl Check if NDBM exists
|
||||
dnl
|
||||
dnl defines ol_cv_ndbm to 'yes' or 'no'
|
||||
dnl
|
||||
dnl uses:
|
||||
dnl OL_LIB_NDBM
|
||||
dnl AC_CHECK_HEADERS(ndbm.h)
|
||||
dnl
|
||||
dnl restrictions:
|
||||
dnl Doesn't handle SVR4 case (see above)
|
||||
dnl
|
||||
AC_DEFUN([OL_NDBM],
|
||||
[AC_REQUIRE([OL_LIB_NDBM])
|
||||
AC_CHECK_HEADERS(ndbm.h)
|
||||
AC_CACHE_CHECK(for db, [ol_cv_ndbm], [
|
||||
if test $ol_cv_lib_ndbm = no -o $ac_cv_header_ndbm_h = no ; then
|
||||
ol_cv_ndbm=no
|
||||
else
|
||||
ol_cv_ndbm=yes
|
||||
fi
|
||||
])
|
||||
if test $ol_cv_ndbm = yes ; then
|
||||
AC_DEFINE(HAVE_NDBM,1)
|
||||
fi
|
||||
])dnl
|
||||
dnl
|
||||
dnl ====================================================================
|
||||
dnl Check POSIX Thread version
|
||||
dnl
|
||||
dnl defines ol_cv_posix_version to 'final' or 'draft' or 'unknown'
|
||||
dnl 'unknown' implies that the version could not be detected
|
||||
dnl or that pthreads.h does exist. Existance of pthreads.h
|
||||
dnl should be tested separately.
|
||||
dnl
|
||||
AC_DEFUN([OL_POSIX_THREAD_VERSION],
|
||||
[AC_CACHE_CHECK([POSIX thread version],[ol_cv_pthread_version],[
|
||||
AC_EGREP_CPP(final,[
|
||||
# include <pthread.h>
|
||||
/* this check could be improved */
|
||||
# ifdef PTHREAD_ONCE_INIT
|
||||
final
|
||||
# endif
|
||||
], ol_pthread_final=yes, ol_pthread_final=no)
|
||||
|
||||
AC_EGREP_CPP(draft4,[
|
||||
# include <pthread.h>
|
||||
/* this check could be improved */
|
||||
# ifdef pthread_once_init
|
||||
draft4
|
||||
# endif
|
||||
], ol_pthread_draft4=yes, ol_pthread_draft4=no)
|
||||
|
||||
if test $ol_pthread_final = yes -a $ol_pthread_draft4 = no; then
|
||||
ol_cv_pthread_version=final
|
||||
elif test $ol_pthread_final = no -a $ol_pthread_draft4 = yes; then
|
||||
ol_cv_pthread_version=draft4
|
||||
else
|
||||
ol_cv_pthread_version=unknown
|
||||
fi
|
||||
])
|
||||
])dnl
|
||||
dnl
|
||||
dnl --------------------------------------------------------------------
|
||||
dnl Check LinuxThread
|
||||
dnl
|
||||
dnl defines ol_cv_linux_threads to 'yes' or 'no'
|
||||
dnl 'no' implies pthreads.h is not LinuxThreads or pthreads.h
|
||||
dnl doesn't exists. Existance of pthread.h should separately
|
||||
dnl checked.
|
||||
dnl
|
||||
AC_DEFUN([OL_LINUX_THREADS],
|
||||
[
|
||||
AC_CACHE_CHECK([for LinuxThreads], [ol_cv_linux_threads], [
|
||||
res=`grep Linuxthreads /usr/include/pthread.h 2>/dev/null | wc -l`
|
||||
if test "$res" -gt 0 ; then
|
||||
ol_cv_linux_threads=yes
|
||||
else
|
||||
ol_cv_linux_threads=no
|
||||
fi
|
||||
])
|
||||
])dnl
|
||||
dnl
|
||||
dnl ====================================================================
|
||||
dnl Check if toupper() requires islower() to be called first
|
||||
AC_DEFUN([OL_C_UPPER_LOWER],
|
||||
[
|
||||
AC_MSG_CHECKING([if toupper() requires islower()])
|
||||
AC_CACHE_VAL(ol_cv_c_upper_lower,[
|
||||
AC_TRY_RUN([
|
||||
#include <ctype.h>
|
||||
main()
|
||||
{
|
||||
if ('C' == toupper('C'))
|
||||
exit(0);
|
||||
else
|
||||
exit(1);
|
||||
}],
|
||||
[ol_cv_c_upper_lower=no],
|
||||
[ol_cv_c_upper_lower=yes],
|
||||
[ol_cv_c_upper_lower=safe])])
|
||||
AC_MSG_RESULT($ol_cv_c_upper_lower)
|
||||
if test $ol_cv_c_upper_lower != no ; then
|
||||
AC_DEFINE(C_UPPER_LOWER,1)
|
||||
fi
|
||||
])
|
||||
|
||||
dnl ====================================================================
|
||||
dnl Check for declaration of sys_errlist in one of stdio.h and errno.h.
|
||||
dnl Declaration of sys_errlist on BSD4.4 interferes with our declaration.
|
||||
dnl Reported by Keith Bostic.
|
||||
AC_DEFUN([OL_SYS_ERRLIST],
|
||||
[
|
||||
AC_MSG_CHECKING([declaration of sys_errlist])
|
||||
AC_CACHE_VAL(ol_cv_dcl_sys_errlist,[
|
||||
AC_TRY_COMPILE([
|
||||
#include <stdio.h>
|
||||
#include <sys/types.h>
|
||||
#include <errno.h> ],
|
||||
[char *c = (char *) *sys_errlist],
|
||||
[ol_cv_dcl_sys_errlist=yes],
|
||||
[ol_cv_dcl_sys_errlist=no])])
|
||||
AC_MSG_RESULT($ol_cv_dcl_sys_errlist)
|
||||
|
||||
# It's possible (for near-UNIX clones) that sys_errlist doesn't exist
|
||||
if test $ol_cv_dcl_sys_errlist = no ; then
|
||||
AC_DEFINE(DECL_SYS_ERRLIST,1)
|
||||
AC_MSG_CHECKING([existence of sys_errlist])
|
||||
AC_CACHE_VAL(ol_cv_have_sys_errlist,[
|
||||
AC_TRY_LINK([#include <errno.h>],
|
||||
[char *c = (char *) *sys_errlist],
|
||||
[ol_cv_have_sys_errlist=yes],
|
||||
[ol_cv_have_sys_errlist=no])])
|
||||
AC_MSG_RESULT($ol_cv_have_sys_errlist)
|
||||
fi
|
||||
])dnl
|
21
build/rules.mk
Normal file
21
build/rules.mk
Normal file
@ -0,0 +1,21 @@
|
||||
##---------------------------------------------------------------------------
|
||||
##
|
||||
## Makefile Template for Programs
|
||||
##
|
||||
|
||||
all-common: $(PROGRAMS) FORCE
|
||||
|
||||
clean-common: FORCE
|
||||
$(RM) $(PROGRAMS) $(XPROGRAMS) $(XSRCS) *.o a.out core .libs/*
|
||||
|
||||
depend-common: FORCE
|
||||
$(MKDEP) $(DEFS) $(DEFINES) $(SRCS)
|
||||
|
||||
lint: FORCE
|
||||
$(LINT) $(DEFS) $(DEFINES) $(SRCS)
|
||||
|
||||
lint5: FORCE
|
||||
$(5LINT) $(DEFS) $(DEFINES) $(SRCS)
|
||||
|
||||
Makefile: $(top_srcdir)/build/rules.mk
|
||||
|
62
build/srv.mk
Normal file
62
build/srv.mk
Normal file
@ -0,0 +1,62 @@
|
||||
##---------------------------------------------------------------------------
|
||||
##
|
||||
## Makefile Template for Servers
|
||||
##
|
||||
|
||||
all-common: FORCE
|
||||
@if [ "$(BUILD_SRV)" = "yes" ]; then \
|
||||
$(MAKE) $(MFLAGS) all-srv; \
|
||||
else \
|
||||
echo "run configure with $(BUILD_OPT) to build $(PROGRAMS)"; \
|
||||
fi
|
||||
|
||||
clean-common: clean-srv FORCE
|
||||
veryclean-common: veryclean-srv FORCE
|
||||
|
||||
lint-common: FORCE
|
||||
@if [ "$(BUILD_SRV)" = "yes" ]; then \
|
||||
$(MAKE) $(MFLAGS) lint-srv; \
|
||||
else \
|
||||
echo "run configure with $(BUILD_OPT) to lint $(PROGRAMS)"; \
|
||||
fi
|
||||
|
||||
5lint-common: FORCE
|
||||
@if [ "$(BUILD_SRV)" = "yes" ]; then \
|
||||
$(MAKE) $(MFLAGS) 5lint-srv; \
|
||||
else \
|
||||
echo "run configure with $(BUILD_OPT) to 5lint $(PROGRAMS)"; \
|
||||
fi
|
||||
|
||||
depend-common: FORCE
|
||||
@if [ "$(BUILD_SRV)" = "yes" ]; then \
|
||||
$(MAKE) $(MFLAGS) depend-srv; \
|
||||
else \
|
||||
echo "run configure with $(BUILD_OPT) to depend $(PROGRAMS)"; \
|
||||
fi
|
||||
|
||||
install-common: FORCE
|
||||
@if [ "$(BUILD_SRV)" = "yes" ]; then \
|
||||
$(MAKE) $(MFLAGS) install-srv; \
|
||||
else \
|
||||
echo "run configure with $(BUILD_OPT) to install $(PROGRAMS)"; \
|
||||
fi
|
||||
|
||||
all-srv: FORCE
|
||||
|
||||
install-srv: FORCE
|
||||
|
||||
lint-srv: FORCE
|
||||
$(LINT) $(DEFS) $(DEFINES) $(SRCS)
|
||||
|
||||
5lint-srv: FORCE
|
||||
$(5LINT) $(DEFS) $(DEFINES) $(SRCS)
|
||||
|
||||
clean-srv: FORCE
|
||||
$(RM) $(PROGRAMS) $(XPROGRAMS) $(XSRCS) *.o a.out core .libs/*
|
||||
|
||||
depend-srv: FORCE
|
||||
$(MKDEP) $(DEFS) $(DEFINES) $(SRCS)
|
||||
|
||||
veryclean-srv: clean-srv
|
||||
|
||||
Makefile: $(top_srcdir)/build/srv.mk
|
143
build/top.mk
Normal file
143
build/top.mk
Normal file
@ -0,0 +1,143 @@
|
||||
##
|
||||
## Copyright 1998 The OpenLDAP Foundation
|
||||
## COPYING RESTRICTIONS APPLY. See COPYRIGHT File in top level directory
|
||||
## of this package for details.
|
||||
##
|
||||
PACKAGE= @PACKAGE@
|
||||
VERSION= @VERSION@
|
||||
|
||||
@SET_MAKE@
|
||||
SHELL = /bin/sh
|
||||
|
||||
top_builddir = @top_builddir@
|
||||
|
||||
srcdir = @srcdir@
|
||||
top_srcdir = @top_srcdir@
|
||||
VPATH = @srcdir@
|
||||
prefix = @prefix@
|
||||
exec_prefix = @exec_prefix@
|
||||
|
||||
bindir = @bindir@
|
||||
sbindir = @sbindir@
|
||||
libexecdir = @libexecdir@
|
||||
datadir = @datadir@
|
||||
sysconfdir = @sysconfdir@/ldap
|
||||
sharedstatedir = @sharedstatedir@
|
||||
localstatedir = @localstatedir@
|
||||
libdir = @libdir@
|
||||
infodir = @infodir@
|
||||
mandir = @mandir@
|
||||
includedir = @includedir@
|
||||
|
||||
INSTALL = @INSTALL@
|
||||
INSTALL_PROGRAM = @INSTALL_PROGRAM@
|
||||
INSTALL_DATA = @INSTALL_DATA@
|
||||
INSTALL_SCRIPT = @INSTALL_SCRIPT@
|
||||
|
||||
MV = mv
|
||||
LN = ln
|
||||
LN_S = @LN_S@
|
||||
RM = rm -f
|
||||
MAKEINFO = @MAKEINFO@
|
||||
RANLIB = @RANLIB@
|
||||
AR = ar
|
||||
|
||||
LINT = lint
|
||||
5LINT = 5lint
|
||||
MKDEP = $(top_srcdir)/build/mkdep $(MKDEPFLAG) -c "$(CC)"
|
||||
|
||||
LIBTOOL = @LIBTOOL@
|
||||
LIBVERSION = 0:0:0
|
||||
LTLINK = $(LIBTOOL) --mode=link $(CC) $(CFLAGS) $(LFLAGS)
|
||||
LTINSTALL = $(LIBTOOL) --mode=install $(INSTALL)
|
||||
|
||||
# Misc UNIX commands used in makefiles
|
||||
SED = sed
|
||||
DATE = date
|
||||
HOSTNAME = uname -n
|
||||
BASENAME = basename
|
||||
PWD = pwd
|
||||
CAT = cat
|
||||
MKDIR = mkdir
|
||||
CHMOD = chmod
|
||||
|
||||
# Misc UNIX commands used in programs
|
||||
EDITOR = @EDITOR@
|
||||
FINGER = @FINGER@
|
||||
SENDMAIL = @SENDMAIL@
|
||||
|
||||
# For manual pages
|
||||
# MANCOMPRESS=@MANCOMPRESS@
|
||||
# MANCOMPRESSSUFFIX=@MANCOMPRESSSUFFIX@
|
||||
MANCOMPRESS=$(CAT)
|
||||
MANCOMPRESSSUFFIX=
|
||||
|
||||
# Version
|
||||
VERSIONFILE = $(top_srcdir)/build/version
|
||||
|
||||
INCLUDEDIR= $(top_srcdir)/include
|
||||
LDAP_INCPATH= -I$(LDAP_INCDIR) -I$(INCLUDEDIR)
|
||||
LDAP_LIBADIR= $(top_builddir)/libraries
|
||||
LDAP_LIBPATH= -L$(LDAP_LIBADIR)
|
||||
|
||||
LDAP_LIBLBER = $(LDAP_LIBADIR)/liblber/liblber.la
|
||||
LDAP_LIBLDAP = $(LDAP_LIBADIR)/libldap/libldap.la
|
||||
|
||||
LDAP_LIBLBER_DEPEND = $(LDAP_LIBDIR)/liblber/liblber.la
|
||||
LDAP_LIBLDAP_DEPEND = $(LDAP_LIBDIR)/libldap/libldap.la
|
||||
|
||||
LDAP_LIBS = $(LDAP_LIBPATH) -lldif $(LDAP_LIBLDAP) $(LDAP_LIBLBER)
|
||||
LDAP_LIBDEPEND = $(LDAP_LIBDIR)/libldif.a $(LDAP_LIBLDAP) $(LDAP_LIBLBER)
|
||||
|
||||
# AutoConfig generated
|
||||
AC_CC = @CC@
|
||||
AC_DEFS = @CPPFLAGS@ @DEFS@
|
||||
AC_LIBS = @LDFLAGS@ @LIBS@
|
||||
AC_CFLAGS = @CFLAGS@
|
||||
AC_LDFLAGS =
|
||||
|
||||
KRB_LIBS = @KRB_LIBS@
|
||||
TERMCAP_LIBS = @TERMCAP_LIBS@
|
||||
|
||||
# Our Defaults
|
||||
CC = $(AC_CC)
|
||||
DEFS = $(LDAP_INCPATH) $(XINCPATH) $(XDEFS) $(AC_DEFS)
|
||||
LIBS = $(LDAP_LIBS) $(XLIBS) $(AC_LIBS)
|
||||
|
||||
CFLAGS = $(AC_CFLAGS) $(DEFS) $(DEFINES)
|
||||
LDFLAGS = $(AC_LDFLAGS)
|
||||
|
||||
all: all-common all-local FORCE
|
||||
install: install-common install-local FORCE
|
||||
clean: clean-common clean-local FORCE
|
||||
veryclean: veryclean-common veryclean-local FORCE
|
||||
depend: depend-common depend-local FORCE
|
||||
|
||||
# empty common rules
|
||||
all-common:
|
||||
install-common:
|
||||
clean-common:
|
||||
veryclean-common: clean-common FORCE
|
||||
depend-common:
|
||||
lint-common:
|
||||
lint5-common:
|
||||
|
||||
# empty local rules
|
||||
all-local:
|
||||
install-local:
|
||||
clean-local:
|
||||
veryclean-local: clean-local FORCE
|
||||
depend-local:
|
||||
lint-local:
|
||||
lint5-local:
|
||||
|
||||
veryclean: FORCE
|
||||
$(RM) Makefile
|
||||
$(RM) -r .libs
|
||||
|
||||
Makefile: Makefile.in $(top_srcdir)/build/top.mk
|
||||
|
||||
# empty rule for forcing rules
|
||||
FORCE:
|
||||
|
||||
##---------------------------------------------------------------------------
|
40
clients/fax500/Makefile.in
Normal file
40
clients/fax500/Makefile.in
Normal file
@ -0,0 +1,40 @@
|
||||
PROGRAMS= rp500 fax500
|
||||
|
||||
SRCS= main.c faxtotpc.c rp500.c
|
||||
XSRCS=fax5version.c rpversion.c
|
||||
|
||||
FAX5OBJS = main.o faxtotpc.o
|
||||
RPOBJS = rp500.o faxtotpc.o
|
||||
|
||||
LDAP_INCDIR= ../../include
|
||||
LDAP_LIBDIR= ../../libraries
|
||||
|
||||
rp500 : rpversion.o
|
||||
$(LTLINK) -o $@ $(RPOBJS) rpversion.o $(LIBS)
|
||||
|
||||
fax500 : fax5version.o
|
||||
$(LTLINK) -o $@ $(RPOBJS) fax5version.o $(LIBS)
|
||||
|
||||
rpversion.c: ${RPOBJS} $(LDAP_LIBDEPEND)
|
||||
$(RM) $@
|
||||
(u=$${USER-root} v=`$(CAT) $(VERSIONFILE)` d=`$(PWD)` h=`$(HOSTNAME)` \
|
||||
t=`$(DATE)`; $(SED) -e "s|%WHEN%|$${t}|" \
|
||||
-e "s|%WHOANDWHERE%|$${u}@$${h}:$${d}|" \
|
||||
-e "s|%VERSION%|$${v}|" \
|
||||
< $(srcdir)/Versionrp.c > $@)
|
||||
|
||||
fax5version.c: ${FAX5OBJS} $(LDAP_LIBDEPEND)
|
||||
$(RM) $@
|
||||
(u=$${USER-root} v=`$(CAT) $(VERSIONFILE)` d=`$(PWD)` h=`$(HOSTNAME)` \
|
||||
t=`$(DATE)`; $(SED) -e "s|%WHEN%|$${t}|" \
|
||||
-e "s|%WHOANDWHERE%|$${u}@$${h}:$${d}|" \
|
||||
-e "s|%VERSION%|$${v}|" \
|
||||
< $(srcdir)/Version.c > $@)
|
||||
|
||||
install-local: $(PROGRAMS) xrpcomp FORCE
|
||||
-$(MKDIR) -p $(libexecdir)
|
||||
$(LTINSTALL) $(INSTALLFLAGS) -m 755 rp500 $(libexecdir)
|
||||
$(LTINSTALL) $(INSTALLFLAGS) -m 755 fax500 $(libexecdir)
|
||||
$(SED) -e 's%LIBEXECDIR%$(libexecdir)%' $(srcdir)/xrpcomp > /tmp/xrpcomp.tmp
|
||||
$(INSTALL) $(INSTALLFLAGS) -m 755 /tmp/xrpcomp.tmp $(libexecdir)/xrpcomp
|
||||
$(RM) /tmp/xrpcomp.tmp
|
22
clients/finger/Makefile.in
Normal file
22
clients/finger/Makefile.in
Normal file
@ -0,0 +1,22 @@
|
||||
SRCS= main.c
|
||||
XSRCS= version.c
|
||||
OBJS= main.o
|
||||
PROGRAMS= in.xfingerd
|
||||
|
||||
LDAP_INCDIR= ../../include
|
||||
LDAP_LIBDIR= ../../libraries
|
||||
|
||||
in.xfingerd : version.o
|
||||
$(LTLINK) -o $@ version.o $(OBJS) $(LIBS)
|
||||
|
||||
version.c: ${OBJS} ${LDAP_LIBDEPEND}
|
||||
$(RM) $@
|
||||
(u=$${USER-root} v=`$(CAT) $(VERSIONFILE)` d=`$(PWD)` h=`$(HOSTNAME)` \
|
||||
t=`$(DATE)`; $(SED) -e "s|%WHEN%|$${t}|" \
|
||||
-e "s|%WHOANDWHERE%|$${u}@$${h}:$${d}|" \
|
||||
-e "s|%VERSION%|$${v}|" \
|
||||
< $(srcdir)/Version.c > $@)
|
||||
|
||||
install-local: $(PROGRAMS) FORCE
|
||||
-$(MKDIR) -p $(libexecdir)
|
||||
$(LTINSTALL) $(INSTALLFLAGS) -m 755 in.xfingerd $(libexecdir)
|
@ -4,7 +4,7 @@
|
||||
PROGRAMS= go500gw go500
|
||||
|
||||
SRCS= go500.c go500gw.c
|
||||
XSRCS= gwversion.o goversion.o
|
||||
XSRCS= gwversion.c goversion.c
|
||||
GOOBJS = go500.o
|
||||
GWOBJS = go500gw.o
|
||||
|
||||
@ -14,10 +14,10 @@ LDAP_LIBDIR= ../../libraries
|
||||
XLIBS = -llutil @LUTIL_LIBS@
|
||||
|
||||
go500 : goversion.o
|
||||
$(CC) $(LDFLAGS) -o $@ $(GOOBJS) goversion.o $(LIBS)
|
||||
$(LTLINK) -o $@ $(GOOBJS) goversion.o $(LIBS)
|
||||
|
||||
go500gw : gwversion.o
|
||||
$(CC) $(LDFLAGS) -o $@ $(GWOBJS) gwversion.o $(LIBS)
|
||||
$(LTLINK) -o $@ $(GWOBJS) gwversion.o $(LIBS)
|
||||
|
||||
goversion.c: ${GOOBJS} $(LDAP_LIBDEPEND)
|
||||
$(RM) $@
|
||||
@ -35,9 +35,9 @@ gwversion.c: ${GWOBJS} $(LDAP_LIBDEPEND)
|
||||
-e "s|%VERSION%|$${v}|" \
|
||||
< $(srcdir)/Versiongw.c > $@)
|
||||
|
||||
install: $(PROGRAMS) go500gw.help FORCE
|
||||
install-local: $(PROGRAMS) go500gw.help FORCE
|
||||
-$(MKDIR) -p $(libexecdir) $(sysconfdir)
|
||||
$(INSTALL) $(INSTALLFLAGS) -m 755 go500 $(libexecdir)
|
||||
$(INSTALL) $(INSTALLFLAGS) -m 755 go500gw $(libexecdir)
|
||||
$(LTINSTALL) $(INSTALLFLAGS) -m 755 go500 $(libexecdir)
|
||||
$(LTINSTALL) $(INSTALLFLAGS) -m 755 go500gw $(libexecdir)
|
||||
-$(MV) $(sysconfdir)/go500gw.help $(sysconfdir)/go500gw.help-
|
||||
$(INSTALL) $(INSTALLFLAGS) -m 644 go500gw.help $(sysconfdir)
|
||||
|
23
clients/mail500/Makefile.in
Normal file
23
clients/mail500/Makefile.in
Normal file
@ -0,0 +1,23 @@
|
||||
PROGRAMS= mail500
|
||||
|
||||
SRCS= main.c
|
||||
XSRCS= version.c
|
||||
OBJS= main.o
|
||||
|
||||
LDAP_INCDIR= ../../include
|
||||
LDAP_LIBDIR= ../../libraries
|
||||
|
||||
mail500 : version.o
|
||||
$(LTLINK) -o $@ version.o $(OBJS) $(LIBS)
|
||||
|
||||
version.c: ${OBJS} $(LDAP_LIBDEPEND)
|
||||
$(RM) $@
|
||||
(u=$${USER-root} v=`$(CAT) $(VERSIONFILE)` d=`$(PWD)` h=`$(HOSTNAME)` \
|
||||
t=`$(DATE)`; $(SED) -e "s|%WHEN%|$${t}|" \
|
||||
-e "s|%WHOANDWHERE%|$${u}@$${h}:$${d}|" \
|
||||
-e "s|%VERSION%|$${v}|" \
|
||||
< $(srcdir)/Version.c > $@)
|
||||
|
||||
install-local: $(PROGRAMS) FORCE
|
||||
-$(MKDIR) -p $(libexecdir)
|
||||
$(LTINSTALL) $(INSTALLFLAGS) -m 755 mail500 $(libexecdir)
|
25
clients/rcpt500/Makefile.in
Normal file
25
clients/rcpt500/Makefile.in
Normal file
@ -0,0 +1,25 @@
|
||||
PROGRAMS= rcpt500
|
||||
SRCS= main.c cmds.c help.c query.c
|
||||
XSRCS= version.c
|
||||
OBJS= main.o cmds.o help.o query.o
|
||||
HDRS= rcpt500.h
|
||||
|
||||
LDAP_INCDIR= ../../include
|
||||
LDAP_LIBDIR= ../../libraries
|
||||
|
||||
rcpt500 : version.o
|
||||
$(LTLINK) -o $@ version.o $(OBJS) $(LIBS)
|
||||
|
||||
version.c: ${OBJS} $(LDAP_LIBDEPEND)
|
||||
$(RM) $@
|
||||
(u=$${USER-root} v=`$(CAT) $(VERSIONFILE)` d=`$(PWD)` h=`$(HOSTNAME)` \
|
||||
t=`$(DATE)`; $(SED) -e "s|%WHEN%|$${t}|" \
|
||||
-e "s|%WHOANDWHERE%|$${u}@$${h}:$${d}|" \
|
||||
-e "s|%VERSION%|$${v}|" \
|
||||
< $(srcdir)/Version.c > $@)
|
||||
|
||||
install-local: $(PROGRAMS) rcpt500.help FORCE
|
||||
-$(MKDIR) -p $(libexecdir) $(sysconfdir)
|
||||
$(LTINSTALL) $(INSTALLFLAGS) -m 755 rcpt500 $(libexecdir)
|
||||
-$(MV) $(sysconfdir)/rcpt500.help $(sysconfdir)/rcpt500.help-
|
||||
$(INSTALL) $(INSTALLFLAGS) -m 644 rcpt500.help $(sysconfdir)
|
@ -3,7 +3,7 @@
|
||||
##
|
||||
SRCS = ldapsearch.c ldapmodify.c ldapdelete.c ldapmodrdn.c
|
||||
OBJS = ldapsearch.o ldapmodify.o ldapdelete.o ldapmodrdn.o
|
||||
XLIBS = -llber -lldap
|
||||
#XLIBS = -llber -lldap
|
||||
|
||||
LDAP_INCDIR= ../../include
|
||||
LDAP_LIBDIR= ../../libraries
|
||||
@ -13,16 +13,16 @@ XSRCS = ldsversion.c ldmversion.c lddversion.c ldrversion.c
|
||||
PROGRAMS = ldapsearch ldapmodify ldapdelete ldapmodrdn ldapadd
|
||||
|
||||
ldapsearch: ldsversion.o
|
||||
$(CC) $(LDFLAGS) -o $@ ldapsearch.o ldsversion.o $(LIBS)
|
||||
$(LTLINK) -o $@ ldapsearch.o ldsversion.o $(LIBS)
|
||||
|
||||
ldapmodify: ldmversion.o
|
||||
$(CC) $(LDFLAGS) -o $@ ldapmodify.o ldmversion.o $(LIBS)
|
||||
$(LTLINK) -o $@ ldapmodify.o ldmversion.o $(LIBS)
|
||||
|
||||
ldapdelete: lddversion.o
|
||||
$(CC) $(LDFLAGS) -o $@ ldapdelete.o lddversion.o $(LIBS)
|
||||
$(LTLINK) -o $@ ldapdelete.o lddversion.o $(LIBS)
|
||||
|
||||
ldapmodrdn: ldrversion.o
|
||||
$(CC) $(LDFLAGS) -o $@ ldapmodrdn.o ldrversion.o $(LIBS)
|
||||
$(LTLINK) -o $@ ldapmodrdn.o ldrversion.o $(LIBS)
|
||||
|
||||
ldapadd: ldapmodify
|
||||
$(RM) $@
|
||||
@ -60,11 +60,11 @@ ldrversion.c: ldapmodrdn.o $(LDAP_LIBDEPEND)
|
||||
-e "s|%VERSION%|$${v}|" \
|
||||
< $(srcdir)/Versionldr.c > $@)
|
||||
|
||||
install-local: ldapsearch ldapmodify ldapdelete ldapmodrdn ldapadd FORCE
|
||||
install-local: FORCE
|
||||
-$(MKDIR) -p $(bindir)
|
||||
$(INSTALL) $(INSTALLFLAGS) -m 755 ldapsearch $(bindir)
|
||||
$(INSTALL) $(INSTALLFLAGS) -m 755 ldapmodify $(bindir)
|
||||
$(INSTALL) $(INSTALLFLAGS) -m 755 ldapdelete $(bindir)
|
||||
$(INSTALL) $(INSTALLFLAGS) -m 755 ldapmodrdn $(bindir)
|
||||
$(RM) $(BINDIR)/ldapadd
|
||||
$(LN) $(BINDIR)/ldapmodify $(bindir)/ldapadd
|
||||
$(LTINSTALL) $(INSTALLFLAGS) -m 755 ldapsearch $(bindir)
|
||||
$(LTINSTALL) $(INSTALLFLAGS) -m 755 ldapmodify $(bindir)
|
||||
$(LTINSTALL) $(INSTALLFLAGS) -m 755 ldapdelete $(bindir)
|
||||
$(LTINSTALL) $(INSTALLFLAGS) -m 755 ldapmodrdn $(bindir)
|
||||
$(RM) $(bindir)/ldapadd
|
||||
$(LN) $(bindir)/ldapmodify $(bindir)/ldapadd
|
||||
|
28
clients/ud/Makefile.in
Normal file
28
clients/ud/Makefile.in
Normal file
@ -0,0 +1,28 @@
|
||||
SRCS= main.c find.c mod.c print.c auth.c util.c help.c \
|
||||
string_to_key.c group.c edit.c globals.c
|
||||
XSRCS= version.c
|
||||
OBJS= main.o find.o mod.o print.o auth.o util.o help.o \
|
||||
string_to_key.o group.o globals.o edit.o
|
||||
HDRS= ud.h
|
||||
PROGRAMS= ud
|
||||
|
||||
LDAP_INCDIR= ../../include
|
||||
LDAP_LIBDIR= ../../libraries
|
||||
|
||||
XLIBS = $(TERMCAP_LIBS)
|
||||
|
||||
ud : version.o
|
||||
$(LTLINK) -o $@ version.o $(OBJS) $(LIBS)
|
||||
|
||||
version.c: ${OBJS} $(LDAP_LIBDEPEND)
|
||||
$(RM) $@
|
||||
(u=$${USER-root} v=`$(CAT) $(VERSIONFILE)` d=`$(PWD)` h=`$(HOSTNAME)` \
|
||||
t=`$(DATE)`; $(SED) -e "s|%WHEN%|$${t}|" \
|
||||
-e "s|%WHOANDWHERE%|$${u}@$${h}:$${d}|" \
|
||||
-e "s|%VERSION%|$${v}|" \
|
||||
< $(srcdir)/Version.c > $@)
|
||||
|
||||
install-local: FORCE
|
||||
-$(MKDIR) -p $(bindir)
|
||||
-mv -f $(bindir)/ud $(bindir)/ud-
|
||||
$(LTINSTALL) $(INSTALLFLAGS) -m 775 ud $(bindir)
|
174
configure.in
174
configure.in
@ -5,24 +5,29 @@ dnl as authorized by the OpenLDAP Public License. A copy of this
|
||||
dnl license is available at http://www.OpenLDAP.org/license.html or
|
||||
dnl in file LICENSE in the top-level directory of the distribution.
|
||||
dnl ----
|
||||
|
||||
dnl Configure.in for OpenLDAP
|
||||
dnl
|
||||
AC_INIT(include/ldap.h)
|
||||
dnl
|
||||
dnl
|
||||
AC_PREREQ(2.10)dnl Required Autoconf version
|
||||
AC_INIT(include/ldap.h)dnl
|
||||
AC_CONFIG_AUX_DIR(build)dnl
|
||||
AM_INIT_AUTOMAKE(OpenLDAP,[2.0-devel], [no ac_define])dnl
|
||||
|
||||
dnl Do not use AutoConf 2.12; it produces a configuration script
|
||||
dnl that causes an "internal 2K buffer" error on HPUX when run
|
||||
dnl with /bin/sh. Autoconf 2.10 seems to be okay.
|
||||
AC_PREREQ(2.10)dnl Required Autoconf version
|
||||
|
||||
AC_CONFIG_AUX_DIR(build)
|
||||
AC_CONFIG_HEADER(include/portable.h)dnl
|
||||
|
||||
dnl
|
||||
dnl Start Args
|
||||
AC_MSG_CHECKING(configure arguments)
|
||||
AC_PREFIX_DEFAULT(/usr/local)
|
||||
|
||||
dnl General "enable" options
|
||||
OL_ARG_ENABLE(debug,[ --enable-debug enable debugging], yes)dnl
|
||||
top_builddir=`pwd`
|
||||
AC_SUBST(top_builddir)dnl
|
||||
|
||||
OL_ARG_ENABLE(debug,[ --enable-debug enable debugging], yes)dnl
|
||||
dnl OL_ARG_ENABLE(syslog,[ --enable-syslog enable syslog support], auto)dnl
|
||||
OL_ARG_ENABLE(proctitle,[ --enable-proctitle enable proctitle support], yes)dnl
|
||||
OL_ARG_ENABLE(libui,[ --enable-libui enable library user interface], yes)dnl
|
||||
@ -38,15 +43,17 @@ OL_ARG_WITH(kerberos,[ --with-kerberos use Kerberos],
|
||||
auto, [auto k5 k4 afs yes no])
|
||||
OL_ARG_WITH(threads,[ --with-threads use threads],
|
||||
auto, [auto posix mach lwp yes no manual] )
|
||||
OL_ARG_WITH(preemptive,[ --with-preemptive thread implementation is preemptive],
|
||||
OL_ARG_WITH(yielding_select,[ --with-yielding-select with implicitly yielding select],
|
||||
auto, [auto yes no manual] )
|
||||
|
||||
dnl Server options
|
||||
|
||||
dnl LDAPD OPTIONS
|
||||
AC_ARG_WITH(xxldapdoptions,[LDAPD Options:])
|
||||
OL_ARG_ENABLE(ldapd,[ --enable-ldapd enable building ldapd], no)dnl
|
||||
|
||||
dnl SLAPD OPTIONS
|
||||
AC_ARG_WITH(xxslapdoptions,[SLAPD Options:])
|
||||
OL_ARG_ENABLE(slapd,[ --enable-slapd enable building slapd], yes)dnl
|
||||
OL_ARG_ENABLE(aclgroups,[ --enable-aclgroups enable ACL group support], auto)dnl
|
||||
OL_ARG_ENABLE(crypt,[ --enable-crypt enable crypt(3) passwords], auto)dnl
|
||||
@ -67,8 +74,15 @@ OL_ARG_ENABLE(passwd,[ --enable-passwd enable passwd backend], no)dnl
|
||||
OL_ARG_ENABLE(shell,[ --enable-shell enable shell backend], no)dnl
|
||||
|
||||
dnl SLURPD OPTIONS
|
||||
AC_ARG_WITH(xxslurpdoptions,[SLURPD Options:])
|
||||
OL_ARG_ENABLE(slurpd,[ --enable-slurpd enable building slurpd], auto)dnl
|
||||
|
||||
AC_ARG_WITH(xxliboptions,[Library Generation & Linking Options])
|
||||
AM_ENABLE_STATIC
|
||||
dnl AM_DISABLE_SHARED
|
||||
AM_ENABLE_SHARED
|
||||
|
||||
dnl General "enable" options
|
||||
# validate options
|
||||
if test $ol_enable_referrals = no ; then
|
||||
if test $ol_enable_dns = yes ; then
|
||||
@ -174,6 +188,8 @@ fi
|
||||
|
||||
AC_MSG_RESULT(done)
|
||||
|
||||
AC_CANONICAL_HOST
|
||||
|
||||
## Initialize vars
|
||||
LDAP_LIBS=
|
||||
LDBM_LIBS=
|
||||
@ -199,10 +215,9 @@ TERMCAP_LIBS=
|
||||
dnl ----------------------------------------------------------------
|
||||
dnl Checks for programs
|
||||
|
||||
AC_PROG_LN_S
|
||||
AC_PROG_INSTALL
|
||||
AC_PROG_RANLIB
|
||||
AC_PROG_MAKE_SET
|
||||
AM_PROG_LIBTOOL
|
||||
dnl AC_PROG_MAKE_SET
|
||||
|
||||
AC_PATH_PROG(SENDMAIL, sendmail, /usr/lib/sendmail,
|
||||
$PATH:/usr/libexec:/usr/lib:/usr/sbin:/usr/etc:/etc)
|
||||
@ -210,29 +225,33 @@ AC_PATH_PROG(EDITOR, vi, /usr/ucb/vi, $PATH:/usr/ucb)
|
||||
AC_PATH_PROG(FINGER, finger, /usr/ucb/finger, $PATH:/usr/ucb)
|
||||
|
||||
dnl Checks the compiler and UNIX Variants
|
||||
AC_PROG_CC
|
||||
|
||||
if test $cross_compiling = yes -a $ol_enable_x_compile = yes; then
|
||||
AC_WARN([cross compiling.... some functionality will be removed.])
|
||||
AC_MSG_WARN([cross compiling.... some functionality will be removed.])
|
||||
|
||||
elif test $cross_compiling = no -a $ol_enable_x_compile = yes; then
|
||||
AC_WARN([programs compiled here do run here...])
|
||||
AC_ERROR([ if not cross compiling, use --disable-x-compile.])
|
||||
AC_MSG_WARN([programs compiled here do run here...])
|
||||
AC_MSG_ERROR([ if not cross compiling, use --disable-x-compile.])
|
||||
|
||||
elif test $cross_compiling = yes -a $ol_enable_x_compile = no; then
|
||||
AC_WARN([programs compiled here do not run here...])
|
||||
AC_ERROR([ if cross compiling, add --enable-x-compile.])
|
||||
AC_MSG_WARN([programs compiled here do not run here...])
|
||||
AC_MSG_ERROR([ if cross compiling, add --enable-x-compile.])
|
||||
fi
|
||||
|
||||
dnl OpenLDAP requires STDC features
|
||||
dnl AC_PROG_GCC_TRADITIONAL
|
||||
AC_PROG_CPP
|
||||
|
||||
|
||||
AC_AIX
|
||||
AC_ISC_POSIX
|
||||
AC_MINIX
|
||||
|
||||
dnl OpenLDAP requires STDC features
|
||||
AM_PROG_CC_STDC
|
||||
if test "X${am_cv_prog_cc_stdc}" = "Xno" ; then
|
||||
AC_MSG_ERROR([OpenLDAP requires compiler to support STDC prototypes.])
|
||||
fi
|
||||
|
||||
dnl AM_C_PROTOTYPES
|
||||
|
||||
dnl Checks for libraries
|
||||
|
||||
dnl Find socket()
|
||||
@ -240,7 +259,7 @@ dnl Likely combinations:
|
||||
dnl -lsocket [ -lnsl_s | -lnsl ]
|
||||
dnl -linet
|
||||
|
||||
AC_CHECK_FUNC(socket, :, [
|
||||
AC_CHECK_FUNC(socket, [have_socket=yes], [
|
||||
dnl
|
||||
dnl hopefully we won't include too many libraries
|
||||
dnl
|
||||
@ -348,7 +367,7 @@ if test $ol_with_threads = auto -o $ol_with_threads = posix ; then
|
||||
|
||||
dnl Now the hard part, how to link
|
||||
|
||||
dnl A few platforms have pthread support in standard libraries
|
||||
dnl Check for pthread support in current $LIBS
|
||||
AC_CHECK_FUNC(pthread_create,[ol_link_threads=yes])
|
||||
|
||||
if test $ol_link_threads = no ; then
|
||||
@ -397,8 +416,8 @@ if test $ol_with_threads = auto -o $ol_with_threads = posix ; then
|
||||
AC_CHECK_LIB(pthread, pthread_join, [
|
||||
ol_link_threads=posix
|
||||
LTHREAD_LIBS="$LTHREAD_LIBS -lpthread -lexc"
|
||||
if test $ol_with_preemptive = auto ; then
|
||||
ol_with_preemptive=yes
|
||||
if test $ol_with_yielding_select = auto ; then
|
||||
ol_with_yielding_select=yes
|
||||
fi
|
||||
],,[-lexc])
|
||||
LIBS="$save_LIBS"
|
||||
@ -410,8 +429,8 @@ if test $ol_with_threads = auto -o $ol_with_threads = posix ; then
|
||||
AC_CHECK_LIB(pthreads, pthread_join, [
|
||||
ol_link_threads=posix
|
||||
LTHREAD_LIBS="$LTHREAD_LIBS -lpthreads -lmach -lexc -lc_r"
|
||||
if test $ol_with_preemptive = auto ; then
|
||||
ol_with_preemptive=yes
|
||||
if test $ol_with_yielding_select = auto ; then
|
||||
ol_with_yielding_select=yes
|
||||
fi
|
||||
],,[-lmach -lexc -lc_r])
|
||||
LIBS="$save_LIBS"
|
||||
@ -486,9 +505,9 @@ if test $ol_with_threads = auto -o $ol_with_threads = posix ; then
|
||||
thr_setconcurrency \
|
||||
)
|
||||
|
||||
dnl Check PREEMPTIVE Implementation
|
||||
if test $ol_with_preemptive = auto ; then
|
||||
AC_MSG_CHECKING([for preemptive Pthread implementation])
|
||||
dnl Check if select causes an yield
|
||||
if test $ol_with_yielding_select = auto ; then
|
||||
AC_MSG_CHECKING([if select yields])
|
||||
AC_TRY_RUN([
|
||||
#include <sys/types.h>
|
||||
#include <sys/time.h>
|
||||
@ -498,30 +517,45 @@ if test $ol_with_threads = auto -o $ol_with_threads = posix ; then
|
||||
#define NULL 0
|
||||
#endif
|
||||
|
||||
int fildes[2];
|
||||
|
||||
int task(arg)
|
||||
int *arg;
|
||||
{
|
||||
int i;
|
||||
struct timeval tv;
|
||||
|
||||
tv.tv_sec=5;
|
||||
fd_set rfds;
|
||||
|
||||
tv.tv_sec=10;
|
||||
tv.tv_usec=0;
|
||||
|
||||
FD_ZERO(&rfds);
|
||||
FD_SET(fildes[0], &rfds);
|
||||
|
||||
/* we're not interested in any fds */
|
||||
i = select(FD_SETSIZE, NULL, NULL, NULL, &tv);
|
||||
i = select(FD_SETSIZE, &rfds, NULL, NULL, &tv);
|
||||
|
||||
if(i < 0) {
|
||||
perror("select");
|
||||
exit(0);
|
||||
}
|
||||
|
||||
exit(1); /* if we exit here, the select blocked the whole process */
|
||||
}
|
||||
|
||||
main(argc, argv)
|
||||
int argc; char **argv;
|
||||
int main(argc, argv)
|
||||
int argc;
|
||||
char **argv;
|
||||
{
|
||||
pthread_t t;
|
||||
|
||||
/* create a pipe to select */
|
||||
if(pipe(&fildes[0])) {
|
||||
perror("select");
|
||||
exit(0);
|
||||
}
|
||||
|
||||
#ifdef HAVE_PTHREAD_SETCONCURRENCY
|
||||
(void) pthread_setconcurrency(2);
|
||||
#else
|
||||
@ -542,13 +576,12 @@ int argc; char **argv;
|
||||
#endif
|
||||
exit(0);
|
||||
}
|
||||
], [ol_pthread_preemptive=yes], [ol_pthread_preemptive=no], [
|
||||
AC_MSG_ERROR([crossing compiling: use --with-preemptive=yes|no|manual])])
|
||||
AC_MSG_RESULT($ol_pthread_preemptive)
|
||||
], [ol_pthread_select_yields=yes], [ol_pthread_select_yields=no], [
|
||||
AC_MSG_ERROR([crossing compiling: use --with-yielding_select=yes|no|manual])])
|
||||
AC_MSG_RESULT($ol_pthread_select_yields)
|
||||
|
||||
if test $ol_pthread_preemptive = yes ; then
|
||||
AC_DEFINE(HAVE_PREEMPTIVE_PTHREADS)
|
||||
ol_with_preemptive=yes
|
||||
if test $ol_pthread_select_yields = yes ; then
|
||||
ol_with_yielding_select=yes
|
||||
fi
|
||||
fi
|
||||
|
||||
@ -582,7 +615,7 @@ if test $ol_with_threads = auto -o $ol_with_threads = mach ; then
|
||||
if test $ac_cv_header_mach_cthreads_h = yes ; then
|
||||
ol_with_threads=found
|
||||
|
||||
dnl A few platforms have cthread support in standard libraries
|
||||
dnl check for cthread support in current $LIBS
|
||||
AC_CHECK_FUNC(cthread_fork,[ol_link_threads=yes])
|
||||
|
||||
if test $ol_link_threads = no ; then
|
||||
@ -623,14 +656,15 @@ if test $ol_with_threads = auto -o $ol_with_threads = lwp ; then
|
||||
dnl check for SunOS5 LWP
|
||||
AC_CHECK_HEADERS(thread.h synch.h)
|
||||
if test $ac_cv_header_thread_h = yes -a $ac_cv_header_synch_h = yes ; then
|
||||
AC_CHECK_LIB(thread, thr_create, [have_lwp=yes], [have_lwp=no])
|
||||
AC_CHECK_LIB(thread, thr_create, [have_thr=yes], [have_thr=no])
|
||||
|
||||
if test $have_lwp = yes ; then
|
||||
if test $have_thr = yes ; then
|
||||
AC_DEFINE(HAVE_THR)
|
||||
LTHREAD_LIBS="$LTHREAD_LIBS -llwp"
|
||||
LTHREAD_LIBS="$LTHREAD_LIBS -lthread"
|
||||
ol_link_threads=thr
|
||||
|
||||
if test $ol_with_preemptive = auto ; then
|
||||
ol_with_preemptive=yes
|
||||
if test $ol_with_yielding_select = auto ; then
|
||||
ol_with_yielding_select=yes
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
@ -643,16 +677,17 @@ if test $ol_with_threads = auto -o $ol_with_threads = lwp ; then
|
||||
if test $have_lwp = yes ; then
|
||||
AC_DEFINE(HAVE_LWP)
|
||||
LTHREAD_LIBS="$LTHREAD_LIBS -llwp"
|
||||
ol_link_threads=lwp
|
||||
|
||||
if test $ol_with_preemptive = auto ; then
|
||||
ol_with_preemptive=no
|
||||
if test $ol_with_yielding_select = auto ; then
|
||||
ol_with_yielding_select=no
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
|
||||
if test $ol_with_preemptive = yes ; then
|
||||
AC_DEFINE(PREEMPTIVE_THREADS,1)
|
||||
if test $ol_with_yielding_select = yes ; then
|
||||
AC_DEFINE(HAVE_YIELDING_SELECT,1)
|
||||
fi
|
||||
|
||||
if test $ol_with_threads = manual ; then
|
||||
@ -711,7 +746,6 @@ if test $ol_link_threads = no ; then
|
||||
fi
|
||||
|
||||
AC_DEFINE(NO_THREADS,1)
|
||||
AC_DEFINE(PREEMPTIVE_THREADS,1)
|
||||
LTHREAD_LIBS=""
|
||||
fi
|
||||
|
||||
@ -789,13 +823,13 @@ if test $ol_with_ldbm_api = auto -o $ol_with_ldbm_api = ndbm ; then
|
||||
OL_NDBM
|
||||
|
||||
if test $ol_cv_ndbm = yes ; then
|
||||
if test $ol_with_ldbm_api = auto ; then
|
||||
AC_MSG_WARN([Attempting to use NDBM. Functionality will be limited.])
|
||||
fi
|
||||
|
||||
ol_link_ldbm=ndbm
|
||||
ol_with_ldbm_api=ndbm
|
||||
|
||||
if test $ol_with_ldbm_api = ndbm ; then
|
||||
AC_WARN([Attempting to use NDBM. Functionality will be limited.])
|
||||
fi
|
||||
|
||||
if test $ol_cv_lib_ndbm != yes ; then
|
||||
LDBM_LIBS="$LDBM_LIBS $ol_cv_lib_ndbm"
|
||||
fi
|
||||
@ -896,11 +930,16 @@ dnl Checks for header files.
|
||||
AC_HEADER_STDC
|
||||
|
||||
if test $ac_cv_header_stdc != yes; then
|
||||
AC_MSG_WARN([could not locate Standard C headers])
|
||||
AC_MSG_WARN([could not Standard C compliant headers])
|
||||
fi
|
||||
|
||||
AC_HEADER_DIRENT
|
||||
AC_HEADER_SYS_WAIT
|
||||
AM_HEADER_TIOCGWINSZ_NEEDS_SYS_IOCTL
|
||||
if test $am_cv_sys_posix_termios = yes ; then
|
||||
AC_DEFINE(HAVE_POSIX_TERMIOS,1)
|
||||
fi
|
||||
|
||||
AC_CHECK_HEADERS( \
|
||||
crypt.h \
|
||||
errno.h \
|
||||
@ -912,6 +951,7 @@ AC_CHECK_HEADERS( \
|
||||
malloc.h \
|
||||
memory.h \
|
||||
regex.h \
|
||||
psap.h \
|
||||
pwd.h \
|
||||
sgtty.h \
|
||||
stdarg.h \
|
||||
@ -926,22 +966,20 @@ AC_CHECK_HEADERS( \
|
||||
sys/resource.h \
|
||||
sys/socket.h \
|
||||
sys/syslog.h \
|
||||
sys/time.h \
|
||||
sys/types.h \
|
||||
syslog.h \
|
||||
termios.h \
|
||||
unistd.h \
|
||||
)
|
||||
|
||||
dnl ----------------------------------------------------------------
|
||||
dnl Checks for typedefs, structures, and compiler characteristics.
|
||||
AC_TYPE_GETGROUPS
|
||||
AC_TYPE_GETGROUPS dnl requires AC_TYPE_UID_T
|
||||
AC_TYPE_MODE_T
|
||||
AC_TYPE_OFF_T
|
||||
AC_TYPE_PID_T
|
||||
AM_TYPE_PTRDIFF_T
|
||||
AC_TYPE_SIGNAL
|
||||
AC_TYPE_SIZE_T
|
||||
AC_TYPE_UID_T
|
||||
AC_STRUCT_ST_BLKSIZE
|
||||
AC_HEADER_TIME
|
||||
AC_STRUCT_TM
|
||||
@ -961,7 +999,9 @@ fi
|
||||
dnl ----------------------------------------------------------------
|
||||
dnl Checks for library functions.
|
||||
AC_FUNC_MEMCMP
|
||||
AM_FUNC_MKTIME dnl checks for sys/time.h and unistd.h
|
||||
AC_FUNC_STRFTIME
|
||||
AM_FUNC_STRTOD
|
||||
AC_FUNC_VPRINTF
|
||||
|
||||
if test $ac_cv_func_vprintf = yes ; then
|
||||
@ -982,7 +1022,6 @@ AC_CHECK_FUNCS( \
|
||||
memcpy \
|
||||
memmove \
|
||||
mkstemp \
|
||||
mktime \
|
||||
res_search \
|
||||
select \
|
||||
setpwfile \
|
||||
@ -996,7 +1035,6 @@ AC_CHECK_FUNCS( \
|
||||
strrchr \
|
||||
strsep \
|
||||
strstr \
|
||||
strtod \
|
||||
strtok \
|
||||
strtol \
|
||||
strtoul \
|
||||
@ -1128,13 +1166,13 @@ clients/ud/Makefile:build/top.mk:clients/ud/Makefile.in:build/rules.mk \
|
||||
clients/tools/Makefile:build/top.mk:clients/tools/Makefile.in:build/rules.mk \
|
||||
include/Makefile:build/top.mk:include/Makefile.in \
|
||||
libraries/Makefile:build/top.mk:libraries/Makefile.in:build/dir.mk \
|
||||
libraries/libavl/Makefile:build/top.mk:libraries/libavl/Makefile.in:build/lib.mk \
|
||||
libraries/liblber/Makefile:build/top.mk:libraries/liblber/Makefile.in:build/lib.mk \
|
||||
libraries/libldap/Makefile:build/top.mk:libraries/libldap/Makefile.in:build/lib.mk \
|
||||
libraries/libldbm/Makefile:build/top.mk:libraries/libldbm/Makefile.in:build/lib.mk \
|
||||
libraries/libldif/Makefile:build/top.mk:libraries/libldif/Makefile.in:build/lib.mk \
|
||||
libraries/liblthread/Makefile:build/top.mk:libraries/liblthread/Makefile.in:build/lib.mk \
|
||||
libraries/liblutil/Makefile:build/top.mk:libraries/liblutil/Makefile.in:build/lib.mk \
|
||||
libraries/libavl/Makefile:build/top.mk:libraries/libavl/Makefile.in:build/lib.mk:build/lib-static.mk \
|
||||
libraries/liblber/Makefile:build/top.mk:libraries/liblber/Makefile.in:build/lib.mk:build/lib-shared.mk \
|
||||
libraries/libldap/Makefile:build/top.mk:libraries/libldap/Makefile.in:build/lib.mk:build/lib-shared.mk \
|
||||
libraries/libldbm/Makefile:build/top.mk:libraries/libldbm/Makefile.in:build/lib.mk:build/lib-static.mk \
|
||||
libraries/libldif/Makefile:build/top.mk:libraries/libldif/Makefile.in:build/lib.mk:build/lib-static.mk \
|
||||
libraries/liblthread/Makefile:build/top.mk:libraries/liblthread/Makefile.in:build/lib.mk:build/lib-static.mk \
|
||||
libraries/liblutil/Makefile:build/top.mk:libraries/liblutil/Makefile.in:build/lib.mk:build/lib-static.mk \
|
||||
servers/Makefile:build/top.mk:servers/Makefile.in:build/dir.mk \
|
||||
servers/ldapd/Makefile:build/top.mk:servers/ldapd/Makefile.in:build/srv.mk \
|
||||
servers/slapd/Makefile:build/top.mk:servers/slapd/Makefile.in:build/srv.mk \
|
||||
|
49
include/Makefile.in
Normal file
49
include/Makefile.in
Normal file
@ -0,0 +1,49 @@
|
||||
## Copyright 1998 The OpenLDAP Foundation, All Rights Reserved.
|
||||
## COPYING RESTRICTIONS APPLY, See COPYRIGHT file
|
||||
##
|
||||
## include Makefile.in for OpenLDAP
|
||||
|
||||
all-local: ldapconfig.h FORCE
|
||||
|
||||
install-local: FORCE
|
||||
-$(MKDIR) -p $(includedir)
|
||||
$(INSTALL) $(INSTALLFLAGS) -m 644 ldap.h $(includedir)
|
||||
$(INSTALL) $(INSTALLFLAGS) -m 644 lber.h $(includedir)
|
||||
$(INSTALL) $(INSTALLFLAGS) -m 644 ldap_cdefs.h $(includedir)
|
||||
$(INSTALL) $(INSTALLFLAGS) -m 644 disptmpl.h $(includedir)
|
||||
$(INSTALL) $(INSTALLFLAGS) -m 644 srchpref.h $(includedir)
|
||||
|
||||
clean-local: FORCE
|
||||
$(RM) ldapconfig.h
|
||||
|
||||
veryclean-local: clean-local FORCE
|
||||
$(RM) portable.h ldap_features.h
|
||||
|
||||
depend-local: ldapconfig.h FORCE
|
||||
|
||||
ldapconfig.h: $(srcdir)/ldapconfig.h.edit Makefile
|
||||
@$(RM) $@
|
||||
@echo "Making ldapconfig.h"
|
||||
@echo "/*" > $@; \
|
||||
echo " * This file was automatically generated. Do not edit it." >> $@; \
|
||||
echo " * Instead, edit the file ldapconfig.h.edit. See the LDAP" >> $@; \
|
||||
echo " * INSTALL file for more information." >> $@; \
|
||||
echo " */ " >> $@; \
|
||||
echo "" >> $@; \
|
||||
$(SED) \
|
||||
-e 's;%SYSCONFDIR%;$(sysconfdir);' \
|
||||
-e 's;%BINDIR%;$(bindir);' \
|
||||
-e 's;%SBINDIR%;$(sbindir);' \
|
||||
-e 's;%LIBEXECDIR%;$(libexecdir);' \
|
||||
-e 's;%RUNDIR%;$(localstatedir);' \
|
||||
-e 's;%EDITOR%;$(EDITOR);' \
|
||||
-e 's;%FINGER%;$(FINGER);' \
|
||||
-e 's;%SENDMAIL%;$(SENDMAIL);' \
|
||||
$(srcdir)/ldapconfig.h.edit >> $@; \
|
||||
$(CHMOD) 444 $@
|
||||
|
||||
all-common: all-local
|
||||
install-common: all-common install-local
|
||||
clean-common: clean-local
|
||||
veryclean-common: veryclean-local
|
||||
depend-common: depend-local
|
@ -33,7 +33,7 @@
|
||||
# define LDAP_SIGUSR1 SIGSYS
|
||||
# endif
|
||||
|
||||
# ifdef defined( SIGUNUSED )
|
||||
# if defined( SIGUNUSED )
|
||||
# define LDAP_SIGUSR2 SIGUNUSED
|
||||
# elif defined ( SIGINFO )
|
||||
# define LDAP_SIGUSR1 SIGINFO
|
||||
|
@ -17,11 +17,12 @@
|
||||
# include <memory.h>
|
||||
# endif
|
||||
|
||||
/* we should actually create <ac/stdlib.h> */
|
||||
# ifdef HAVE_MALLOC_H
|
||||
# include <malloc.h>
|
||||
# endif
|
||||
|
||||
# ifndef HAVE_STRCHR
|
||||
# ifndef HAVE_STRRCHR
|
||||
# define strchr index
|
||||
# define strrchr rindex
|
||||
# endif
|
||||
@ -32,14 +33,20 @@
|
||||
# endif
|
||||
#endif
|
||||
|
||||
/*
|
||||
* provide prototypes for missing functions that we replace.
|
||||
* replacements can be found in -llutil
|
||||
*/
|
||||
#ifndef HAVE_STRDUP
|
||||
char *strdup( const char *s );
|
||||
/* strdup() is missing, declare our own version */
|
||||
extern char *strdup( const char *s );
|
||||
#else
|
||||
/* some systems fail to declare strdup altogether */
|
||||
extern char *strdup();
|
||||
#endif
|
||||
|
||||
/*
|
||||
* some systems fail to declare strcasecmp() and strncasecmp()
|
||||
* we need them defined so we obtain pointers to them
|
||||
*/
|
||||
extern int strcasecmp(), strncasecmp();
|
||||
|
||||
#ifndef SAFEMEMCPY
|
||||
# if defined( HAVE_MEMMOVE )
|
||||
# define SAFEMEMCPY( d, s, n ) memmove((d), (s), (n))
|
||||
@ -51,4 +58,5 @@
|
||||
# endif
|
||||
#endif
|
||||
|
||||
|
||||
#endif /* _AC_STRING_H */
|
||||
|
@ -3,9 +3,13 @@
|
||||
#ifndef _AC_TERMIOS_H
|
||||
#define _AC_TERMIOS_H
|
||||
|
||||
#ifdef HAVE_TERMIOS_H
|
||||
#ifdef HAVE_POSIX_TERMIOS
|
||||
#include <termios.h>
|
||||
|
||||
#ifdef GCWINSZ_IN_SYS_IOCTL
|
||||
#include <sys/ioctl.h>
|
||||
#endif
|
||||
|
||||
#define TERMIO_TYPE struct termios
|
||||
#define TERMFLAG_TYPE tcflag_t
|
||||
#define GETATTR( fd, tiop ) tcgetattr((fd), (tiop))
|
||||
|
@ -200,11 +200,6 @@ LDAP_BEGIN_DECL
|
||||
#define NO_THREADS 1
|
||||
#endif
|
||||
|
||||
#ifndef PREEMPTIVE_THREADS
|
||||
/* treat no threads as preemptive */
|
||||
#define PREEMPTIVE_THREADS 1
|
||||
#endif
|
||||
|
||||
typedef void *(*VFP)();
|
||||
|
||||
/* thread attributes and thread type */
|
||||
|
@ -128,6 +128,9 @@ is provided ``as is'' without express or implied warranty.
|
||||
/* define this if sys_errlist is not defined in stdio.h or errno.h */
|
||||
#undef DECL_SYS_ERRLIST
|
||||
|
||||
/* define this if TIOCGWINSZ is defined in sys/ioctl.h */
|
||||
#undef GWINSZ_IN_SYS_IOCTL
|
||||
|
||||
/* define if you have berkeley db */
|
||||
#undef HAVE_BERKELEY_DB
|
||||
|
||||
@ -164,12 +167,12 @@ is provided ``as is'' without express or implied warranty.
|
||||
/* define if you have Mach CThreads */
|
||||
#undef HAVE_MACH_CTHREADS
|
||||
|
||||
/* define if you have POSIX termios */
|
||||
#undef HAVE_POSIX_TERMIOS
|
||||
|
||||
/* define if you have PP */
|
||||
#undef HAVE_PP
|
||||
|
||||
/* define if you have a preemptive POSIX Threads implementation */
|
||||
#undef HAVE_PREEMPTIVE_PTHREADS
|
||||
|
||||
/* define if you have POSIX Threads */
|
||||
#undef HAVE_PTHREADS
|
||||
|
||||
@ -179,6 +182,9 @@ is provided ``as is'' without express or implied warranty.
|
||||
/* define if your POSIX Threads implementation is circa Draft 4 */
|
||||
#undef HAVE_PTHREADS_D4
|
||||
|
||||
/* define if you have ptrdiff_t */
|
||||
#undef HAVE_PTRDIFF_T
|
||||
|
||||
/* define if you have sched_yield() */
|
||||
#ifdef __notdef__
|
||||
/* see second sched_yield define */
|
||||
@ -200,6 +206,9 @@ is provided ``as is'' without express or implied warranty.
|
||||
/* define if you have XTPP */
|
||||
#undef HAVE_XTPP
|
||||
|
||||
/* define this if select() implicitly yields in thread environments */
|
||||
#undef HAVE_YIELDING_SELECT
|
||||
|
||||
/* define this for connectionless LDAP support */
|
||||
#undef LDAP_CONNECTIONLESS
|
||||
|
||||
@ -233,9 +242,6 @@ is provided ``as is'' without express or implied warranty.
|
||||
/* define this if you want no thread support */
|
||||
#undef NO_THREADS
|
||||
|
||||
/* define this if the thread package is preemptive */
|
||||
#undef PREEMPTIVE_THREADS
|
||||
|
||||
/* define this for ACL Group support */
|
||||
#undef SLAPD_ACLGROUPS
|
||||
|
||||
@ -272,6 +278,9 @@ is provided ``as is'' without express or implied warranty.
|
||||
/* The number of bytes in a short. */
|
||||
#undef SIZEOF_SHORT
|
||||
|
||||
/* Define if you have the alarm function. */
|
||||
#undef HAVE_ALARM
|
||||
|
||||
/* Define if you have the bcopy function. */
|
||||
#undef HAVE_BCOPY
|
||||
|
||||
@ -305,8 +314,8 @@ is provided ``as is'' without express or implied warranty.
|
||||
/* Define if you have the mkstemp function. */
|
||||
#undef HAVE_MKSTEMP
|
||||
|
||||
/* Define if you have the mktime function. */
|
||||
#undef HAVE_MKTIME
|
||||
/* Define if you have the pow function. */
|
||||
#undef HAVE_POW
|
||||
|
||||
/* Define if you have the pthread_attr_create function. */
|
||||
#undef HAVE_PTHREAD_ATTR_CREATE
|
||||
@ -380,9 +389,6 @@ is provided ``as is'' without express or implied warranty.
|
||||
/* Define if you have the strstr function. */
|
||||
#undef HAVE_STRSTR
|
||||
|
||||
/* Define if you have the strtod function. */
|
||||
#undef HAVE_STRTOD
|
||||
|
||||
/* Define if you have the strtok function. */
|
||||
#undef HAVE_STRTOK
|
||||
|
||||
@ -473,6 +479,9 @@ is provided ``as is'' without express or implied warranty.
|
||||
/* Define if you have the <ndir.h> header file. */
|
||||
#undef HAVE_NDIR_H
|
||||
|
||||
/* Define if you have the <psap.h> header file. */
|
||||
#undef HAVE_PSAP_H
|
||||
|
||||
/* Define if you have the <pthread.h> header file. */
|
||||
#undef HAVE_PTHREAD_H
|
||||
|
||||
|
15
libraries/libavl/Makefile.in
Normal file
15
libraries/libavl/Makefile.in
Normal file
@ -0,0 +1,15 @@
|
||||
##
|
||||
## LIBAVL
|
||||
##
|
||||
|
||||
SRCS = avl.c testavl.c
|
||||
XSRCS = version.c
|
||||
OBJS = avl.o
|
||||
|
||||
LDAP_INCDIR= ../../include
|
||||
LDAP_LIBDIR= ../../libraries
|
||||
|
||||
LIBRARY = libavl.a
|
||||
PROGRAMS = testavl
|
||||
|
||||
testavl: $(LIBRARY) testavl.o
|
28
libraries/liblber/Makefile.in
Normal file
28
libraries/liblber/Makefile.in
Normal file
@ -0,0 +1,28 @@
|
||||
##
|
||||
## LIBLBER
|
||||
##
|
||||
|
||||
LIBRARY = liblber.la
|
||||
|
||||
SRCS= decode.c encode.c io.c bprint.c
|
||||
OBJS= decode.lo encode.lo io.lo bprint.lo
|
||||
XSRCS= version.c
|
||||
|
||||
PROGRAMS= dtest etest idtest
|
||||
|
||||
LDAP_INCDIR= ../../include
|
||||
LDAP_LIBDIR= ../../libraries
|
||||
|
||||
LIBS = $(LDAP_LIBPATH) $(LDAP_LIBLBER) $(AC_LIBS)
|
||||
|
||||
dtest: $(LIBRARY) dtest.o
|
||||
$(LTLINK) $(LDFLAGS) -o $@ dtest.o $(LIBS)
|
||||
etest: $(LIBRARY) etest.o
|
||||
$(LTLINK) $(LDFLAGS) -o $@ etest.o $(LIBS)
|
||||
idtest: $(LIBRARY) idtest.o
|
||||
$(LTLINK) $(LDFLAGS) -o $@ idtest.o $(LIBS)
|
||||
|
||||
install-local: FORCE
|
||||
-$(MKDIR) -p $(libdir)
|
||||
$(LTINSTALL) $(INSTALLFLAGS) -m 644 $(LIBRARY) $(libdir)
|
||||
|
@ -24,7 +24,7 @@
|
||||
#include <console.h>
|
||||
#endif /* MACOS */
|
||||
|
||||
#include "lber-int.h"
|
||||
#include "lber.h"
|
||||
|
||||
static void usage( char *name )
|
||||
{
|
||||
|
@ -11,9 +11,14 @@
|
||||
* is provided ``as is'' without express or implied warranty.
|
||||
*/
|
||||
|
||||
#include "portable.h"
|
||||
|
||||
#include <stdio.h>
|
||||
|
||||
#ifdef HAVE_PSAP_H
|
||||
#include <psap.h>
|
||||
#include <quipu/attr.h>
|
||||
#endif
|
||||
|
||||
static usage( char *name )
|
||||
{
|
||||
@ -22,6 +27,7 @@ static usage( char *name )
|
||||
|
||||
main( int argc, char **argv )
|
||||
{
|
||||
#ifdef HAVE_PSAP_H
|
||||
PE pe;
|
||||
PS psin, psout, pserr;
|
||||
|
||||
@ -59,4 +65,8 @@ main( int argc, char **argv )
|
||||
}
|
||||
|
||||
exit( 0 );
|
||||
#else
|
||||
fprintf(stderr, "requires ISODE X.500 distribution.\n");
|
||||
exit( 1 );
|
||||
#endif
|
||||
}
|
||||
|
46
libraries/libldap/Makefile.in
Normal file
46
libraries/libldap/Makefile.in
Normal file
@ -0,0 +1,46 @@
|
||||
##
|
||||
## Makefile.in for LDAP -lldap
|
||||
##
|
||||
LIBRARY = libldap.la
|
||||
PROGRAMS = ltest ttest
|
||||
|
||||
SRCS = bind.c open.c result.c error.c compare.c search.c \
|
||||
modify.c add.c modrdn.c delete.c abandon.c ufn.c cache.c \
|
||||
getfilter.c sbind.c kbind.c unbind.c friendly.c cldap.c \
|
||||
free.c disptmpl.c srchpref.c dsparse.c tmplout.c sort.c \
|
||||
getdn.c getentry.c getattr.c getvalues.c addentry.c \
|
||||
request.c getdxbyname.c os-ip.c url.c charset.c \
|
||||
strdup.c
|
||||
OBJS = bind.lo open.lo result.lo error.lo compare.lo search.lo \
|
||||
modify.lo add.lo modrdn.lo delete.lo abandon.lo ufn.lo cache.lo \
|
||||
getfilter.lo sbind.lo kbind.lo unbind.lo friendly.lo cldap.lo \
|
||||
free.lo disptmpl.lo srchpref.lo dsparse.lo tmplout.lo sort.lo \
|
||||
getdn.lo getentry.lo getattr.lo getvalues.lo addentry.lo \
|
||||
request.lo getdxbyname.lo os-ip.lo url.lo charset.lo \
|
||||
strdup.lo
|
||||
|
||||
LDAP_INCDIR= ../../include
|
||||
LDAP_LIBDIR= ../../libraries
|
||||
|
||||
LIBS = $(LDAP_LIBPATH) $(LDAP_LIBLDAP) $(LDAP_LIBLBER) $(AC_LIBS)
|
||||
|
||||
ltest: $(LIBRARY) test.o $(LDAP_LIBLBER_DEPEND)
|
||||
$(LTLINK) $(LDFLAGS) -o $@ test.o $(LIBS)
|
||||
ttest: $(LIBRARY) tmpltest.o $(LDAP_LIBLBER_DEPEND)
|
||||
$(LTLINK) $(LDFLAGS) -o $@ tmpltest.o $(LIBS)
|
||||
|
||||
CFFILES= ldapfilter.conf ldapfriendly \
|
||||
ldaptemplates.conf ldapsearchprefs.conf
|
||||
|
||||
install-local: $(CFFILES) FORCE
|
||||
-$(MKDIR) -p $(libdir)
|
||||
$(LTINSTALL) $(INSTALLFLAGS) -m 644 $(LIBRARY) $(libdir)
|
||||
-$(MKDIR) -p $(sysconfdir)
|
||||
@for i in $(CFFILES); do \
|
||||
echo "installing $$i in $(sysconfdir)"; \
|
||||
if test -f $(sysconfdir)/$$i; then \
|
||||
$(MV) $(sysconfdir)/$$i $(sysconfdir)/$$i-; \
|
||||
fi; \
|
||||
$(INSTALL) $(INSTALLFLAGS) -m 644 $$i $(sysconfdir); \
|
||||
done
|
||||
|
@ -142,7 +142,7 @@ cldap_open( char *host, int port )
|
||||
}
|
||||
|
||||
if ( ld->ld_host == NULL ) {
|
||||
ld->ld_host = strdup( host );
|
||||
ld->ld_host = ldap_strdup( host );
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -30,6 +30,7 @@
|
||||
#include "lber.h"
|
||||
#include "ldap.h"
|
||||
#include "disptmpl.h"
|
||||
#include "ldap-int.h"
|
||||
|
||||
static void free_disptmpl LDAP_P(( struct ldap_disptmpl *tmpl ));
|
||||
static int read_next_tmpl LDAP_P(( char **bufp, long *blenp,
|
||||
@ -385,7 +386,7 @@ ldap_tmplattrs( struct ldap_disptmpl *tmpl, char **includeattrs,
|
||||
for ( i = 0; !memerr && includeattrs[ i ] != NULL; ++i ) {
|
||||
if (( attrs = (char **)realloc( attrs, ( attrcnt + 2 ) *
|
||||
sizeof( char * ))) == NULL || ( attrs[ attrcnt++ ] =
|
||||
strdup( includeattrs[ i ] )) == NULL ) {
|
||||
ldap_strdup( includeattrs[ i ] )) == NULL ) {
|
||||
memerr = 1;
|
||||
} else {
|
||||
attrs[ attrcnt ] = NULL;
|
||||
@ -412,7 +413,7 @@ ldap_tmplattrs( struct ldap_disptmpl *tmpl, char **includeattrs,
|
||||
if ( ticolp->ti_attrname != NULL ) {
|
||||
if (( attrs = (char **)realloc( attrs, ( attrcnt + 2 ) *
|
||||
sizeof( char * ))) == NULL || ( attrs[ attrcnt++ ] =
|
||||
strdup( ticolp->ti_attrname )) == NULL ) {
|
||||
ldap_strdup( ticolp->ti_attrname )) == NULL ) {
|
||||
memerr = 1;
|
||||
} else {
|
||||
attrs[ attrcnt ] = NULL;
|
||||
|
@ -190,7 +190,7 @@ next_token( char **sp )
|
||||
return( NULL );
|
||||
}
|
||||
|
||||
return( strdup( tokstart ));
|
||||
return( ldap_strdup( tokstart ));
|
||||
}
|
||||
|
||||
|
||||
|
@ -5,31 +5,24 @@
|
||||
* friendly.c
|
||||
*/
|
||||
|
||||
#include "portable.h"
|
||||
|
||||
#ifndef lint
|
||||
static char copyright[] = "@(#) Copyright (c) 1993 Regents of the University of Michigan.\nAll rights reserved.\n";
|
||||
#endif
|
||||
|
||||
#include <stdio.h>
|
||||
#include <ctype.h>
|
||||
#include <string.h>
|
||||
#ifdef MACOS
|
||||
#include <stdlib.h>
|
||||
#include "macos.h"
|
||||
#endif /* MACOS */
|
||||
|
||||
#if defined( DOS ) || defined( _WIN32 )
|
||||
#include <malloc.h>
|
||||
#include "msdos.h"
|
||||
#endif /* DOS */
|
||||
|
||||
#if !defined( MACOS ) && !defined( DOS )
|
||||
#include <errno.h>
|
||||
#include <sys/types.h>
|
||||
#include <sys/socket.h>
|
||||
#endif
|
||||
#include <ac/ctype.h>
|
||||
#include <ac/errno.h>
|
||||
#include <ac/socket.h>
|
||||
#include <ac/string.h>
|
||||
#include <ac/time.h>
|
||||
|
||||
#include "lber.h"
|
||||
#include "ldap.h"
|
||||
#include "ldap-int.h"
|
||||
|
||||
char *
|
||||
ldap_friendly_name( char *filename, char *uname, FriendlyMap **map )
|
||||
@ -40,9 +33,7 @@ ldap_friendly_name( char *filename, char *uname, FriendlyMap **map )
|
||||
char buf[BUFSIZ];
|
||||
|
||||
if ( map == NULL ) {
|
||||
#if !defined( MACOS ) && !defined( DOS )
|
||||
errno = EINVAL;
|
||||
#endif
|
||||
return( uname );
|
||||
}
|
||||
|
||||
@ -94,8 +85,8 @@ ldap_friendly_name( char *filename, char *uname, FriendlyMap **map )
|
||||
}
|
||||
}
|
||||
|
||||
(*map)[i].f_unfriendly = strdup( buf );
|
||||
(*map)[i].f_friendly = strdup( s );
|
||||
(*map)[i].f_unfriendly = ldap_strdup( buf );
|
||||
(*map)[i].f_friendly = ldap_strdup( s );
|
||||
i++;
|
||||
}
|
||||
|
||||
|
@ -5,28 +5,23 @@
|
||||
* getdn.c
|
||||
*/
|
||||
|
||||
#include "portable.h"
|
||||
|
||||
#ifndef lint
|
||||
static char copyright[] = "@(#) Copyright (c) 1990 Regents of the University of Michigan.\nAll rights reserved.\n";
|
||||
#endif
|
||||
|
||||
#include <stdio.h>
|
||||
#include <ctype.h>
|
||||
#include <string.h>
|
||||
#ifdef MACOS
|
||||
#include <stdlib.h>
|
||||
#include "macos.h"
|
||||
#else /* MACOS */
|
||||
#if defined( DOS ) || defined( _WIN32 )
|
||||
#include <malloc.h>
|
||||
#include "msdos.h"
|
||||
#else /* DOS */
|
||||
#include <sys/types.h>
|
||||
#include <sys/socket.h>
|
||||
#endif /* DOS */
|
||||
#endif /* MACOS */
|
||||
|
||||
#include <ac/ctype.h>
|
||||
#include <ac/socket.h>
|
||||
#include <ac/string.h>
|
||||
#include <ac/time.h>
|
||||
|
||||
#include "lber.h"
|
||||
#include "ldap.h"
|
||||
#include "ldap-int.h"
|
||||
|
||||
char *
|
||||
ldap_get_dn( LDAP *ld, LDAPMessage *entry )
|
||||
@ -59,9 +54,9 @@ ldap_dn2ufn( char *dn )
|
||||
Debug( LDAP_DEBUG_TRACE, "ldap_dn2ufn\n", 0, 0, 0 );
|
||||
|
||||
if ( ldap_is_dns_dn( dn ) || ( p = strchr( dn, '=' )) == NULL )
|
||||
return( strdup( dn ));
|
||||
return( ldap_strdup( dn ) );
|
||||
|
||||
ufn = strdup( ++p );
|
||||
ufn = ldap_strdup( ++p );
|
||||
|
||||
#define INQUOTE 1
|
||||
#define OUTQUOTE 2
|
||||
@ -144,7 +139,7 @@ ldap_explode_dns( char *dn )
|
||||
return( NULL );
|
||||
}
|
||||
}
|
||||
rdns[ncomps++] = strdup( s );
|
||||
rdns[ncomps++] = ldap_strdup( s );
|
||||
}
|
||||
rdns[ncomps] = NULL;
|
||||
|
||||
@ -251,19 +246,3 @@ ldap_is_dns_dn( char *dn )
|
||||
strchr( dn, ',' ) == NULL );
|
||||
}
|
||||
|
||||
|
||||
#if defined( ultrix ) || defined( NeXT )
|
||||
|
||||
char *strdup( char *s )
|
||||
{
|
||||
char *p;
|
||||
|
||||
if ( (p = (char *) malloc( strlen( s ) + 1 )) == NULL )
|
||||
return( NULL );
|
||||
|
||||
strcpy( p, s );
|
||||
|
||||
return( p );
|
||||
}
|
||||
|
||||
#endif /* ultrix */
|
||||
|
@ -1,63 +1,43 @@
|
||||
#ifdef LDAP_DNS
|
||||
/*
|
||||
* Copyright (c) 1995 Regents of the University of Michigan.
|
||||
* All rights reserved.
|
||||
*
|
||||
* getdxbyname - retrieve DX records from the DNS (from TXT records for now)
|
||||
* ldap_getdxbyname - retrieve DX records from the DNS (from TXT records for now)
|
||||
*/
|
||||
|
||||
#include "portable.h"
|
||||
|
||||
#ifdef LDAP_DNS
|
||||
|
||||
#include <stdio.h>
|
||||
#include <string.h>
|
||||
#include <ctype.h>
|
||||
|
||||
#ifdef MACOS
|
||||
#include <stdlib.h>
|
||||
#include "macos.h"
|
||||
#endif /* MACOS */
|
||||
|
||||
#if !defined(MACOS) && !defined(DOS) && !defined( _WIN32 )
|
||||
#include <sys/types.h>
|
||||
#include <netinet/in.h>
|
||||
#include <arpa/nameser.h>
|
||||
#include <sys/time.h>
|
||||
#include <sys/types.h>
|
||||
#include <sys/socket.h>
|
||||
#include <netdb.h>
|
||||
#include <resolv.h>
|
||||
#endif
|
||||
#include <ac/ctype.h>
|
||||
#include <ac/socket.h>
|
||||
#include <ac/string.h>
|
||||
#include <ac/time.h>
|
||||
|
||||
#include "lber.h"
|
||||
#include "ldap.h"
|
||||
#include "ldap-int.h"
|
||||
|
||||
#if defined( DOS ) || defined( _WIN32 )
|
||||
#include "msdos.h"
|
||||
#endif /* DOS */
|
||||
|
||||
|
||||
#ifdef NEEDPROTOS
|
||||
static char ** decode_answer( unsigned char *answer, int len );
|
||||
#else /* NEEDPROTOS */
|
||||
static char **decode_answer();
|
||||
#endif /* NEEDPROTOS */
|
||||
|
||||
extern int h_errno;
|
||||
extern char *h_errlist[];
|
||||
|
||||
static char ** decode_answer LDAP_P(( unsigned char *answer, int len ));
|
||||
|
||||
#define MAX_TO_SORT 32
|
||||
|
||||
|
||||
/*
|
||||
* getdxbyname - lookup DNS DX records for domain and return an ordered
|
||||
* ldap_getdxbyname - lookup DNS DX records for domain and return an ordered
|
||||
* array.
|
||||
*/
|
||||
char **
|
||||
getdxbyname( char *domain )
|
||||
ldap_getdxbyname( char *domain )
|
||||
{
|
||||
unsigned char buf[ PACKETSZ ];
|
||||
char **dxs;
|
||||
int rc;
|
||||
|
||||
Debug( LDAP_DEBUG_TRACE, "getdxbyname( %s )\n", domain, 0, 0 );
|
||||
Debug( LDAP_DEBUG_TRACE, "ldap_getdxbyname( %s )\n", domain, 0, 0 );
|
||||
|
||||
memset( buf, 0, sizeof( buf ));
|
||||
|
||||
@ -67,7 +47,7 @@ getdxbyname( char *domain )
|
||||
* punt: return list conisting of the original domain name only
|
||||
*/
|
||||
if (( dxs = (char **)malloc( 2 * sizeof( char * ))) == NULL ||
|
||||
( dxs[ 0 ] = strdup( domain )) == NULL ) {
|
||||
( dxs[ 0 ] = ldap_strdup( domain )) == NULL ) {
|
||||
if ( dxs != NULL ) {
|
||||
free( dxs );
|
||||
}
|
||||
@ -91,9 +71,11 @@ decode_answer( unsigned char *answer, int len )
|
||||
int dx_pref[ MAX_TO_SORT ];
|
||||
|
||||
#ifdef LDAP_DEBUG
|
||||
#ifdef notdef
|
||||
if ( ldap_debug & LDAP_DEBUG_PACKETS ) {
|
||||
/* __p_query( answer ); /* */
|
||||
__p_query( answer );
|
||||
}
|
||||
#endif
|
||||
#endif /* LDAP_DEBUG */
|
||||
|
||||
dxs = NULL;
|
||||
|
@ -27,6 +27,7 @@ static char copyright[] = "@(#) Copyright (c) 1993 Regents of the University of
|
||||
|
||||
#include "lber.h"
|
||||
#include "ldap.h"
|
||||
#include "ldap-int.h"
|
||||
|
||||
static int break_into_words LDAP_P(( char *str, char *delims, char ***wordsp ));
|
||||
|
||||
@ -116,7 +117,7 @@ ldap_init_getfilter_buf( char *buf, long buflen )
|
||||
ldap_getfilter_free( lfdp );
|
||||
return( NULL );
|
||||
}
|
||||
nextflp->lfl_tag = strdup( tag );
|
||||
nextflp->lfl_tag = ldap_strdup( tag );
|
||||
nextflp->lfl_pattern = tok[ 0 ];
|
||||
if ( (rc = regcomp( &re, nextflp->lfl_pattern, 0 )) != 0 ) {
|
||||
#ifdef LDAP_LIBUI
|
||||
@ -211,12 +212,12 @@ ldap_setfilteraffixes( LDAPFiltDesc *lfdp, char *prefix, char *suffix )
|
||||
if ( lfdp->lfd_filtprefix != NULL ) {
|
||||
free( lfdp->lfd_filtprefix );
|
||||
}
|
||||
lfdp->lfd_filtprefix = ( prefix == NULL ) ? NULL : strdup( prefix );
|
||||
lfdp->lfd_filtprefix = ( prefix == NULL ) ? NULL : ldap_strdup( prefix );
|
||||
|
||||
if ( lfdp->lfd_filtsuffix != NULL ) {
|
||||
free( lfdp->lfd_filtsuffix );
|
||||
}
|
||||
lfdp->lfd_filtsuffix = ( suffix == NULL ) ? NULL : strdup( suffix );
|
||||
lfdp->lfd_filtsuffix = ( suffix == NULL ) ? NULL : ldap_strdup( suffix );
|
||||
}
|
||||
|
||||
|
||||
@ -265,7 +266,7 @@ ldap_getfirstfilter( LDAPFiltDesc *lfdp, char *tagpat, char *value )
|
||||
return( NULL );
|
||||
}
|
||||
|
||||
if (( lfdp->lfd_curvalcopy = strdup( value )) == NULL ) {
|
||||
if (( lfdp->lfd_curvalcopy = ldap_strdup( value )) == NULL ) {
|
||||
return( NULL );
|
||||
}
|
||||
|
||||
|
@ -119,6 +119,10 @@ LDAP_F int cldap_getmsg ( LDAP *ld, struct timeval *timeout, BerElement *ber );
|
||||
BerElement *ldap_build_search_req( LDAP *ld, char *base, int scope,
|
||||
char *filter, char **attrs, int attrsonly );
|
||||
|
||||
/*
|
||||
* in strdup.c
|
||||
*/
|
||||
char *ldap_strdup LDAP_P(( const char * ));
|
||||
|
||||
/*
|
||||
* in unbind.c
|
||||
|
@ -5,32 +5,23 @@
|
||||
* open.c
|
||||
*/
|
||||
|
||||
#include "portable.h"
|
||||
|
||||
#ifndef lint
|
||||
static char copyright[] = "@(#) Copyright (c) 1995 Regents of the University of Michigan.\nAll rights reserved.\n";
|
||||
#endif
|
||||
|
||||
#include <stdio.h>
|
||||
#include <string.h>
|
||||
|
||||
#ifdef MACOS
|
||||
#include <stdlib.h>
|
||||
#include "macos.h"
|
||||
#endif /* MACOS */
|
||||
|
||||
#if defined( DOS ) || defined( _WIN32 )
|
||||
#include "msdos.h"
|
||||
#include <stdlib.h>
|
||||
#endif /* DOS */
|
||||
#include <ac/socket.h>
|
||||
#include <ac/string.h>
|
||||
#include <ac/time.h>
|
||||
|
||||
#if !defined(MACOS) && !defined(DOS) && !defined( _WIN32 )
|
||||
#include <sys/time.h>
|
||||
#include <sys/types.h>
|
||||
#include <sys/socket.h>
|
||||
#ifndef VMS
|
||||
#ifdef HAVE_SYS_PARAM_H
|
||||
#include <sys/param.h>
|
||||
#endif
|
||||
#include <netinet/in.h>
|
||||
#endif
|
||||
|
||||
#include "lber.h"
|
||||
#include "ldap.h"
|
||||
#include "ldap-int.h"
|
||||
@ -39,14 +30,6 @@ static char copyright[] = "@(#) Copyright (c) 1995 Regents of the University of
|
||||
int ldap_debug;
|
||||
#endif
|
||||
|
||||
#ifndef INADDR_LOOPBACK
|
||||
#define INADDR_LOOPBACK ((unsigned long) 0x7f000001)
|
||||
#endif
|
||||
|
||||
#ifndef MAXHOSTNAMELEN
|
||||
#define MAXHOSTNAMELEN 64
|
||||
#endif
|
||||
|
||||
|
||||
/*
|
||||
* ldap_open - initialize and connect to an ldap server. A magic cookie to
|
||||
@ -75,13 +58,13 @@ ldap_open( char *host, int port )
|
||||
#ifdef LDAP_REFERRALS
|
||||
if (( srv = (LDAPServer *)calloc( 1, sizeof( LDAPServer ))) ==
|
||||
NULL || ( ld->ld_defhost != NULL && ( srv->lsrv_host =
|
||||
strdup( ld->ld_defhost )) == NULL )) {
|
||||
ldap_strdup( ld->ld_defhost )) == NULL )) {
|
||||
ldap_ld_free( ld, 0 );
|
||||
return( NULL );
|
||||
}
|
||||
srv->lsrv_port = ld->ld_defport;
|
||||
|
||||
if (( ld->ld_defconn = new_connection( ld, &srv, 1,1,0 )) == NULL ) {
|
||||
if (( ld->ld_defconn = ldap_new_connection( ld, &srv, 1,1,0 )) == NULL ) {
|
||||
if ( ld->ld_defhost != NULL ) free( srv->lsrv_host );
|
||||
free( (char *)srv );
|
||||
ldap_ld_free( ld, 0 );
|
||||
@ -120,25 +103,63 @@ ldap_init( char *defhost, int defport )
|
||||
|
||||
Debug( LDAP_DEBUG_TRACE, "ldap_init\n", 0, 0, 0 );
|
||||
|
||||
#ifdef HAVE_WINSOCK2
|
||||
{ WORD wVersionRequested;
|
||||
WSADATA wsaData;
|
||||
int err;
|
||||
|
||||
wVersionRequested = MAKEWORD( 2, 0 );
|
||||
|
||||
err = WSAStartup( wVersionRequested, &wsaData );
|
||||
if ( err != 0 ) {
|
||||
/* Tell the user that we couldn't find a usable */
|
||||
/* WinSock DLL. */
|
||||
return NULL;
|
||||
}
|
||||
|
||||
/* Confirm that the WinSock DLL supports 2.0.*/
|
||||
/* Note that if the DLL supports versions greater */
|
||||
/* than 2.0 in addition to 2.0, it will still return */
|
||||
/* 2.0 in wVersion since that is the version we */
|
||||
/* requested. */
|
||||
|
||||
if ( LOBYTE( wsaData.wVersion ) != 2 ||
|
||||
HIBYTE( wsaData.wVersion ) != 0 )
|
||||
{
|
||||
/* Tell the user that we couldn't find a usable */
|
||||
/* WinSock DLL. */
|
||||
WSACleanup( );
|
||||
return NULL;
|
||||
}
|
||||
} /* The WinSock DLL is acceptable. Proceed. */
|
||||
|
||||
#elif HAVE_WINSOCK
|
||||
if ( WSAStartup( 0x0101, &wsadata ) != 0 ) {
|
||||
return( NULL );
|
||||
}
|
||||
#endif
|
||||
|
||||
if ( (ld = (LDAP *) calloc( 1, sizeof(LDAP) )) == NULL ) {
|
||||
WSACleanup( );
|
||||
return( NULL );
|
||||
}
|
||||
|
||||
#ifdef LDAP_REFERRALS
|
||||
if (( ld->ld_selectinfo = new_select_info()) == NULL ) {
|
||||
if (( ld->ld_selectinfo = ldap_new_select_info()) == NULL ) {
|
||||
free( (char*)ld );
|
||||
WSACleanup( );
|
||||
return( NULL );
|
||||
}
|
||||
ld->ld_options = LDAP_OPT_REFERRALS;
|
||||
#endif /* LDAP_REFERRALS */
|
||||
|
||||
if ( defhost != NULL &&
|
||||
( ld->ld_defhost = strdup( defhost )) == NULL ) {
|
||||
( ld->ld_defhost = ldap_strdup( defhost )) == NULL ) {
|
||||
#ifdef LDAP_REFERRALS
|
||||
free_select_info( ld->ld_selectinfo );
|
||||
ldap_free_select_info( ld->ld_selectinfo );
|
||||
#endif /* LDAP_REFERRALS */
|
||||
free( (char*)ld );
|
||||
WSACleanup( );
|
||||
return( NULL );
|
||||
}
|
||||
|
||||
@ -148,6 +169,10 @@ ldap_init( char *defhost, int defport )
|
||||
ld->ld_lberoptions = LBER_USE_DER;
|
||||
ld->ld_refhoplimit = LDAP_DEFAULT_REFHOPLIMIT;
|
||||
|
||||
#ifdef LDAP_REFERRALS
|
||||
ld->ld_options |= LDAP_OPT_REFERRALS;
|
||||
#endif /* LDAP_REFERRALS */
|
||||
|
||||
#if defined( STR_TRANSLATION ) && defined( LDAP_DEFAULT_CHARSET )
|
||||
ld->ld_lberoptions |= LBER_TRANSLATE_STRINGS;
|
||||
#if LDAP_CHARSET_8859 == LDAP_DEFAULT_CHARSET
|
||||
@ -163,13 +188,14 @@ int
|
||||
open_ldap_connection( LDAP *ld, Sockbuf *sb, char *host, int defport,
|
||||
char **krbinstancep, int async )
|
||||
{
|
||||
int rc, port;
|
||||
int rc = -1;
|
||||
int port;
|
||||
char *p, *q, *r;
|
||||
char *curhost, hostname[ 2*MAXHOSTNAMELEN ];
|
||||
|
||||
Debug( LDAP_DEBUG_TRACE, "open_ldap_connection\n", 0, 0, 0 );
|
||||
|
||||
defport = htons( defport );
|
||||
defport = htons( (short) defport );
|
||||
|
||||
if ( host != NULL ) {
|
||||
for ( p = host; p != NULL && *p != '\0'; p = q ) {
|
||||
@ -192,18 +218,18 @@ open_ldap_connection( LDAP *ld, Sockbuf *sb, char *host, int defport,
|
||||
curhost = hostname;
|
||||
}
|
||||
*r++ = '\0';
|
||||
port = htons( (short)atoi( r ));
|
||||
port = htons( (short) atoi( r ) );
|
||||
} else {
|
||||
port = defport;
|
||||
}
|
||||
|
||||
if (( rc = connect_to_host( sb, curhost, 0L,
|
||||
if (( rc = ldap_connect_to_host( sb, curhost, 0L,
|
||||
port, async )) != -1 ) {
|
||||
break;
|
||||
}
|
||||
}
|
||||
} else {
|
||||
rc = connect_to_host( sb, NULL, htonl( INADDR_LOOPBACK ),
|
||||
rc = ldap_connect_to_host( sb, NULL, htonl( INADDR_LOOPBACK ),
|
||||
defport, async );
|
||||
}
|
||||
|
||||
@ -212,14 +238,14 @@ open_ldap_connection( LDAP *ld, Sockbuf *sb, char *host, int defport,
|
||||
}
|
||||
|
||||
if ( krbinstancep != NULL ) {
|
||||
#ifdef KERBEROS
|
||||
if (( *krbinstancep = host_connected_to( sb )) != NULL &&
|
||||
#ifdef HAVE_KERBEROS
|
||||
if (( *krbinstancep = ldap_host_connected_to( sb )) != NULL &&
|
||||
( p = strchr( *krbinstancep, '.' )) != NULL ) {
|
||||
*p = '\0';
|
||||
}
|
||||
#else /* KERBEROS */
|
||||
#else /* HAVE_KERBEROS */
|
||||
krbinstancep = NULL;
|
||||
#endif /* KERBEROS */
|
||||
#endif /* HAVE_KERBEROS */
|
||||
}
|
||||
|
||||
return( 0 );
|
||||
|
@ -181,7 +181,7 @@ ldap_host_connected_to( Sockbuf *sb )
|
||||
if (( hp = gethostbyaddr( (char *) &sin.sin_addr,
|
||||
sizeof( sin.sin_addr ), AF_INET )) != NULL ) {
|
||||
if ( hp->h_name != NULL ) {
|
||||
return( strdup( hp->h_name ));
|
||||
return( ldap_strdup( hp->h_name ));
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -5,85 +5,44 @@
|
||||
* request.c - sending of ldap requests; handling of referrals
|
||||
*/
|
||||
|
||||
#include "portable.h"
|
||||
|
||||
#ifndef lint
|
||||
static char copyright[] = "@(#) Copyright (c) 1995 Regents of the University of Michigan.\nAll rights reserved.\n";
|
||||
#endif
|
||||
|
||||
#include <stdio.h>
|
||||
#include <string.h>
|
||||
#ifdef MACOS
|
||||
#include <stdlib.h>
|
||||
#include <time.h>
|
||||
#include "macos.h"
|
||||
#else /* MACOS */
|
||||
#if defined( DOS ) || defined( _WIN32 )
|
||||
#include "msdos.h"
|
||||
#include <time.h>
|
||||
#include <stdlib.h>
|
||||
#ifdef PCNFS
|
||||
#include <tklib.h>
|
||||
#include <tk_errno.h>
|
||||
#include <bios.h>
|
||||
#endif /* PCNFS */
|
||||
#ifdef NCSA
|
||||
#include "externs.h"
|
||||
#endif /* NCSA */
|
||||
#else /* DOS */
|
||||
#include <sys/time.h>
|
||||
#include <sys/types.h>
|
||||
#include <sys/socket.h>
|
||||
#include <errno.h>
|
||||
#ifdef _AIX
|
||||
#include <sys/select.h>
|
||||
#endif /* _AIX */
|
||||
#include "portable.h"
|
||||
#endif /* DOS */
|
||||
#endif /* MACOS */
|
||||
#ifdef VMS
|
||||
#include "ucx_select.h"
|
||||
#endif
|
||||
|
||||
#include <ac/errno.h>
|
||||
#include <ac/socket.h>
|
||||
#include <ac/string.h>
|
||||
#include <ac/time.h>
|
||||
#include <ac/unistd.h>
|
||||
|
||||
#include "lber.h"
|
||||
#include "ldap.h"
|
||||
#include "ldap-int.h"
|
||||
|
||||
#ifdef USE_SYSCONF
|
||||
#include <unistd.h>
|
||||
#endif /* USE_SYSCONF */
|
||||
|
||||
|
||||
#if defined( LDAP_REFERRALS ) || defined( LDAP_DNS )
|
||||
#ifdef NEEDPROTOS
|
||||
static LDAPConn *find_connection( LDAP *ld, LDAPServer *srv, int any );
|
||||
static void use_connection( LDAP *ld, LDAPConn *lc );
|
||||
static void free_servers( LDAPServer *srvlist );
|
||||
#else /* NEEDPROTOS */
|
||||
static LDAPConn *find_connection();
|
||||
static void use_connection();
|
||||
static void free_servers();
|
||||
#endif /* NEEDPROTOS */
|
||||
static LDAPConn *find_connection LDAP_P(( LDAP *ld, LDAPServer *srv, int any ));
|
||||
static void use_connection LDAP_P(( LDAP *ld, LDAPConn *lc ));
|
||||
static void free_servers LDAP_P(( LDAPServer *srvlist ));
|
||||
#endif /* LDAP_REFERRALS || LDAP_DNS */
|
||||
|
||||
|
||||
#ifdef LDAP_DNS
|
||||
#ifdef NEEDPROTOS
|
||||
static LDAPServer *dn2servers( LDAP *ld, char *dn );
|
||||
#else /* NEEDPROTOS */
|
||||
static LDAPServer *dn2servers();
|
||||
#endif /* NEEDPROTOS */
|
||||
static LDAPServer *dn2servers LDAP_P(( LDAP *ld, char *dn ));
|
||||
#endif /* LDAP_DNS */
|
||||
|
||||
#ifdef LDAP_REFERRALS
|
||||
#ifdef NEEDPROTOS
|
||||
static BerElement *re_encode_request( LDAP *ld, BerElement *origber,
|
||||
int msgid, char **dnp );
|
||||
#else /* NEEDPROTOS */
|
||||
static BerElement *re_encode_request();
|
||||
#endif /* NEEDPROTOS */
|
||||
static BerElement *re_encode_request LDAP_P(( LDAP *ld, BerElement *origber,
|
||||
int msgid, char **dnp ));
|
||||
#endif /* LDAP_REFERRALS */
|
||||
|
||||
|
||||
BerElement *
|
||||
alloc_ber_with_options( LDAP *ld )
|
||||
ldap_alloc_ber_with_options( LDAP *ld )
|
||||
{
|
||||
BerElement *ber;
|
||||
|
||||
@ -91,7 +50,7 @@ alloc_ber_with_options( LDAP *ld )
|
||||
ld->ld_errno = LDAP_NO_MEMORY;
|
||||
#ifdef STR_TRANSLATION
|
||||
} else {
|
||||
set_ber_options( ld, ber );
|
||||
ldap_set_ber_options( ld, ber );
|
||||
#endif /* STR_TRANSLATION */
|
||||
}
|
||||
|
||||
@ -100,7 +59,7 @@ alloc_ber_with_options( LDAP *ld )
|
||||
|
||||
|
||||
void
|
||||
set_ber_options( LDAP *ld, BerElement *ber )
|
||||
ldap_set_ber_options( LDAP *ld, BerElement *ber )
|
||||
{
|
||||
ber->ber_options = ld->ld_lberoptions;
|
||||
#ifdef STR_TRANSLATION
|
||||
@ -114,14 +73,14 @@ set_ber_options( LDAP *ld, BerElement *ber )
|
||||
|
||||
|
||||
int
|
||||
send_initial_request( LDAP *ld, unsigned long msgtype, char *dn,
|
||||
ldap_send_initial_request( LDAP *ld, unsigned long msgtype, char *dn,
|
||||
BerElement *ber )
|
||||
{
|
||||
#if defined( LDAP_REFERRALS ) || defined( LDAP_DNS )
|
||||
LDAPServer *servers;
|
||||
#endif /* LDAP_REFERRALS || LDAP_DNS */
|
||||
|
||||
Debug( LDAP_DEBUG_TRACE, "send_initial_request\n", 0, 0, 0 );
|
||||
Debug( LDAP_DEBUG_TRACE, "ldap_send_initial_request\n", 0, 0, 0 );
|
||||
|
||||
#if !defined( LDAP_REFERRALS ) && !defined( LDAP_DNS )
|
||||
if ( ber_flush( &ld->ld_sb, ber, 1 ) != 0 ) {
|
||||
@ -165,7 +124,7 @@ send_initial_request( LDAP *ld, unsigned long msgtype, char *dn,
|
||||
}
|
||||
#endif /* LDAP_DNS */
|
||||
|
||||
return( send_server_request( ld, ber, ld->ld_msgid, NULL, servers,
|
||||
return( ldap_send_server_request( ld, ber, ld->ld_msgid, NULL, servers,
|
||||
NULL, 0 ));
|
||||
#endif /* !LDAP_REFERRALS && !LDAP_DNS */
|
||||
}
|
||||
@ -174,13 +133,15 @@ send_initial_request( LDAP *ld, unsigned long msgtype, char *dn,
|
||||
|
||||
#if defined( LDAP_REFERRALS ) || defined( LDAP_DNS )
|
||||
int
|
||||
send_server_request( LDAP *ld, BerElement *ber, int msgid, LDAPRequest
|
||||
ldap_send_server_request( LDAP *ld, BerElement *ber, int msgid, LDAPRequest
|
||||
*parentreq, LDAPServer *srvlist, LDAPConn *lc, int bind )
|
||||
{
|
||||
LDAPRequest *lr;
|
||||
int incparent;
|
||||
|
||||
Debug( LDAP_DEBUG_TRACE, "send_server_request\n", 0, 0, 0 );
|
||||
Debug( LDAP_DEBUG_TRACE, "ldap_send_server_request\n", 0, 0, 0 );
|
||||
|
||||
incparent = 0;
|
||||
ld->ld_errno = LDAP_SUCCESS; /* optimistic */
|
||||
|
||||
if ( lc == NULL ) {
|
||||
@ -189,7 +150,12 @@ send_server_request( LDAP *ld, BerElement *ber, int msgid, LDAPRequest
|
||||
} else {
|
||||
if (( lc = find_connection( ld, srvlist, 1 )) ==
|
||||
NULL ) {
|
||||
lc = new_connection( ld, &srvlist, 0, 1, bind );
|
||||
if ( bind && (parentreq != NULL) ) {
|
||||
/* Remember the bind in the parent */
|
||||
incparent = 1;
|
||||
++parentreq->lr_outrefcnt;
|
||||
}
|
||||
lc = ldap_new_connection( ld, &srvlist, 0, 1, bind );
|
||||
}
|
||||
free_servers( srvlist );
|
||||
}
|
||||
@ -200,6 +166,10 @@ send_server_request( LDAP *ld, BerElement *ber, int msgid, LDAPRequest
|
||||
if ( ld->ld_errno == LDAP_SUCCESS ) {
|
||||
ld->ld_errno = LDAP_SERVER_DOWN;
|
||||
}
|
||||
if ( incparent ) {
|
||||
/* Forget about the bind */
|
||||
--parentreq->lr_outrefcnt;
|
||||
}
|
||||
return( -1 );
|
||||
}
|
||||
|
||||
@ -207,8 +177,12 @@ send_server_request( LDAP *ld, BerElement *ber, int msgid, LDAPRequest
|
||||
if (( lr = (LDAPRequest *)calloc( 1, sizeof( LDAPRequest ))) ==
|
||||
NULL ) {
|
||||
ld->ld_errno = LDAP_NO_MEMORY;
|
||||
free_connection( ld, lc, 0, 0 );
|
||||
ldap_free_connection( ld, lc, 0, 0 );
|
||||
ber_free( ber, 1 );
|
||||
if ( incparent ) {
|
||||
/* Forget about the bind */
|
||||
--parentreq->lr_outrefcnt;
|
||||
}
|
||||
return( -1 );
|
||||
}
|
||||
lr->lr_msgid = msgid;
|
||||
@ -217,7 +191,10 @@ send_server_request( LDAP *ld, BerElement *ber, int msgid, LDAPRequest
|
||||
lr->lr_ber = ber;
|
||||
lr->lr_conn = lc;
|
||||
if ( parentreq != NULL ) { /* sub-request */
|
||||
++parentreq->lr_outrefcnt;
|
||||
if ( !incparent ) {
|
||||
/* Increment if we didn't do it before the bind */
|
||||
++parentreq->lr_outrefcnt;
|
||||
}
|
||||
lr->lr_origid = parentreq->lr_origid;
|
||||
lr->lr_parentcnt = parentreq->lr_parentcnt + 1;
|
||||
lr->lr_parent = parentreq;
|
||||
@ -240,12 +217,12 @@ send_server_request( LDAP *ld, BerElement *ber, int msgid, LDAPRequest
|
||||
if ( errno == EWOULDBLOCK ) {
|
||||
/* need to continue write later */
|
||||
lr->lr_status = LDAP_REQST_WRITING;
|
||||
mark_select_write( ld, lc->lconn_sb );
|
||||
ldap_mark_select_write( ld, lc->lconn_sb );
|
||||
} else {
|
||||
#else /* notyet */
|
||||
ld->ld_errno = LDAP_SERVER_DOWN;
|
||||
free_request( ld, lr );
|
||||
free_connection( ld, lc, 0, 0 );
|
||||
ldap_free_request( ld, lr );
|
||||
ldap_free_connection( ld, lc, 0, 0 );
|
||||
return( -1 );
|
||||
#endif /* notyet */
|
||||
#ifdef notyet
|
||||
@ -258,7 +235,7 @@ send_server_request( LDAP *ld, BerElement *ber, int msgid, LDAPRequest
|
||||
}
|
||||
|
||||
/* sent -- waiting for a response */
|
||||
mark_select_read( ld, lc->lconn_sb );
|
||||
ldap_mark_select_read( ld, lc->lconn_sb );
|
||||
}
|
||||
|
||||
ld->ld_errno = LDAP_SUCCESS;
|
||||
@ -267,7 +244,7 @@ send_server_request( LDAP *ld, BerElement *ber, int msgid, LDAPRequest
|
||||
|
||||
|
||||
LDAPConn *
|
||||
new_connection( LDAP *ld, LDAPServer **srvlistp, int use_ldsb,
|
||||
ldap_new_connection( LDAP *ld, LDAPServer **srvlistp, int use_ldsb,
|
||||
int connect, int bind )
|
||||
{
|
||||
LDAPConn *lc;
|
||||
@ -367,7 +344,7 @@ new_connection( LDAP *ld, LDAPServer **srvlistp, int use_ldsb,
|
||||
}
|
||||
|
||||
if ( err != 0 ) {
|
||||
free_connection( ld, lc, 1, 0 );
|
||||
ldap_free_connection( ld, lc, 1, 0 );
|
||||
lc = NULL;
|
||||
}
|
||||
}
|
||||
@ -414,19 +391,19 @@ use_connection( LDAP *ld, LDAPConn *lc )
|
||||
|
||||
|
||||
void
|
||||
free_connection( LDAP *ld, LDAPConn *lc, int force, int unbind )
|
||||
ldap_free_connection( LDAP *ld, LDAPConn *lc, int force, int unbind )
|
||||
{
|
||||
LDAPConn *tmplc, *prevlc;
|
||||
|
||||
Debug( LDAP_DEBUG_TRACE, "free_connection\n", 0, 0, 0 );
|
||||
Debug( LDAP_DEBUG_TRACE, "ldap_free_connection\n", 0, 0, 0 );
|
||||
|
||||
if ( force || --lc->lconn_refcnt <= 0 ) {
|
||||
if ( lc->lconn_status == LDAP_CONNST_CONNECTED ) {
|
||||
mark_select_clear( ld, lc->lconn_sb );
|
||||
ldap_mark_select_clear( ld, lc->lconn_sb );
|
||||
if ( unbind ) {
|
||||
send_unbind( ld, lc->lconn_sb );
|
||||
ldap_send_unbind( ld, lc->lconn_sb );
|
||||
}
|
||||
close_connection( lc->lconn_sb );
|
||||
ldap_close_connection( lc->lconn_sb );
|
||||
if ( lc->lconn_sb->sb_ber.ber_buf != NULL ) {
|
||||
free( lc->lconn_sb->sb_ber.ber_buf );
|
||||
}
|
||||
@ -442,6 +419,7 @@ free_connection( LDAP *ld, LDAPConn *lc, int force, int unbind )
|
||||
}
|
||||
break;
|
||||
}
|
||||
prevlc = tmplc;
|
||||
}
|
||||
free_servers( lc->lconn_server );
|
||||
if ( lc->lconn_krbinstance != NULL ) {
|
||||
@ -451,11 +429,11 @@ free_connection( LDAP *ld, LDAPConn *lc, int force, int unbind )
|
||||
free( (char *)lc->lconn_sb );
|
||||
}
|
||||
free( lc );
|
||||
Debug( LDAP_DEBUG_TRACE, "free_connection: actually freed\n",
|
||||
Debug( LDAP_DEBUG_TRACE, "ldap_free_connection: actually freed\n",
|
||||
0, 0, 0 );
|
||||
} else {
|
||||
lc->lconn_lastused = time( 0 );
|
||||
Debug( LDAP_DEBUG_TRACE, "free_connection: refcnt %d\n",
|
||||
Debug( LDAP_DEBUG_TRACE, "ldap_free_connection: refcnt %d\n",
|
||||
lc->lconn_refcnt, 0, 0 );
|
||||
}
|
||||
}
|
||||
@ -463,7 +441,7 @@ free_connection( LDAP *ld, LDAPConn *lc, int force, int unbind )
|
||||
|
||||
#ifdef LDAP_DEBUG
|
||||
void
|
||||
dump_connection( LDAP *ld, LDAPConn *lconns, int all )
|
||||
ldap_dump_connection( LDAP *ld, LDAPConn *lconns, int all )
|
||||
{
|
||||
LDAPConn *lc;
|
||||
|
||||
@ -490,7 +468,7 @@ dump_connection( LDAP *ld, LDAPConn *lconns, int all )
|
||||
|
||||
|
||||
void
|
||||
dump_requests_and_responses( LDAP *ld )
|
||||
ldap_dump_requests_and_responses( LDAP *ld )
|
||||
{
|
||||
LDAPRequest *lr;
|
||||
LDAPMessage *lm, *l;
|
||||
@ -531,11 +509,11 @@ dump_requests_and_responses( LDAP *ld )
|
||||
|
||||
|
||||
void
|
||||
free_request( LDAP *ld, LDAPRequest *lr )
|
||||
ldap_free_request( LDAP *ld, LDAPRequest *lr )
|
||||
{
|
||||
LDAPRequest *tmplr, *nextlr;
|
||||
|
||||
Debug( LDAP_DEBUG_TRACE, "free_request (origid %d, msgid %d)\n",
|
||||
Debug( LDAP_DEBUG_TRACE, "ldap_free_request (origid %d, msgid %d)\n",
|
||||
lr->lr_origid, lr->lr_msgid, 0 );
|
||||
|
||||
if ( lr->lr_parent != NULL ) {
|
||||
@ -544,7 +522,7 @@ free_request( LDAP *ld, LDAPRequest *lr )
|
||||
/* free all referrals (child requests) */
|
||||
for ( tmplr = lr->lr_refnext; tmplr != NULL; tmplr = nextlr ) {
|
||||
nextlr = tmplr->lr_refnext;
|
||||
free_request( ld, tmplr );
|
||||
ldap_free_request( ld, tmplr );
|
||||
}
|
||||
}
|
||||
|
||||
@ -599,7 +577,7 @@ free_servers( LDAPServer *srvlist )
|
||||
* XXX merging of errors in this routine needs to be improved
|
||||
*/
|
||||
int
|
||||
chase_referrals( LDAP *ld, LDAPRequest *lr, char **errstrp, int *hadrefp )
|
||||
ldap_chase_referrals( LDAP *ld, LDAPRequest *lr, char **errstrp, int *hadrefp )
|
||||
{
|
||||
int rc, count, len, newdn;
|
||||
#ifdef LDAP_DNS
|
||||
@ -610,7 +588,7 @@ chase_referrals( LDAP *ld, LDAPRequest *lr, char **errstrp, int *hadrefp )
|
||||
LDAPServer *srv;
|
||||
BerElement *ber;
|
||||
|
||||
Debug( LDAP_DEBUG_TRACE, "chase_referrals\n", 0, 0, 0 );
|
||||
Debug( LDAP_DEBUG_TRACE, "ldap_chase_referrals\n", 0, 0, 0 );
|
||||
|
||||
ld->ld_errno = LDAP_SUCCESS; /* optimistic */
|
||||
*hadrefp = 0;
|
||||
@ -681,7 +659,7 @@ chase_referrals( LDAP *ld, LDAPRequest *lr, char **errstrp, int *hadrefp )
|
||||
} else {
|
||||
Debug( LDAP_DEBUG_TRACE,
|
||||
"ignoring unknown referral <%s>\n", ref, 0, 0 );
|
||||
rc = append_referral( ld, &unfollowed, ref );
|
||||
rc = ldap_append_referral( ld, &unfollowed, ref );
|
||||
*hadrefp = 1;
|
||||
continue;
|
||||
}
|
||||
@ -709,7 +687,7 @@ chase_referrals( LDAP *ld, LDAPRequest *lr, char **errstrp, int *hadrefp )
|
||||
return( -1 );
|
||||
}
|
||||
|
||||
if (( srv->lsrv_host = strdup( tmpref )) == NULL ) {
|
||||
if (( srv->lsrv_host = ldap_strdup( tmpref )) == NULL ) {
|
||||
free( (char *)srv );
|
||||
ber_free( ber, 1 );
|
||||
ld->ld_errno = LDAP_NO_MEMORY;
|
||||
@ -728,14 +706,14 @@ chase_referrals( LDAP *ld, LDAPRequest *lr, char **errstrp, int *hadrefp )
|
||||
}
|
||||
#endif /* LDAP_DNS */
|
||||
|
||||
if ( srv != NULL && send_server_request( ld, ber, ld->ld_msgid,
|
||||
if ( srv != NULL && ldap_send_server_request( ld, ber, ld->ld_msgid,
|
||||
lr, srv, NULL, 1 ) >= 0 ) {
|
||||
++count;
|
||||
} else {
|
||||
Debug( LDAP_DEBUG_ANY,
|
||||
"Unable to chase referral (%s)\n",
|
||||
ldap_err2string( ld->ld_errno ), 0, 0 );
|
||||
rc = append_referral( ld, &unfollowed, ref );
|
||||
rc = ldap_append_referral( ld, &unfollowed, ref );
|
||||
}
|
||||
|
||||
if ( !newdn && refdn != NULL ) {
|
||||
@ -751,7 +729,7 @@ chase_referrals( LDAP *ld, LDAPRequest *lr, char **errstrp, int *hadrefp )
|
||||
|
||||
|
||||
int
|
||||
append_referral( LDAP *ld, char **referralsp, char *s )
|
||||
ldap_append_referral( LDAP *ld, char **referralsp, char *s )
|
||||
{
|
||||
int first;
|
||||
|
||||
@ -810,7 +788,7 @@ re_encode_request( LDAP *ld, BerElement *origber, int msgid, char **dnp )
|
||||
return( NULL );
|
||||
}
|
||||
|
||||
if (( ber = alloc_ber_with_options( ld )) == NULLBER ) {
|
||||
if (( ber = ldap_alloc_ber_with_options( ld )) == NULLBER ) {
|
||||
return( NULL );
|
||||
}
|
||||
|
||||
@ -866,7 +844,7 @@ re_encode_request( LDAP *ld, BerElement *origber, int msgid, char **dnp )
|
||||
|
||||
|
||||
LDAPRequest *
|
||||
find_request_by_msgid( LDAP *ld, int msgid )
|
||||
ldap_find_request_by_msgid( LDAP *ld, int msgid )
|
||||
{
|
||||
LDAPRequest *lr;
|
||||
|
||||
@ -895,7 +873,7 @@ dn2servers( LDAP *ld, char *dn ) /* dn can also be a domain.... */
|
||||
domain = dn;
|
||||
}
|
||||
|
||||
if (( dxs = getdxbyname( domain )) == NULL ) {
|
||||
if (( dxs = ldap_getdxbyname( domain )) == NULL ) {
|
||||
ld->ld_errno = LDAP_NO_MEMORY;
|
||||
return( NULL );
|
||||
}
|
||||
@ -943,9 +921,9 @@ dn2servers( LDAP *ld, char *dn ) /* dn can also be a domain.... */
|
||||
prevsrv = srv;
|
||||
|
||||
/* copy in info. */
|
||||
if (( srv->lsrv_host = strdup( host )) == NULL ||
|
||||
if (( srv->lsrv_host = ldap_strdup( host )) == NULL ||
|
||||
( server_dn != NULL && ( srv->lsrv_dn =
|
||||
strdup( server_dn )) == NULL )) {
|
||||
ldap_strdup( server_dn )) == NULL )) {
|
||||
free_servers( srvlist );
|
||||
srvlist = NULL;
|
||||
break; /* exit loop & return */
|
||||
|
@ -5,48 +5,31 @@
|
||||
* search.c
|
||||
*/
|
||||
|
||||
#include "portable.h"
|
||||
|
||||
#ifndef lint
|
||||
static char copyright[] = "@(#) Copyright (c) 1990 Regents of the University of Michigan.\nAll rights reserved.\n";
|
||||
#endif
|
||||
|
||||
#include <stdio.h>
|
||||
#include <string.h>
|
||||
#include <ctype.h>
|
||||
|
||||
#ifdef MACOS
|
||||
#include <stdlib.h>
|
||||
#include "macos.h"
|
||||
#endif /* MACOS */
|
||||
|
||||
#if defined( DOS ) || defined( _WIN32 )
|
||||
#include "msdos.h"
|
||||
#endif /* DOS */
|
||||
#include <ac/ctype.h>
|
||||
#include <ac/socket.h>
|
||||
#include <ac/string.h>
|
||||
#include <ac/time.h>
|
||||
|
||||
#if !defined(MACOS) && !defined(DOS) && !defined( _WIN32 )
|
||||
#include <sys/time.h>
|
||||
#include <sys/types.h>
|
||||
#include <sys/socket.h>
|
||||
#endif
|
||||
#include "lber.h"
|
||||
#include "ldap.h"
|
||||
#include "ldap-int.h"
|
||||
|
||||
#ifdef NEEDPROTOS
|
||||
static char *find_right_paren( char *s );
|
||||
static char *put_complex_filter( BerElement *ber, char *str,
|
||||
unsigned long tag, int not );
|
||||
static int put_filter( BerElement *ber, char *str );
|
||||
static int put_simple_filter( BerElement *ber, char *str );
|
||||
static int put_substring_filter( BerElement *ber, char *type, char *str );
|
||||
static int put_filter_list( BerElement *ber, char *str );
|
||||
#else
|
||||
static char *find_right_paren();
|
||||
static char *put_complex_filter();
|
||||
static int put_filter();
|
||||
static int put_simple_filter();
|
||||
static int put_substring_filter();
|
||||
static int put_filter_list();
|
||||
#endif /* NEEDPROTOS */
|
||||
static char *find_right_paren LDAP_P(( char *s ));
|
||||
static char *put_complex_filter LDAP_P(( BerElement *ber, char *str,
|
||||
unsigned long tag, int not ));
|
||||
static int put_filter LDAP_P(( BerElement *ber, char *str ));
|
||||
static int put_simple_filter LDAP_P(( BerElement *ber, char *str ));
|
||||
static int put_substring_filter LDAP_P(( BerElement *ber, char *type, char *str ));
|
||||
static int put_filter_list LDAP_P(( BerElement *ber, char *str ));
|
||||
|
||||
/*
|
||||
* ldap_search - initiate an ldap (and X.500) search operation. Parameters:
|
||||
@ -78,19 +61,19 @@ ldap_search( LDAP *ld, char *base, int scope, char *filter,
|
||||
return( -1 );
|
||||
}
|
||||
|
||||
#ifndef NO_CACHE
|
||||
#ifndef LDAP_NOCACHE
|
||||
if ( ld->ld_cache != NULL ) {
|
||||
if ( check_cache( ld, LDAP_REQ_SEARCH, ber ) == 0 ) {
|
||||
if ( ldap_check_cache( ld, LDAP_REQ_SEARCH, ber ) == 0 ) {
|
||||
ber_free( ber, 1 );
|
||||
ld->ld_errno = LDAP_SUCCESS;
|
||||
return( ld->ld_msgid );
|
||||
}
|
||||
add_request_to_cache( ld, LDAP_REQ_SEARCH, ber );
|
||||
ldap_add_request_to_cache( ld, LDAP_REQ_SEARCH, ber );
|
||||
}
|
||||
#endif /* NO_CACHE */
|
||||
#endif /* LDAP_NOCACHE */
|
||||
|
||||
/* send the message */
|
||||
return ( send_initial_request( ld, LDAP_REQ_SEARCH, base, ber ));
|
||||
return ( ldap_send_initial_request( ld, LDAP_REQ_SEARCH, base, ber ));
|
||||
}
|
||||
|
||||
|
||||
@ -126,7 +109,7 @@ ldap_build_search_req( LDAP *ld, char *base, int scope, char *filter,
|
||||
*/
|
||||
|
||||
/* create a message to send */
|
||||
if ( (ber = alloc_ber_with_options( ld )) == NULLBER ) {
|
||||
if ( (ber = ldap_alloc_ber_with_options( ld )) == NULLBER ) {
|
||||
return( NULLBER );
|
||||
}
|
||||
|
||||
@ -134,19 +117,19 @@ ldap_build_search_req( LDAP *ld, char *base, int scope, char *filter,
|
||||
base = "";
|
||||
}
|
||||
|
||||
#ifdef CLDAP
|
||||
#ifdef LDAP_CONNECTIONLESS
|
||||
if ( ld->ld_sb.sb_naddr > 0 ) {
|
||||
err = ber_printf( ber, "{ist{seeiib", ++ld->ld_msgid,
|
||||
ld->ld_cldapdn, LDAP_REQ_SEARCH, base, scope, ld->ld_deref,
|
||||
ld->ld_sizelimit, ld->ld_timelimit, attrsonly );
|
||||
} else {
|
||||
#endif /* CLDAP */
|
||||
#endif /* LDAP_CONNECTIONLESS */
|
||||
err = ber_printf( ber, "{it{seeiib", ++ld->ld_msgid,
|
||||
LDAP_REQ_SEARCH, base, scope, ld->ld_deref,
|
||||
ld->ld_sizelimit, ld->ld_timelimit, attrsonly );
|
||||
#ifdef CLDAP
|
||||
#ifdef LDAP_CONNECTIONLESS
|
||||
}
|
||||
#endif /* CLDAP */
|
||||
#endif /* LDAP_CONNECTIONLESS */
|
||||
|
||||
if ( err == -1 ) {
|
||||
ld->ld_errno = LDAP_ENCODING_ERROR;
|
||||
@ -154,7 +137,7 @@ ldap_build_search_req( LDAP *ld, char *base, int scope, char *filter,
|
||||
return( NULLBER );
|
||||
}
|
||||
|
||||
filter = strdup( filter );
|
||||
filter = ldap_strdup( filter );
|
||||
err = put_filter( ber, filter );
|
||||
free( filter );
|
||||
|
||||
@ -336,7 +319,7 @@ put_filter( BerElement *ber, char *str )
|
||||
return( -1 );
|
||||
|
||||
*next = '\0';
|
||||
tmp = strdup( str );
|
||||
tmp = ldap_strdup( str );
|
||||
if ( gotescape ) {
|
||||
escape = 0;
|
||||
for ( s = d = tmp; *s; s++ ) {
|
||||
@ -378,7 +361,7 @@ put_filter( BerElement *ber, char *str )
|
||||
Debug( LDAP_DEBUG_TRACE, "put_filter: default\n", 0, 0,
|
||||
0 );
|
||||
next = strchr( str, '\0' );
|
||||
tmp = strdup( str );
|
||||
tmp = ldap_strdup( str );
|
||||
if ( strchr( tmp, '\\' ) != NULL ) {
|
||||
escape = 0;
|
||||
for ( s = d = tmp; *s; s++ ) {
|
||||
|
22
libraries/libldap/strdup.c
Normal file
22
libraries/libldap/strdup.c
Normal file
@ -0,0 +1,22 @@
|
||||
#include "portable.h"
|
||||
|
||||
#include <stdlib.h>
|
||||
#include <ac/string.h>
|
||||
#include <ac/time.h>
|
||||
|
||||
#include "lber.h"
|
||||
#include "ldap.h"
|
||||
#include "ldap-int.h"
|
||||
|
||||
char *
|
||||
(ldap_strdup)( const char *s )
|
||||
{
|
||||
char *p;
|
||||
|
||||
if ( (p = (char *) malloc( strlen( s ) + 1 )) == NULL )
|
||||
return( (char *)0 );
|
||||
|
||||
strcpy( p, s );
|
||||
|
||||
return( p );
|
||||
}
|
@ -81,7 +81,7 @@ get_list( char *prompt )
|
||||
result = (char **) realloc( result,
|
||||
sizeof(char *) * (num + 1) );
|
||||
|
||||
result[num++] = (char *) strdup( buf );
|
||||
result[num++] = (char *) ldap_strdup( buf );
|
||||
}
|
||||
if ( result == (char **) 0 )
|
||||
return( NULL );
|
||||
@ -175,7 +175,7 @@ get_modlist( char *prompt1, char *prompt2, char *prompt3 )
|
||||
getline( buf, sizeof(buf), stdin, prompt2 );
|
||||
if ( buf[0] == '\0' )
|
||||
break;
|
||||
tmp.mod_type = strdup( buf );
|
||||
tmp.mod_type = ldap_strdup( buf );
|
||||
|
||||
tmp.mod_values = get_list( prompt3 );
|
||||
|
||||
@ -319,12 +319,12 @@ main( int argc, char **argv )
|
||||
break;
|
||||
|
||||
case 't': /* copy ber's to given file */
|
||||
copyfname = strdup( optarg );
|
||||
copyfname = ldap_strdup( optarg );
|
||||
copyoptions = LBER_TO_FILE;
|
||||
break;
|
||||
|
||||
case 'T': /* only output ber's to given file */
|
||||
copyfname = strdup( optarg );
|
||||
copyfname = ldap_strdup( optarg );
|
||||
copyoptions = (LBER_TO_FILE | LBER_TO_FILE_ONLY);
|
||||
break;
|
||||
|
||||
|
@ -21,6 +21,7 @@ static char copyright[] = "@(#) Copyright (c) 1993 Regents of the University of
|
||||
|
||||
#include "lber.h"
|
||||
#include "ldap.h"
|
||||
#include "ldap-int.h"
|
||||
|
||||
#include "ldapconfig.h"
|
||||
|
||||
@ -130,7 +131,7 @@ ldap_ufn_search_ctx( LDAP *ld, char **ufncomp, int ncomp, char *prefix,
|
||||
* 2 )) == NULL ) {
|
||||
return( ld->ld_errno = LDAP_NO_MEMORY );
|
||||
}
|
||||
dns[0] = strdup( prefix );
|
||||
dns[0] = ldap_strdup( prefix );
|
||||
dns[1] = NULL;
|
||||
} else {
|
||||
dns = NULL;
|
||||
@ -474,7 +475,7 @@ ldap_ufn_setprefix( LDAP *ld, char *prefix )
|
||||
if ( ld->ld_ufnprefix != NULL )
|
||||
free( ld->ld_ufnprefix );
|
||||
|
||||
ld->ld_ufnprefix = strdup( prefix );
|
||||
ld->ld_ufnprefix = ldap_strdup( prefix );
|
||||
}
|
||||
|
||||
int
|
||||
|
@ -115,7 +115,7 @@ ldap_url_parse( char *url, LDAPURLDesc **ludpp )
|
||||
}
|
||||
|
||||
/* make working copy of the remainder of the URL */
|
||||
if (( url = strdup( url )) == NULL ) {
|
||||
if (( url = ldap_strdup( url )) == NULL ) {
|
||||
ldap_free_urldesc( ludp );
|
||||
return( LDAP_URL_ERR_MEM );
|
||||
}
|
||||
@ -265,7 +265,7 @@ ldap_url_search( LDAP *ld, char *url, int attrsonly )
|
||||
if ( ludp->lud_host != NULL || ludp->lud_port != 0 ) {
|
||||
#ifdef LDAP_REFERRALS
|
||||
if (( srv = (LDAPServer *)calloc( 1, sizeof( LDAPServer )))
|
||||
== NULL || ( srv->lsrv_host = strdup( ludp->lud_host ==
|
||||
== NULL || ( srv->lsrv_host = ldap_strdup( ludp->lud_host ==
|
||||
NULL ? ld->ld_defhost : ludp->lud_host )) == NULL ) {
|
||||
if ( srv != NULL ) {
|
||||
free( srv );
|
||||
|
@ -3,6 +3,7 @@
|
||||
##
|
||||
PROGRAMS=ldapd
|
||||
XPROGRAMS=sldapd
|
||||
|
||||
SRCS = main.c request.c bind.c result.c error.c \
|
||||
search.c util.c compare.c message.c add.c delete.c modrdn.c modify.c \
|
||||
abandon.c syntax.c association.c kerberos.c certificate.c
|
||||
@ -19,13 +20,11 @@ BUILD_SRV = @BUILD_LDAPD@
|
||||
|
||||
XLIBS= @LDAPD_LIBS@ -llutil @LUTIL_LIBS@
|
||||
|
||||
all-local: $(PROGRAMS)
|
||||
|
||||
ldapd: version.o
|
||||
$(CC) $(LDFLAGS) -o $@ $(OBJS) version.o $(LIBS)
|
||||
$(LDLINK) -o $@ $(OBJS) version.o $(LIBS)
|
||||
|
||||
sldapd: version.o
|
||||
$(CC) $(LDFLAGS) -static -o $@ $(OBJS) version.o $(LDFLAGS) $(LIBS) -lresolv
|
||||
$(LDLINK) -static -o $@ $(OBJS) version.o $(LDFLAGS) $(LIBS) -lresolv
|
||||
|
||||
version.c: $(OBJS) $(LDAP_LIBDIR)/liblber/liblber.a
|
||||
$(RM) $@
|
||||
@ -48,4 +47,4 @@ LDAP-types.h: LDAP_tables.c
|
||||
|
||||
install-local: FORCE
|
||||
@$(MKDIR) -p $(libexecdir)
|
||||
$(INSTALL) $(INSTALLFLAGS) -m 755 ldapd $(LDAP_LIBEXECDIR)
|
||||
$(LTINSTALL) $(INSTALLFLAGS) -m 755 ldapd $(LDAP_LIBEXECDIR)
|
||||
|
@ -2,7 +2,8 @@
|
||||
## Makefile.in for slapd
|
||||
##
|
||||
PROGRAMS=slapd
|
||||
XPROGRAMS=libbackends.a .backend
|
||||
XPROGRAMS=sslapd libbackends.a .backend
|
||||
XSRCS=version.c
|
||||
SRCS = main.c daemon.c connection.c search.c filter.c add.c charray.c \
|
||||
attr.c entry.c config.c backend.c result.c operation.c \
|
||||
dn.c compare.c modify.c delete.c modrdn.c ch_malloc.c \
|
||||
@ -33,7 +34,10 @@ XLIBS = @SLAPD_LIBS@ libbackends.a \
|
||||
-lavl -lldbm @LDBM_LIBS@ -llthread @LTHREAD_LIBS@ -llutil @LUTIL_LIBS@
|
||||
|
||||
slapd: version.o
|
||||
$(CC) $(LDFLGS) -o $@ $(OBJS) version.o $(LIBS)
|
||||
$(LTLINK) -o $@ $(OBJS) version.o $(LIBS)
|
||||
|
||||
sslapd: version.o
|
||||
$(LTLINK) -static -o $@ $(OBJS) version.o $(LIBS)
|
||||
|
||||
backendslib: FORCE
|
||||
@for i in back-*; do \
|
||||
@ -81,19 +85,35 @@ version.c: libbackends.a $(OBJS) $(LDAP_LIBDEPEND) \
|
||||
-e "s|%VERSION%|$${v}|" \
|
||||
< $(srcdir)/Version.c > $@)
|
||||
|
||||
depend-local: FORCE
|
||||
@for i in back-* shell-backends tools; do \
|
||||
if [ -d $$i ]; then \
|
||||
echo; echo " cd $$i; $(MAKE) $(MFLAGS) depend"; \
|
||||
( cd $$i; $(MAKE) $(MFLAGS) depend ); \
|
||||
fi; \
|
||||
done
|
||||
|
||||
clean-local: FORCE
|
||||
@for i in back-* tools; do \
|
||||
@for i in back-* shell-backends tools; do \
|
||||
if [ -d $$i ]; then \
|
||||
echo; echo " cd $$i; $(MAKE) $(MFLAGS) clean"; \
|
||||
( cd $$i; $(MAKE) $(MFLAGS) clean ); \
|
||||
fi; \
|
||||
done
|
||||
|
||||
veryclean-local: FORCE
|
||||
@for i in back-* shell-backends tools; do \
|
||||
if [ -d $$i ]; then \
|
||||
echo; echo " cd $$i; $(MAKE) $(MFLAGS) veryclean"; \
|
||||
( cd $$i; $(MAKE) $(MFLAGS) veryclean ); \
|
||||
fi; \
|
||||
done
|
||||
|
||||
install-local: install-slapd install-conf install-tools
|
||||
|
||||
install-slapd: FORCE
|
||||
@-$(MKDIR) $(libexecdir)
|
||||
$(INSTALL) $(INSTALLFLAGS) -m 755 slapd $(libexecdir)
|
||||
$(LTINSTALL) $(INSTALLFLAGS) -m 755 slapd $(libexecdir)
|
||||
|
||||
install-conf: FORCE
|
||||
@-$(MKDIR) -p $(sysconfdir)
|
||||
|
36
servers/slapd/back-ldbm/Makefile.in
Normal file
36
servers/slapd/back-ldbm/Makefile.in
Normal file
@ -0,0 +1,36 @@
|
||||
XSRCS = version.c
|
||||
SRCS = idl.c add.c search.c cache.c dbcache.c dn2id.c id2entry.c \
|
||||
index.c id2children.c nextid.c abandon.c compare.c group.c \
|
||||
modify.c modrdn.c delete.c init.c config.c bind.c attr.c \
|
||||
filterindex.c unbind.c kerberos.c close.c alias.c
|
||||
OBJS = idl.o add.o search.o cache.o dbcache.o dn2id.o id2entry.o \
|
||||
index.o id2children.o nextid.o abandon.o compare.o group.o \
|
||||
modify.o modrdn.o delete.o init.o config.o bind.o attr.o \
|
||||
filterindex.o unbind.o kerberos.o close.o alias.o
|
||||
|
||||
LDAP_INCDIR= ../../../include
|
||||
LDAP_LIBDIR= ../../../libraries
|
||||
|
||||
BUILD_OPT = "--enable-ldbm"
|
||||
BUILD_SRV = @BUILD_LDBM@
|
||||
|
||||
XINCPATH = -I.. -I$(srcdir)/..
|
||||
|
||||
PROGRAMS = libback-ldbm.a
|
||||
|
||||
all-local: FORCE
|
||||
$(MAKE) $(MFLAGS) libback-ldbm.a
|
||||
|
||||
libback-ldbm.a: version.o
|
||||
$(AR) ruv $@ $(OBJS) version.o
|
||||
@$(RANLIB) $@
|
||||
@touch ../.backend
|
||||
|
||||
version.c: $(OBJS) $(LDAP_LIBDEPEND)
|
||||
$(RM) $@
|
||||
(u=$${USER-root} v=`$(CAT) $(VERSIONFILE)` d=`$(PWD)` \
|
||||
h=`$(HOSTNAME)` t=`$(DATE)`; \
|
||||
$(SED) -e "s|%WHEN%|$${t}|" \
|
||||
-e "s|%WHOANDWHERE%|$${u}@$${h}:$${d}|" \
|
||||
-e "s|%VERSION%|$${v}|" \
|
||||
< $(srcdir)/Version.c > $@)
|
30
servers/slapd/back-passwd/Makefile.in
Normal file
30
servers/slapd/back-passwd/Makefile.in
Normal file
@ -0,0 +1,30 @@
|
||||
XSRCS = version.c
|
||||
SRCS = search.c config.c
|
||||
OBJS = search.o config.o
|
||||
|
||||
LDAP_INCDIR= ../../../include
|
||||
LDAP_LIBDIR= ../../../libraries
|
||||
|
||||
BUILD_OPT = "--enable-passwd"
|
||||
BUILD_SRV = @BUILD_PASSWD@
|
||||
|
||||
PROGRAMS= libback-passwd.a
|
||||
|
||||
XINCPATH = -I.. -I$(srcdir)/..
|
||||
|
||||
all-local: FORCE
|
||||
$(MAKE) $(MFLAGS) libback-passwd.a
|
||||
|
||||
libback-passwd.a: version.o
|
||||
$(AR) ruv $@ $(OBJS) version.o
|
||||
@$(RANLIB) $@
|
||||
@touch ../.backend
|
||||
|
||||
version.c: $(OBJS) $(LDAP_LIBDEPEND)
|
||||
$(RM) $@
|
||||
(u=$${USER-root} v=`$(CAT) $(VERSIONFILE)` d=`$(PWD)` h=`$(HOSTNAME)` \
|
||||
t=`$(DATE)`; $(SED) -e "s|%WHEN%|$${t}|" \
|
||||
-e "s|%WHOANDWHERE%|$${u}@$${h}:$${d}|" \
|
||||
-e "s|%VERSION%|$${v}|" \
|
||||
< $(srcdir)/Version.c > $@)
|
||||
|
32
servers/slapd/back-shell/Makefile.in
Normal file
32
servers/slapd/back-shell/Makefile.in
Normal file
@ -0,0 +1,32 @@
|
||||
XSRCS = version.c
|
||||
SRCS = init.c config.c fork.c search.c bind.c unbind.c add.c delete.c \
|
||||
modify.c modrdn.c compare.c abandon.c result.c
|
||||
OBJS = init.o config.o fork.o search.o bind.o unbind.o add.o delete.o \
|
||||
modify.o modrdn.o compare.o abandon.o result.o
|
||||
|
||||
LDAP_INCDIR= ../../../include
|
||||
LDAP_LIBDIR= ../../../libraries
|
||||
|
||||
BUILD_OPT = "--enable-shell"
|
||||
BUILD_SRV = @BUILD_SHELL@
|
||||
|
||||
PROGRAMS = libback-shell.a
|
||||
|
||||
XINCPATH = -I.. -I$(srcdir)/..
|
||||
|
||||
all-local: FORCE
|
||||
$(MAKE) $(MFLAGS) libback-shell.a
|
||||
|
||||
libback-shell.a: version.o
|
||||
$(AR) ruv $@ $(OBJS) version.o
|
||||
@$(RANLIB) $@
|
||||
@touch ../.backend
|
||||
|
||||
version.c: $(OBJS) $(LDAP_LIBDEPEND)
|
||||
$(RM) $@
|
||||
(u=$${USER-root} v=`$(CAT) $(VERSIONFILE)` d=`$(PWD)` h=`$(HOSTNAME)` \
|
||||
t=`$(DATE)`; $(SED) -e "s|%WHEN%|$${t}|" \
|
||||
-e "s|%WHOANDWHERE%|$${u}@$${h}:$${d}|" \
|
||||
-e "s|%VERSION%|$${v}|" \
|
||||
< $(srcdir)/Version.c > $@)
|
||||
|
@ -189,7 +189,7 @@ slapd_daemon(
|
||||
|
||||
Debug( LDAP_DEBUG_CONNS, "before select active_threads %d\n",
|
||||
active_threads, 0, 0 );
|
||||
#ifdef PREEMPTIVE_THREADS
|
||||
#if defined( HAVE_YIELDING_SELECT ) || defined( NO_THREADS )
|
||||
tvp = NULL;
|
||||
#else
|
||||
tvp = active_threads ? &zero : NULL;
|
||||
|
152
servers/slapd/tools/Makefile.in
Normal file
152
servers/slapd/tools/Makefile.in
Normal file
@ -0,0 +1,152 @@
|
||||
#-----------------------------------------------------------------------------
|
||||
# Copyright (c) 1995 Regents of the University of Michigan.
|
||||
# All rights reserved.
|
||||
#
|
||||
# Redistribution and use in source and binary forms are permitted
|
||||
# provided that this notice is preserved and that due credit is given
|
||||
# to the University of Michigan at Ann Arbor. The name of the University
|
||||
# may not be used to endorse or promote products derived from this
|
||||
# software without specific prior written permission. This software
|
||||
# is provided ``as is'' without express or implied warranty.
|
||||
#
|
||||
# Stand alone LDAP server tools makefile
|
||||
#
|
||||
#-----------------------------------------------------------------------------
|
||||
HAVE_ISODE = @HAVE_ISODE@
|
||||
BUILD_LDBM = @BUILD_LDBM@
|
||||
|
||||
LDAP_INCDIR= ../../../include
|
||||
LDAP_LIBDIR= ../../../libraries
|
||||
|
||||
PROGRAMS=ldif2index ldif2ldbm ldbmcat ldif2id2entry \
|
||||
ldif2id2children centipede ldbmtest ldif
|
||||
|
||||
SRCS = centipede.c ldbmcat.c ldbmtest.c sizecount.c \
|
||||
ldif.c ldif2id2children.c ldif2id2entry.c ldif2index.c ldif2ldbm.c
|
||||
|
||||
XSRCS = edb2-vers.c
|
||||
|
||||
EDB2LDIFSRCS = edb2ldif.c ldapsyntax.c
|
||||
EDB2LDIFOBJS = edb2ldif.o ldapsyntax.o
|
||||
|
||||
OBJS2 = ../config.o ../ch_malloc.o ../backend.o ../charray.o \
|
||||
../aclparse.o ../schema.o ../result.o ../filterentry.o \
|
||||
../acl.o ../phonetic.o ../attr.o ../value.o ../entry.o \
|
||||
../dn.o ../filter.o ../str2filter.o ../ava.o ../init.o \
|
||||
../schemaparse.o
|
||||
|
||||
all-local: build-ldbm build-edb2ldif build-chlog2replog
|
||||
|
||||
build-ldbm: FORCE
|
||||
@if [ "$(BUILD_LDBM)" = "yes" ]; then \
|
||||
$(MAKE) $(MFLAGS) ldbm-tools; \
|
||||
else \
|
||||
echo "run configure with --with-ldbm to build LDBM tools"; \
|
||||
fi
|
||||
|
||||
ldbm-tools: $(PROGRAMS)
|
||||
|
||||
XLIBS = @SLAPD_LIBS@ -lavl -lldbm @LDBM_LIBS@ -llthread @LTHREAD_LIBS@ -llutil @LUTIL_LIBS@
|
||||
|
||||
build-edb2ldif: FORCE
|
||||
@if [ "$(HAVE_ISODE)" = "yes" ]; then \
|
||||
$(MAKE) $(MFLAGS) edb2ldif; \
|
||||
else \
|
||||
echo "run configure with --with-isode to build edb2ldif"; \
|
||||
fi
|
||||
|
||||
edb2ldif: edb2-vers.o
|
||||
$(CC) $(LDFLAGS) -o $@ $(EDB2LDIFOBJS) edb2-vers.o $(LIBS)
|
||||
|
||||
edb2-vers.c: $(EDB2LDIFOBJS)
|
||||
$(RM) $@
|
||||
(u=$${USER-root} v=`$(CAT) $(VERSIONFILE)` d=`$(PWD)` h=`$(HOSTNAME)` \
|
||||
t=`$(DATE)`; $(SED) -e "s|%WHEN%|$${t}|" \
|
||||
-e "s|%WHOANDWHERE%|$${u}@$${h}:$${d}|" \
|
||||
-e "s|%VERSION%|$${v}|" \
|
||||
< Vers-edb2.c > $@)
|
||||
|
||||
build-chlog2replog: FORCE
|
||||
@if [ "$(HAVE_ISODE)" = "yes" ]; then \
|
||||
$(MAKE) $(MFLAGS) chlog2replog; \
|
||||
else \
|
||||
echo "run configure with --with-isode to build chlog2replog"; \
|
||||
fi
|
||||
|
||||
chlog2replog: chlog2replog.o ../lock.o ../ch_malloc.o
|
||||
$(LTLINK) -o $@ chlog2replog.o ../lock.o ../ch_malloc.o $(LIBS)
|
||||
|
||||
ldif2index: ldif2index.o ../libbackends.a $(OBJS2)
|
||||
$(LTLINK) -o $@ ldif2index.o $(OBJS2) ../libbackends.a $(LIBS)
|
||||
|
||||
ldif2ldbm: ldif2ldbm.o ../libbackends.a $(OBJS2)
|
||||
$(LTLINK) -o $@ ldif2ldbm.o $(OBJS2) ../libbackends.a $(LIBS)
|
||||
|
||||
ldif2id2entry: ldif2id2entry.o ../libbackends.a $(OBJS2)
|
||||
$(LTLINK) -o $@ ldif2id2entry.o $(OBJS2) ../libbackends.a $(LIBS)
|
||||
|
||||
ldif2id2children: ldif2id2children.o ../libbackends.a $(OBJS2)
|
||||
$(LTLINK) -o $@ ldif2id2children.o $(OBJS2) ../libbackends.a $(LIBS)
|
||||
|
||||
ldbmcat: ldbmcat.o
|
||||
$(LTLINK) -o $@ ldbmcat.o $(LIBS)
|
||||
|
||||
ldif: ldif.o
|
||||
$(LTLINK) -o $@ ldif.o $(LIBS) $(LIBS2)
|
||||
|
||||
centipede: centipede.o
|
||||
$(LTLINK) -o $@ centipede.o $(LIBS) $(KRBLIBFLAG) $(KRBLIBS)
|
||||
|
||||
sizecount: sizecount.o ../phonetic.o ../ch_malloc.o
|
||||
$(LTLINK) -o $@ sizecount.o ../phonetic.o ../ch_malloc.o \
|
||||
$(LIBS) $(KRBLIBFLAG) $(KRBLIBS)
|
||||
|
||||
ldbmtest: ldbmtest.o ../libbackends.a $(OBJS2)
|
||||
$(LTLINK) -o ldbmtest ldbmtest.o $(OBJS2) ../libbackends.a $(LIBS)
|
||||
|
||||
clean-local: FORCE
|
||||
$(RM) $(PROGRAMS) $(XPROGRAMS) $(XSRCS) edb2-vers.c \
|
||||
*.o core .libs/*
|
||||
|
||||
depend-local: FORCE
|
||||
@DEPEND=no ; DEPEND_LDBM= ; DEPEND_ISODE= ; \
|
||||
if [ "$(BUILD_LDBM)" = "yes" ]; then \
|
||||
DEPEND_LDBM="$(SRCS)"; \
|
||||
DEPEND=yes ; \
|
||||
fi; \
|
||||
if [ "$(HAVE_ISODE)" = "yes" ]; then \
|
||||
DEPEND_ISODE="$(ISODEINCLUDEFLAG) chlog2replog.c $(EDB2LDIFSRCS)"; \
|
||||
DEPEND=yes ; \
|
||||
fi; \
|
||||
if [ "$$DEPEND" = "yes" ]; then \
|
||||
$(MKDEP) $(DEFS) $(DEFINES) $$DEPEND_ISODE $$DEPEND_LDBM; \
|
||||
else \
|
||||
exit 0; \
|
||||
fi
|
||||
|
||||
install-local: install-ldbm install-isode FORCE
|
||||
|
||||
install-ldbm: FORCE
|
||||
@-$(MKDIR) -p $(sbindir)
|
||||
@if [ "$(BUILD_LDBM)" = "yes" ]; then \
|
||||
$(LTINSTALL) $(INSTALLFLAGS) -m 755 ldif2ldbm $(sbindir) ; \
|
||||
$(LTINSTALL) $(INSTALLFLAGS) -m 755 ldif2index $(sbindir) ; \
|
||||
$(LTINSTALL) $(INSTALLFLAGS) -m 755 ldif2id2entry $(sbindir) ; \
|
||||
$(LTINSTALL) $(INSTALLFLAGS) -m 755 ldif2id2children $(sbindir) ; \
|
||||
$(LTINSTALL) $(INSTALLFLAGS) -m 755 ldbmcat $(sbindir) ; \
|
||||
$(LTINSTALL) $(INSTALLFLAGS) -m 755 ldif $(sbindir) ; \
|
||||
$(LTINSTALL) $(INSTALLFLAGS) -m 755 centipede $(sbindir) ; \
|
||||
$(LTINSTALL) $(INSTALLFLAGS) -m 755 ldbmtest $(sbindir) ; \
|
||||
else \
|
||||
exit 0 ; \
|
||||
fi
|
||||
|
||||
install-isode: FORCE
|
||||
@-$(MKDIR) -p $(sbindir)
|
||||
@if [ "$(HAVE_ISODE)" = "yes" ]; then \
|
||||
$(LTINSTALL) $(INSTALLFLAGS) -m 755 edb2ldif $(sbindir); \
|
||||
$(LTINSTALL) $(INSTALLFLAGS) -m 755 chlog2replog $(sbindir); \
|
||||
else \
|
||||
exit 0 ; \
|
||||
fi
|
||||
|
@ -3,6 +3,10 @@
|
||||
##
|
||||
|
||||
PROGRAMS = slurpd
|
||||
XPROGRAMS = sslurpd
|
||||
|
||||
XSRCS = version.c
|
||||
|
||||
SRCS = admin.c args.c ch_malloc.c config.c \
|
||||
fm.c globals.c ldap_op.c lock.c main.c re.c \
|
||||
reject.c replica.c replog.c ri.c rq.c sanity.c st.c \
|
||||
@ -23,7 +27,10 @@ all-local: slurpd
|
||||
XLIBS = @SLURPD_LIBS@ -llthread @LTHREAD_LIBS@ -llutil @LUTIL_LIBS@
|
||||
|
||||
slurpd: version.o
|
||||
$(CC) $(LDFLAGS) -o $@ $(OBJS) version.o $(LIBS)
|
||||
$(LTLINK) -o $@ $(OBJS) version.o $(LIBS)
|
||||
|
||||
sslurpd: version.o
|
||||
$(LTLINK) -static -o $@ $(OBJS) version.o $(LIBS)
|
||||
|
||||
version.c: $(OBJS) $(LDAP_LIBDEPEND)
|
||||
$(RM) $@
|
||||
@ -35,4 +42,4 @@ version.c: $(OBJS) $(LDAP_LIBDEPEND)
|
||||
|
||||
install-local: FORCE
|
||||
@-$(MKDIR) -p $(libexecdir)
|
||||
$(INSTALL) $(INSTALLFLAGS) -m 755 slurpd $(libexecdir)
|
||||
$(LTINSTALL) $(INSTALLFLAGS) -m 755 slurpd $(libexecdir)
|
||||
|
19
tests/Makefile.in
Normal file
19
tests/Makefile.in
Normal file
@ -0,0 +1,19 @@
|
||||
## Copyright 1998 The OpenLDAP Foundation, All Rights Reserved.
|
||||
## COPYING RESTRICTIONS APPLY, see COPYRIGHT file
|
||||
##
|
||||
## tests Makefile.in for OpenLDAP
|
||||
|
||||
|
||||
SCRIPTSDIR=./scripts
|
||||
|
||||
all-local: FORCE
|
||||
@echo "Initiating LDAP tests..."; \
|
||||
$(MKDIR) -p test-db test-repl ; \
|
||||
$(SCRIPTSDIR)/all $(SCRIPTSDIR)
|
||||
|
||||
clean-local: FORCE
|
||||
$(RM) test-db/[!C]* test-repl/[!C]* *core
|
||||
|
||||
veryclean-local: FORCE
|
||||
$(RM) -r test-db test-repl
|
||||
|
Loading…
Reference in New Issue
Block a user