dnl configure.in for RPM dnl dnl Don't add checks for things we can't work around, unless those checks dnl failing causes the script to bomb out with a message. If we can't fix dnl it, why check it? AC_INIT(rpm.c) topdir=`pwd` echo $ac_n "checking for /usr/local/lib... $ac_c" if test -d /usr/local/lib ; then LIBS="$LIBS -L/usr/local/lib" LIBPATH="$LIBPATH -L/usr/local/lib" echo "yes" else echo "no" fi echo $ac_n "checking for /usr/local/include... $ac_c" if test -d /usr/local/include ; then INCPATH="$INCPATH -I/usr/local/include" echo "yes" else echo "no" fi echo $ac_n "checking for GNU cpio... $ac_c" if test -z "$CPIOBIN"; then oldifs="$IFS" IFS=: for n in $PATH:/opt/gnu/bin; do if test -f $n/cpio; then $n/cpio --help >/dev/null 2>/dev/null if test "$?" = "0"; then CPIOBIN="$n/cpio"; fi fi done IFS="$oldifs" fi if test -z "$CPIOBIN"; then echo "no" echo "" echo "RPM will not work without GNU cpio." exit 1 else echo "yes" fi dnl Checks for programs. AC_PROG_CC AC_PROG_CPP AC_PROG_GCC_TRADITIONAL AC_PROG_INSTALL AC_AIX AC_MINIX AC_ISC_POSIX AC_PROG_AWK AC_PROG_LN_S AC_PROG_MAKE_SET AC_PROG_RANLIB dnl Checks for libraries. AC_CHECK_FUNC(gettext, [HAVEGETTEXT="yes"], AC_CHECK_LIB(intl, gettext, [LIBINTL="-lintl" HAVEGETTEXT="y"], AC_MSG_WARN([sorry this package needs libintl.a (from the gettext package)]) ) ) AC_CHECK_PROG(XGETTEXT, xgettext, xgettext) if test "$XGETTEXT" != ""; then if xgettext --help 2>&1 | grep illegal >/dev/null ; then echo "xgettext isn't GNU version" XGETTEXT="" fi fi if test "$XGETTEXT" != "" -a "$HAVEGETTEXT" != ""; then echo "xgettext and gettext() exist; will build i18n support" INTLDEF=-D_\\\(String\\\)=gettext\\\(String\\\) PO=po GETTEXTSTUB="" else echo "xgettext and libintl.a don't both exist; will not build i18n support" INTLDEF=-D_\\\(a\\\)=a XGETTEXT="" LIBINTL="" PO="" GETTEXTSTUB="gettextstub.o" fi AC_CHECK_FUNC(dbopen, [], AC_CHECK_LIB(db, dbopen, [], AC_MSG_WARN([sorry this package needs libdb.a (from the db package)]), $LIBS) ) AC_CHECK_FUNC(fork, [], [echo "using vfork() instead of fork()"; MISCOBJS=fakefork.o], $LIBS) AC_CHECK_LIB(socket, socket, [LIBSOCKET="-lsocket -lnsl"]) ZLIB= for zlib in z gz ; do AC_CHECK_LIB(${zlib}, gzread, [ZLIB="-l${zlib}"; break], [if test ${zlib} = gz; then AC_MSG_WARN([sorry this package needs libz.a or libgz.a (from the zlib package)]) fi] , $LIBS) done AC_SUBST(ZLIB) dnl Checks for header files we can live without. AC_CHECK_HEADERS(netinet/in_systm.h) AC_C_BIGENDIAN dnl Checks for library functions. AC_CHECK_FUNC(inet_aton, AC_DEFINE(HAVE_INET_ATON), MISCOBJS="$MISCOBJS inet_aton.o") AC_CHECK_FUNC(realpath, [], MISCOBJS="$MISCOBJS realpath.o") AC_CHECK_FUNC(setenv, [], MISCOBJS="$MISCOBJS setenv.o") AC_CHECK_FUNC(getopt_long, [], MISCOBJS="$MISCOBJS getopt.o getopt1.o") if test -n "$MISCOBJS"; then LIBMISC=-lmisc fi if test "x$varprefix" = "x"; then varprefix=`echo $prefix | sed 's/usr/var/'` test "x$prefix" = xNONE && varprefix=`echo $ac_default_prefix | sed 's/usr/var/'` fi if test "x$tmpdir" = "x"; then if test -d $varprefix/tmp; then tmpdir=$varprefix/tmp else if test -d /var/tmp; then tmpdir=/var/tmp else tmpdir=/tmp fi fi fi AC_CANONICAL_SYSTEM if echo "$build" | grep solaris >/dev/null ; then # Solaris needs -ldl to use -lnsl, and it can't build static # binaries if you use -ldl echo "hacking things up for solaris" LIBDL=-ldl else RPMSTATIC=rpm fi AC_SUBST(MISCOBJS) AC_SUBST(INCPATH) AC_SUBST(LIBMISC) AC_SUBST(LIBINTL) AC_SUBST(LIBSOCKET) AC_SUBST(varprefix) AC_SUBST(tmpdir) AC_SUBST(topdir) AC_SUBST(INTLDEF) AC_SUBST(XGETTEXT) AC_SUBST(LIBINTL) AC_SUBST(LIBPATH) AC_SUBST(LIBDL) AC_SUBST(PO) AC_SUBST(GETTEXTSTUB) AC_SUBST(RPMSTATIC) AC_SUBST(CPIOBIN) AC_OUTPUT(Makefile Makefile.inc lib-rpmrc lib/Makefile build/Makefile tools/Makefile po/Makefile misc/Makefile)