On Fri, 22 Sep 2000, Tamas SZERB wrote:
Please, try http://zipper.paco.net/~igor/oops/oops-1.4.18.tar.gz or
attached configure.in if it will find correct libdb - then I'll put this
version on site for public download.
> On Fri, 22 Sep 2000, Igor Khasilev wrote:
>
> > thank you! Does it mean that I have check libdb2 first?
> > Tamas, is it correct?
>
> Yes, exactly.
>
> --
> VWOL
> Tamas SZERB <[EMAIL PROTECTED]>
> GPG public key: http://alabama.inf.elte.hu/~toma/gpgkey.asc
> PGP public key: http://alabama.inf.elte.hu/~toma/pgpkey.asc
>
> =====================================================================
> If you would like to unsubscribe from this list send message to
> [EMAIL PROTECTED] with "unsubscribe oops-eng" in message body.
> Archive is accessible on http://www.paco.net/oops/
>
Igor Khasilev |
PACO Links, [EMAIL PROTECTED] |
AC_INIT(src/oops.c)
AC_CANONICAL_SYSTEM
AC_PROG_CC
AC_PROG_INSTALL
AC_PROG_LEX
AC_PROG_YACC
sed_script='s/,/.so /g'
AC_ARG_ENABLE(opt-modules,--enable-opt-modules Additional modules (comma
separated),\
OPT_MODS=`echo $enable_opt_modules | sed "$sed_script"`.so)
AC_ARG_ENABLE(large-files,--enable-large-files Enable large files support,\
large_files="yes")
AC_ARG_ENABLE(static-modules,--enable-static-modules Link modules statically,\
static_modules="yes")
AC_ARG_ENABLE(db-locks,--enable-db-locks Enable internal DB locks,\
AC_DEFINE(USE_INTERNAL_DB_LOCKS))
AC_ARG_ENABLE(oops-user,--enable-oops-user Username under which uid Oops will
run,
OOPS_USER="$enableval")
AC_ARG_WITH(DB,--with-DB=[[DIR]] BerkeleyDB home directory,\
LIBDB_PATH=$withval,LIBDB_PATH="")
AC_ARG_WITH(regexp,--with-regexp=(builtin|pcre|system) Which regex to use,
regexp_val="$withval", regexp_val="builtin")
AC_ARG_WITH(malloc,--with-malloc Which malloc library/object file to use,
with_malloc="$withval", with_malloc="")
AC_CHECK_HEADERS(crypt.h getopt.h pthread.h string.h strings.h unistd.h )
AC_CHECK_HEADER(netinet/ip_fil.h, AC_DEFINE(HAVE_IPF))
AC_CHECK_HEADER(netinet/ip6.h, AC_DEFINE(HAVE_IP6_H))
pwd=`pwd`
LIBDB_NAME=-ldb
AC_MSG_CHECKING(for libdb.a)
if test "X$LIBDB_PATH" != "X" ; then
LIBDB_PATH=$LIBDB_PATH
elif test -r "/usr/local/BerkeleyDB/lib/libdb.a"; then
LIBDB_PATH="/usr/local/BerkeleyDB"
elif test -r "/usr/local/BerkeleyDB.3.1/lib/libdb.a"; then
LIBDB_PATH="/usr/local/BerkeleyDB.3.1"
elif test -r "/usr/local/BerkeleyDB.3.0/lib/libdb.lib"; then
LIBDB_PATH="/usr/local/BerkeleyDB.3.0"
elif test -r "$pwd/libdb.a"; then
LIBDB_PATH="$pwd"
elif test -r "/usr/local/lib/libdb.a"; then
LIBDB_PATH="/usr/local"
elif test -r "/usr/lib/libdb2.a"; then
LIBDB_PATH="/usr"
LIBDB_NAME=-ldb2
elif test -r "/usr/lib/libdb.a"; then
LIBDB_PATH="/usr"
elif test -r "/usr/local/lib/libdb2.a"; then
LIBDB_PATH="/usr/local"
LIBDB_NAME=-ldb2
elif test -r "/usr/local/BerkeleyDB/lib/libdb.lib"; then
LIBDB_PATH="/usr/local/BerkeleyDB"
LIBDB_NAME=-llibdb
elif test -r "$pwd/libdb.lib"; then
LIBDB_PATH="$pwd"
LIBDB_NAME=-llibdb
elif test -r "/usr/local/lib/libdb.lib"; then
LIBDB_PATH="/usr/local"
LIBDB_NAME=-llibdb
elif test -r "/usr/lib/libdb.lib"; then
LIBDB_PATH="/usr"
LIBDB_NAME=-llibdb
elif test -r "/usr/local/lib/libdb2.lib"; then
LIBDB_PATH="/usr/local"
LIBDB_NAME=-llibdb2
else
LIBDB_PATH="no"
fi
AC_MSG_RESULT($LIBDB_PATH)
if test "X$LIBDB_PATH" = "Xno" ; then
LIBDB_PATH=""
LIBDB_NAME=""
else
AC_DEFINE(HAVE_BERKELEYDB)
fi
if test "$LIBDB_PATH" = "/usr/local"; then
if test "$LIBDB_NAME" = "-ldb2"; then
CFLAGS="$CFLAGS -I/usr/local/include/db2"
else
CFLAGS="$CFLAGS -I/usr/local/include"
fi
else
if test "X$LIBDB_PATH" != "X" ; then
CFLAGS="$CFLAGS -I$LIBDB_PATH/include"
fi
fi
if test "X$LIBDB_PATH" != "X" ; then
LIBDB_PATH="-L$LIBDB_PATH/lib"
fi
AC_MSG_CHECKING(for GigaBASE)
if test -r "/usr/local/lib/libgigabase_r.a"; then
LIBGB_NAME="-lgigabase_r"
case "$host_os" in
solaris*)
LIBGB_PATH="-L/usr/local/lib -R/usr/local/lib"
;;
osf*)
LIBGB_PATH="-L/usr/local/lib -rpath /usr/local/lib"
;;
*)
cat>conftest.c << EOF
#include <stdlib.h>
main()
{
}
EOF
rm -f conftest
($CC -Xlinker -rpath -Xlinker /usr/local/lib conftest.c -o conftest)
2>>config.log
if test -x conftest ; then
LIBGB_PATH="-L/usr/local/lib -Xlinker -rpath -Xlinker /usr/local/lib"
else
LIBGB_PATH="-L/usr/local/lib -Xlinker -R -Xlinker /usr/local/lib"
fi
;;
esac
if test "X$LIBGB_PATH" = "X$LIBDB_PATH" ; then
LIBGB_PATH=""
LIBGB_NAME=""
fi
AC_DEFINE(HAVE_GIGABASE)
AC_MSG_RESULT($LIBGB_NAME)
else
AC_MSG_RESULT(no)
fi
AC_CHECK_LIB(pthread, pthread_create, pthread_in=pthread,pthread_in=no)
if test "$pthread_in" = no; then
AC_CHECK_LIB(pthreads, pthread_create, pthread_in=pthreads,pthread_in=no)
fi
if test "$static_modules" != "yes" ; then
AC_CHECK_LIB(dl, dlopen, dlopen_in=dl,dlopen_in=no)
if test "$dlopen_in" = no; then
AC_CHECK_LIB(c, dlopen, dlopen_in=c,dlopen_in=no)
fi
if test "$dlopen_in" = no; then
AC_CHECK_LIB(posix, dlopen, dlopen_in=posix,dlopen=no)
fi
fi
AC_CHECK_LIB(fl, yywrap, need_lfl="-lfl",need_lfl="")
AC_CHECK_LIB(crypt, crypt, LIBS="$LIBS -lcrypt")
##
## Check some typdefs
##
AC_MSG_CHECKING(for socklen_t)
AC_TRY_COMPILE([
#include <stdio.h>
#include <stdlib.h>
#include <signal.h>
#include <sys/types.h>
#include <sys/socket.h>
#include <netinet/in.h>
],[
socklen_t test;],[
AC_DEFINE(HAVE_SOCKLEN_T) AC_MSG_RESULT(yes)
],[AC_MSG_RESULT(no)])
AC_CHECK_DEF(stdio.h errno.h, sys_nerr sys_errlist, AC_DEFINE(HAVE_SYSERRLIST))
##
## Check some typdefs
##
AC_MSG_CHECKING(for uint32_t)
AC_TRY_COMPILE([
#include <stdio.h>
#include <stdlib.h>
#ifdef HAVE_UNISTD
#include <stdlib.h>
#endif
#ifdef _WIN32
#include <inttypes.h>
#else
#include <pthread.h>
#endif
#include <signal.h>
#include <sys/types.h>
#include <netinet/in.h>
],[
uint32_t test;],[
AC_DEFINE(HAVE_UINT32_T) AC_MSG_RESULT(yes)
],[AC_MSG_RESULT(no)])
##
## Check some typdefs
##
AC_MSG_CHECKING(for struct timespec)
AC_TRY_COMPILE([
#include <stdio.h>
#include <stdlib.h>
#ifdef HAVE_UNISTD
#include <stdlib.h>
#endif
#ifdef _WIN32
#include <inttypes.h>
#endif
#include <signal.h>
#include <sys/types.h>
#include <netinet/in.h>
],[
struct timespec test;],[
AC_DEFINE(HAVE_STRUCT_TIMESPEC) AC_MSG_RESULT(yes)
],[AC_MSG_RESULT(no)])
AC_MSG_CHECKING(for __tm_gmtoff__)
AC_TRY_COMPILE([
#include <stdio.h>
#include <stdlib.h>
#ifdef HAVE_UNISTD
#include <stdlib.h>
#endif
#include <time.h>
#ifndef
#include <pthread.h>
#include <sys/types.h>
#include <netinet/in.h>
],[
struct tm tm;
tm.__tm_gmtoff__ = tm.__tm_gmtoff__*2;
],[
AC_DEFINE(HAVE__GMTOFF__) AC_MSG_RESULT(yes)
],[AC_MSG_RESULT(no)])
LD=ld
##
##
##
if test "$static_modules" != "yes" ; then
if test "$dlopen_in" = "dl"; then
DLLIB="-ldl"
MODULES=1
elif test "$dlopen_in" = "c"; then
MODULES=1
elif test "$dlopen_in" = "posix"; then
MODULES=1
else
echo "Can't locate dlopen() - no modules."
MODULES=0
fi
fi
if test "$MODULES" = 1; then
AC_MSG_CHECKING(flags to link shared objects.)
SAVED_LDFLAGS=$LDFLAGS
MOD_EXT=so
cat>conftest.c << EOF
char *test="test";
EOF
cat>confmain.c << EOF
#include <stdio.h>
#include <dlfcn.h>
main()
{
void *h=dlopen("./conftest.so",RTLD_NOW);
void *r=NULL ;
char **s=NULL;
if (h) {
r = dlsym(h, "test");
if ( r ) s = r;
if ( s ) printf("%s", *s);
}
}
EOF
$CC confmain.c -o confmain $LIBS $DLLIB 2>>config.log
$CC conftest.c -c $CFLAGS -o conftest.o 2>> config.log
$LD conftest.o $LIBDB_PATH -shared -o conftest.so 2>> config.log
if test -f conftest.so ; then
res=`./confmain`
fi
if test "$res" = "test"; then
SOFLAGS="$LIBDB_PATH -shared"
fi
if test "$SOFLAGS" = ""; then
$LD conftest.o $LIBDB_PATH -G -o conftest.so 2>> config.log
if test -f conftest.so ; then
res=`./confmain`
fi
if test "$res" = "test"; then
SOFLAGS="$LIBDB_PATH -G"
fi
fi
if test "$SOFLAGS" = ""; then
$LD conftest.o -Bshareable -o conftest.so 2>> config.log
if test -f conftest.so ; then
res=`./confmain`
fi
if test "$res" = "test"; then
SOFLAGS="$LIBDB_PATH -Bshareable"
fi
fi
rm -f conftest.so
if test "$SOFLAGS" = ""; then
$LD conftest.o -fpic -shared -o conftest.so 2>> config.log
if test -f conftest.so ; then
res=`./confmain`
fi
if test "$res" = "test"; then
SOFLAGS="$LIBDB_PATH -fpic -shared"
fi
fi
rm -f conftest.so
if test "$SOFLAGS" = ""; then
$LD conftest.o -shared -o conftest.so 2>> config.log
if test -f conftest.so ; then
res=`./confmain`
echo $res
fi
if test "$res" = "test"; then
SOFLAGS="$LIBDB_PATH -shared"
fi
fi
rm -f conftest* confmain*
AC_MSG_RESULT($SOFLAGS)
if test "$SOFLAGS" != ""; then
AC_DEFINE(MODULES)
LIBS="$LIBS $DLLIB"
fi
AC_MSG_CHECKING(for -export-dynamic)
cat>confmain.c << EOF
#include <stdio.h>
main()
{
printf("yes");
}
EOF
$CC confmain.c -export-dynamic -o confmain 2>>config.log
res=""
if test -x confmain ; then
res=`./confmain`
fi
if test "$res" = "yes"; then
LDFLAGS="$LDFLAGS -export-dynamic"
AC_MSG_RESULT(yes)
else
AC_MSG_RESULT(no)
fi
fi
rm -f confmain*
LDFLAGS="$LDFLAGS $LIBDB_PATH"
CXXCOMPFLAGS=-c
CXXSOFLAGS=$SOFLAGS
case "$host_os" in
irix*) CFLAGS="-D_SGI_MP_SOURCE"
;;
osf*) CFLAGS="$CFLAGS -D_REENTRANT -DOSF"
LIBS="-oldstyle_liblookup -lpthread $LIBS -$LIBDB_PATH $LIBDB_NAME"
;;
freebsd*) CFLAGS="$CFLAGS -pthread -D_REENTRANT -DFREEBSD -D_THREAD_SAFE
-DFD_SETSIZE=2048"
CXX=g++
CXXSOFLAGS="-shared -Xlinker -Bstatic"
LIBS="-lc_r $LEXLIB $LIBS $LIBDB_PATH $LIBDB_NAME"
if test "$large_files" = "yes" ; then
## FreeBSD need no any special flags for 64bit files
CFLAGS="$CFLAGS -DWITH_LARGE_FILES"
fi
if test "X$LIBGB_NAME" != "X" ; then
LIBGB_NAME="$LIBGB_NAME -lstdc++"
fi
;;
bsdi*) CFLAGS="$CFLAGS -pthread -DBSDOS"
LIBS="$LEXLIB $LIBS $LIBDB_PATH $LIBDB_NAME"
CXX=g++
;;
gnu*|linux*) CFLAGS="$CFLAGS -D_REENTRANT -DLINUX"
CXX=g++
if test "$pthread_in" = "pthreads" ; then
CFLAGS="$CFLAGS -D_MIT_POSIX_THREADS"
LIBS="-lpthreads $LEXLIB -ldb $LIBS"
echo Probably you have MIT-threads. If yes, swich to LinuxThreads.
else
LIBS="-lpthread $LEXLIB $LIBS $LIBDB_PATH $LIBDB_NAME"
fi
if test "$large_files" = "yes" ; then
## Linux ext2fs does'nt support large files yet.
AC_MSG_RESULT(Warning: Linux ext2fs doesn't support large files.)
CFLAGS="$CFLAGS -DWITH_LARGE_FILES -D_FILE_OFFSET_BITS=64
-D__USE_LARGEFILE64 -D__USE_FILE_OFFSET64"
fi
;;
solaris*) CFLAGS="$CFLAGS -D_REENTRANT -DSOLARIS"
LIBS="-lm -ly -ll $LIBS -lsocket -lnsl $LIBDB_PATH $LIBDB_NAME"
case "$CC" in
gcc*) LIBS="-lthread -lpthread $LIBS"
CXX=g++
;;
*) CFLAGS="$CFLAGS -mt"
SUNPRO_CC_VER=`CC -V 2>&1 | sed 's/.* //'`
if test "$SUNPRO_CC_VER" = "5.0" ; then
CXX="CC -compat=4 -w -xtarget=native"
else
CXX="CC -w -features=anachronisms"
fi
if test "$MODULES" != 1; then
CXXCOMPFLAGS="-xar"
fi
if test "X$LIBGB_NAME" != "X" ; then
LIBGB_NAME="$LIBGB_NAME -lC"
fi
;;
esac
if test "$large_files" = "yes" ; then
CFLAGS="$CFLAGS -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64
-DWITH_LARGE_FILES"
fi
;;
aix4*) AC_DEFINE(MODULES)
LIBS="$LIBS -ldl $LEXLIB $LIBDB_PATH $LIBDB_NAME"
SOFLAGS=-G
case "$CC" in
gcc*) CFLAGS="-D_THREAD_SAFE $CFLAGS"
CXX=g++
LIBS="$LIBS -lpthreads -lc_r"
;;
cc_r* | xlc_r* | xlC_r* )
CC="$CC -qlanglvl=ansi -brtl -bexpall"
LD="makeC++SharedLib -p10 -bshared -lpthreads -lc_r"
;;
esac
if test "$large_files" = "yes" ; then
CFLAGS="$CFLAGS -D_LARGE_FILES -D_LARGE_FILE_API -DWITH_LARGE_FILES"
fi
;;
uwin*) AC_DEFINE(MODULES)
CFLAGS="$CFLAGS -I. -I.. -I/usr/include"
LIBS="$LEXLIB $LIBS -lposix -lpthread $LIBDB_PATH $LIBDB_NAME"
;;
esac
AC_CHECK_FUNCS(atoll bzero chroot ctime_r daemon getdomainname gethostbyname_r getopt
getrlimit getrusage gmtime_r localtime_r poll pread pwrite)
case "$regexp_val" in
system)
AC_CHECK_FUNC(regcomp, , [echo "regcomp not found in system libraries" 2>&1; exit
1])
AC_DEFINE(REGEX_H, <regex.h>)
;;
pcre)
AC_CHECK_LIB(pcreposix, regcomp, LIBS="$LIBS -lpcreposix -lpcre",
AC_CHECK_LIB(pcre, regcomp), -lpcre)
AC_DEFINE(REGEX_H, <pcreposix.h>)
;;
builtin)
AC_DEFINE(REGEX_H, "gnu_regex.h") EXTRASRC="$EXTRASRC gnu_regex.c"
;;
*)
echo "unknown value of --with-regexp option" 2>&1; exit 1
;;
esac
AC_CHECK_FUNCS(setegid snprintf setrlimit strcasestr strerror_r strtoll)
AC_CHECK_FUNC(strtok_r,,EXTRASRC="$EXTRASRC strtok_r.c")
AC_PATH_PROG(CHOWN, chown, /usr/sbin/chown,
$PATH:/bin:/usr/bin:/usr/sbin)
if test "X$with_malloc" != "X" ; then
LIBS="$with_malloc $LIBS"
fi
if test "$MODULES" != 1; then
MOD_EXT=o
STATIC_MODULES="modules/accel.o modules/berkeley_db_api.o modules/gigabase_db_api.o
modules/custom_log.o modules/err.o modules/fastredir.o modules/lang.o
modules/log_dummy.o modules/oopsctl_mod.o modules/passwd_file.o modules/redir.o
modules/transparent.o modules/vary_header.o"
fi
echo $CC
echo $CFLAGS
echo $LIBS
if test "${enable_oops_user+set}" != set; then
printf %s "Under which uid Oops! will run? Enter username or press Enter: "
read OOPS_USER
fi
VER=`cat src/version`
if test "X$OOPS_USER" != "X" ; then
echo
echo ">>WARNING! YOU MUST CHECK THAT ALL FILES USED BY OOPS"
echo ">>ARE OWNED BY '$OOPS_USER'. OTHERWISE, YOU WILL HAVE PROBLEMS."
echo
SETOWNER="-o $OOPS_USER"
OOPSUSER_DEF="userid $OOPS_USER"
AC_SUBST(OOPS_USER)
AC_SUBST(SETOWNER)
else
OOPSUSER_DEF=""
fi
AC_SUBST(OOPSUSER_DEF)
AC_SUBST(YACCLIB)
AC_SUBST(EXTRASRC)
AC_SUBST(SOFLAGS)
AC_SUBST(MOD_EXT)
AC_SUBST(OPT_MODS)
AC_SUBST(STATIC_MODULES)
AC_SUBST(CHOWN)
AC_SUBST(LD)
AC_SUBST(LDFLAGS)
AC_SUBST(VER)
AC_SUBST(LIBGB_PATH)
AC_SUBST(LIBGB_NAME)
AC_SUBST(CXX)
AC_SUBST(CXXCOMPFLAGS)
AC_SUBST(CXXSOFLAGS)
AC_DEFINE(OPEN_FILES_MAXIMUM,8196)
if test "x$prefix" != xNONE; then
oops_prefix="$prefix"
else
oops_prefix="$ac_default_prefix"
fi
if test "x$sbindir" != 'x${exec_prefix}/sbin'; then
oops_sbindir="$sbindir"
else
oops_sbindir="$oops_prefix/oops"
fi
if test "x$sysconfdir" != 'x${prefix}/etc'; then
oops_sysconfdir="$sysconfdir"
else
oops_sysconfdir="$oops_prefix/oops"
fi
if test "x$localstatedir" != 'x${prefix}/var'; then
oops_localstatedir="$localstatedir"
else
oops_localstatedir="$oops_prefix/oops/logs"
fi
if test "x$libdir" != 'x${exec_prefix}/lib'; then
oops_libdir="$libdir"
else
oops_libdir="$oops_prefix/oops/modules"
fi
OOPS_SBINDIR=$oops_sbindir
OOPS_SYSCONFDIR=$oops_sysconfdir
OOPS_LOCALSTATEDIR=$oops_localstatedir
OOPS_LIBDIR=$oops_libdir
OOPS_HOME="$oops_prefix/oops"
AC_SUBST(OOPS_HOME)
AC_SUBST(OOPS_SBINDIR)
AC_SUBST(OOPS_SYSCONFDIR)
AC_SUBST(OOPS_LOCALSTATEDIR)
AC_SUBST(OOPS_LIBDIR)
AC_DEFINE_UNQUOTED(OOPS_HOME, "$oops_prefix/oops")
AC_DEFINE_UNQUOTED(OOPS_SBINDIR, "$oops_sbindir")
AC_DEFINE_UNQUOTED(OOPS_SYSCONFDIR, "$oops_sysconfdir")
AC_DEFINE_UNQUOTED(OOPS_LOCALSTATEDIR, "$oops_localstatedir")
AC_DEFINE_UNQUOTED(OOPS_LIBDIR, "$oops_libdir")
AC_DEFINE_UNQUOTED(OOPS_CFG, "$oops_sysconfdir/oops.cfg")
AC_DEFINE_UNQUOTED(OOPS_CC, "$CC")
AC_DEFINE_UNQUOTED(OOPS_CFLAGS, "$CFLAGS")
AC_DEFINE_UNQUOTED(OOPS_LIBS, "$LIBS")
AC_CONFIG_HEADER(src/config.h)
AC_OUTPUT(src/Makefile src/modules/Makefile src/oops.cfg)