2 AC_INIT(rpm, 4.8.90, rpm-maint@lists.rpm.org)
4 AC_CONFIG_SRCDIR([rpmqv.c])
5 AC_CONFIG_HEADERS([config.h])
6 AC_CONFIG_MACRO_DIR([m4])
8 AM_INIT_AUTOMAKE([1.10 foreign tar-ustar dist-bzip2 subdir-objects nostdinc])
10 AC_CONFIG_TESTDIR(tests)
12 AC_USE_SYSTEM_EXTENSIONS
16 dnl Checks for programs.
29 if test "$ac_cv_prog_cc_c99" = no; then
30 AC_MSG_ERROR([ISO C99 capable compiler required])
35 if test "$GCC" = yes; then
36 CFLAGS="$CFLAGS -fPIC -DPIC -D_REENTRANT -Wall -Wpointer-arith -Wmissing-prototypes -Wno-char-subscripts"
37 # XXX disabled for now due to noise from NSPR headers
38 # CFLAGS="$CFLAGS -Wstrict-prototypes"
39 cflags_to_try="-fno-strict-aliasing -fstack-protector -Wempty-body"
40 AC_MSG_CHECKING([supported compiler flags])
43 for flag in $cflags_to_try; do
44 CFLAGS="$CFLAGS $flag"
45 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[]], [[return 0;]])],[
47 RPMCFLAGS="$RPMCFLAGS $flag"
51 CFLAGS="$CFLAGS $RPMCFLAGS"
58 dnl look for POSIX chmod attributes
60 AC_MSG_CHECKING(POSIX chmod)
62 chmod 744 foo.chmodtest
63 chmod +X foo.chmodtest 2>/dev/null
64 a=`ls -l foo.chmodtest | awk '{print substr($1,1,10)}'`
66 if test "$a" = "-rwxr-xr-x"; then
68 FIXPERMS=a+rX,u+w,g-w,o-w
70 AC_MSG_RESULT(no (tell your OS vendor about GNU fileutils))
71 FIXPERMS=a+r,u+w,g-w,o-w
78 AC_CHECK_TOOL(AR, ar, :)
81 dnl use defaults if cross-compiling, otherwise use the default path.
83 if test "$cross_compiling" = "yes"; then
90 dnl Find some common programs
92 AC_PATH_PROG(__BZIP2, bzip2, /usr/bin/bzip2, $MYPATH)
93 AC_PATH_PROG(__CAT, cat, /bin/cat, $MYPATH)
94 AC_PATH_PROG(__CHGRP, chgrp, /bin/chgrp, $MYPATH)
95 AC_PATH_PROG(__CHMOD, chmod, /bin/chmod, $MYPATH)
96 AC_PATH_PROG(__CHOWN, chown, /bin/chown, $MYPATH)
97 AC_PATH_PROG(__CP, cp, /bin/cp, $MYPATH)
98 AC_PATH_PROG(__CPIO, cpio, /bin/cpio, $MYPATH)
99 AC_PATH_PROG(__CURL, curl, /usr/bin/curl, $MYPATH)
100 AC_PATH_PROG(__FILE, file, /usr/bin/file, $MYPATH)
101 AC_PATH_PROG(__GPG, gpg, /usr/bin/gpg, $MYPATH)
102 AC_PATH_PROG(__GREP, grep, /bin/grep, $MYPATH)
103 AC_PATH_PROG(__GZIP, gzip, /bin/gzip, $MYPATH)
104 AC_PATH_PROG(__UNZIP, unzip, /usr/bin/unzip, $MYPATH)
105 AC_PATH_PROG(__ID, id, /usr/bin/id, $MYPATH)
106 AC_PATH_PROG(__INSTALL, install, /usr/bin/install, $MYPATH)
107 AC_PATH_PROG(__XZ, xz, /usr/bin/xz, $MYPATH)
108 AC_PATH_PROG(__MAKE, make, /usr/bin/make, $MYPATH)
109 AC_PATH_PROG(__MKDIR, mkdir, /bin/mkdir, $MYPATH)
110 AC_PATH_PROG(__MV, mv, /bin/mv, $MYPATH)
111 AC_PATH_PROG(__PATCH, patch, /usr/bin/patch, $MYPATH)
112 AC_MSG_CHECKING(old version of patch)
113 PATCHVERSION=`patch --version 2>&1`
115 if test "$PATCHVERSION" = "Patch version 2.1"; then
116 AC_DEFINE(HAVE_OLDPATCH_21, 1,
117 [Define if the patch call you'll be using is 2.1 or older])
118 AC_MSG_RESULT(patch older then 2.2 found)
120 AC_MSG_RESULT(patch later then 2.2 found)
123 AC_PATH_PROG(__PERL, perl, /usr/bin/perl, $MYPATH)
124 AC_PATH_PROG(__PGP, pgp, /usr/bin/pgp, $MYPATH)
125 AC_PATH_PROG(__PYTHON, python, /usr/bin/python, $MYPATH)
126 AC_PATH_PROG(__RM, rm, /bin/rm, $MYPATH)
127 AC_PATH_PROG(__RSH, rsh, /usr/bin/rsh, $MYPATH)
128 AC_PATH_PROG(__SED, sed, /bin/sed, $MYPATH)
129 AC_PATH_PROG(__SSH, ssh, /usr/bin/ssh, $MYPATH)
130 AC_PATH_PROG(__TAR, tar, /bin/tar, $MYPATH)
132 AC_PATH_PROG(__LD, ld, /usr/bin/ld, $MYPATH)
133 AC_PATH_PROG(__NM, nm, /usr/bin/nm, $MYPATH)
134 AC_PATH_PROG(__OBJCOPY, objcopy, /usr/bin/objcopy, $MYPATH)
135 AC_PATH_PROG(__OBJDUMP, objdump, /usr/bin/objdump, $MYPATH)
136 AC_PATH_PROG(__STRIP, strip, /usr/bin/strip, $MYPATH)
137 AC_PATH_PROG(__FAKECHROOT, fakechroot, /usr/bin/fakechroot, $MYPATH)
139 dnl see if we have a mkdir that supports `-p' for rpmbuild's purposes
141 if ! echo $MKDIR_P | grep -q mkdir; then
142 __MKDIR_P="`echo ${prefix}/lib/rpm/mkinstalldirs`"
146 AC_DEFINE_UNQUOTED(__MKDIR_P, "${__MKDIR_P}",
147 [A full path to a program, possibly with arguments, that will create a
148 directory and all necessary parent directories, ala 'mkdir -p'])
152 # Check for zlib library.
157 AC_CHECK_HEADERS([zlib.h],[
158 AS_IF([test -z "${WITH_ZLIB_LIB}"],[
159 for zlib in z gz ; do
160 AC_CHECK_LIB(${zlib}, gzread,
161 [WITH_ZLIB_LIB="-l${zlib}"; break])
164 dnl zlib-1.0.4 has not gzseek
165 AC_CHECK_LIB(${zlib}, gzseek, [AC_DEFINE(HAVE_GZSEEK, 1, [Define as 1 if your zlib has gzseek()])])
169 AC_SUBST(WITH_ZLIB_INCLUDE)
170 AC_SUBST(WITH_ZLIB_LIB)
173 # Check for bzip2 library.
175 AC_CHECK_HEADERS([bzlib.h],[
176 AC_CHECK_LIB(bz2, bzread, [WITH_BZ2_LIB=-lbz2],
178 AC_CHECK_LIB(bz2, BZ2_bzread,[
180 AC_DEFINE(HAVE_BZ2_1_0, 1, [Define as 1 if you bzip2 1.0])
184 AC_SUBST(WITH_BZ2_LIB)
187 # Check for lzma library.
189 AC_CHECK_HEADERS([lzma.h],[
190 AC_CHECK_LIB(lzma, lzma_easy_encoder, [WITH_LZMA_LIB=-llzma])
192 AC_SUBST(WITH_LZMA_LIB)
197 dnl Check for features
200 dnl Checks for libraries.
202 AC_CHECK_FUNC(gethostname, [], [
203 AC_CHECK_LIB(nsl, gethostname)
206 AC_CHECK_HEADERS(poll.h)
208 AC_CHECK_HEADERS(pthread.h)
210 AC_CHECK_LIB(pthread, pthread_mutex_trylock, [], [
211 dnl OSF 5.0 has the the symbols prefixed with __ in libpthread.
212 AC_CHECK_LIB(pthread, __pthread_mutex_trylock, [], [
213 AC_CHECK_LIB(thread, mutex_lock)
217 AC_SEARCH_LIBS(aio_read, [c rt aio posix4])
219 dnl Temporary hack for MiNT. Some functions (writev, snprintf) are
220 dnl not in the libc but in libport (for political reasons). This check
221 dnl can hopefully be removed soon. Please use the default action
222 dnl for this macro (not LIBS=...), otherwise the check for dbopen
224 AC_CHECK_LIB(port, writev)
227 # Check for libelf library. Prefer external, otherwise none.
229 AC_CHECK_HEADER([libelf.h])
230 AC_CHECK_HEADERS([gelf.h], [
231 AC_CHECK_LIB(elf, gelf_getvernaux, [
232 AC_DEFINE(HAVE_LIBELF, 1, [Define to 1 if you have the 'elf' library (-lelf).])
233 WITH_LIBELF_LIB="-lelf"
237 AC_SUBST(WITH_LIBELF_LIB)
238 AM_CONDITIONAL(LIBELF,[test "$WITH_LIBELF" = yes])
240 AC_CHECK_HEADERS([dwarf.h], [
243 AM_CONDITIONAL(LIBDWARF,[test "$WITH_LIBDWARF" = yes])
246 # Check for NSS library.
247 # We need nss.h from NSS which needs nspr.h. Unfortunately both glibc and NSS
248 # have a header named nss.h... so make extra check for NSS's sechash.h
249 # which we use too and hopefully is slightly more unique to NSS.
252 AC_CHECK_HEADERS([nspr.h nss.h sechash.h], [], [
253 AC_MSG_ERROR([missing required NSPR / NSS header])
255 AC_CHECK_LIB(nss3, NSS_NoDB_Init, [
258 AC_MSG_ERROR([missing required NSS library 'nss3'])
260 AC_SUBST(WITH_NSS_INCLUDE)
261 AC_SUBST(WITH_NSS_LIB)
264 # Check for magic library.
268 AC_CHECK_HEADER([magic.h], [
269 AC_CHECK_LIB(magic, magic_open, [
271 WITH_MAGIC_LIB="-lmagic"
273 AC_MSG_ERROR([missing required library 'libmagic'])
276 AC_MSG_ERROR([missing required header magic.h])
279 AC_SUBST(WITH_MAGIC_INCLUDE)
280 AC_SUBST(WITH_MAGIC_LIB)
283 # Check for popt library.
287 AC_CHECK_HEADER([popt.h], [
288 AC_CHECK_LIB(popt, poptGetContext, [
290 WITH_POPT_LIB="-lpopt"
292 AC_MSG_ERROR([missing required library popt])
295 AC_MSG_ERROR([missing required header popt.h])
298 AC_SUBST(WITH_POPT_INCLUDE)
299 AC_SUBST(WITH_POPT_LIB)
302 # Process --with/without-external-db
303 AC_ARG_WITH(external_db, [AS_HELP_STRING([--with-external-db],[build against an external Berkeley db])],
304 [case "$with_external_db" in
306 *) AC_MSG_ERROR([invalid argument to --with-external-db]) ;;
308 [with_external_db=no])
310 case "$with_external_db" in
312 AC_CHECK_HEADERS([db.h],[
313 AC_CHECK_TYPE([db_threadid_t],[],
314 [AC_MSG_WARN([missing type db_threadid_t])],
317 AC_CHECK_LIB([db],[db_create],[],[
318 AC_MSG_ERROR([missing db_create in libdb])
320 AC_CHECK_LIB([db],[db_env_create],[],[
321 AC_MSG_ERROR([missing db_env_create in libdb])
323 AC_CHECK_LIB([db],[db_env_set_func_fsync],[],[
324 AC_MSG_ERROR([missing db_env_set_func_fsync in libdb])
326 AC_CHECK_LIB([db],[db_strerror],[],[
327 AC_MSG_ERROR([missing db_strerror in libdb])
332 AC_MSG_ERROR([missing required header db.h])
335 * ) # Fall back to internal db if available
336 if [ test -x db/dist/configure ]; then
337 AC_DEFINE(HAVE_DB_H, 1, [Define if you have the <db3/db.h> header file])
339 AC_MSG_ERROR([internal Berkeley DB directory not present, see INSTALL])
344 AC_SUBST([WITH_DB_LIB])
346 AM_GNU_GETTEXT_VERSION([0.16.1])
347 AM_GNU_GETTEXT([external])
349 dnl Checks for header files we can live without.
354 AC_CHECK_HEADERS(limits.h)
355 AC_CHECK_HEADERS(fcntl.h getopt.h memory.h)
357 AC_CHECK_HEADERS(sys/ipc.h)
358 AC_CHECK_HEADERS(sys/utsname.h)
360 AC_CHECK_HEADERS(sys/systemcfg.h)
361 AC_CHECK_HEADERS(sys/param.h)
362 AC_CHECK_HEADERS(libio.h)
363 AC_CHECK_HEADERS(mcheck.h)
365 AC_CHECK_HEADERS(glob.h)
367 dnl statfs portability fiddles.
369 dnl We should really emulate/steal sections of the statfs and struct statfs
370 dnl checks from GNU fileutils.
372 AC_MSG_CHECKING(for struct statfs)
375 dnl this is easier than nesting AC_TRY_COMPILEs...
377 found_struct_statfs=no
379 if test X$found_struct_statfs = Xno ; then
380 dnl Solaris 2.6+ wants to use statvfs
381 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
382 #ifdef HAVE_SYS_TYPES_H
383 #include <sys/types.h>
385 #include <sys/statvfs.h> ]], [[struct statvfs sfs;]])],[AC_MSG_RESULT(in sys/statvfs.h)
386 AC_DEFINE(STATFS_IN_SYS_STATVFS, 1,
387 [statfs in <sys/statvfs.h> (for solaris 2.6+ systems)])
388 found_struct_statfs=yes],[])
391 if test X$found_struct_statfs = Xno ; then
392 dnl first try including sys/vfs.h
393 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
394 #ifdef HAVE_SYS_TYPES_H
395 #include <sys/types.h>
397 #include <sys/vfs.h> ]], [[struct statfs sfs;]])],[AC_MSG_RESULT(in sys/vfs.h)
398 AC_DEFINE(STATFS_IN_SYS_VFS, 1, [statfs in <sys/vfs.h> (for linux systems)])
399 found_struct_statfs=yes],[])
402 if test X$found_struct_statfs = Xno ; then
403 dnl ...next try including sys/mount.h
404 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
405 #ifdef HAVE_SYS_TYPES_H
406 #include <sys/types.h>
408 #ifdef HAVE_SYS_PARAM_H
409 #include <sys/param.h>
411 #include <sys/mount.h> ]], [[struct statfs sfs;]])],[AC_MSG_RESULT(in sys/mount.h)
412 AC_DEFINE(STATFS_IN_SYS_MOUNT, 1, [statfs in <sys/mount.h> (for Digital Unix 4.0D systems)])
413 found_struct_statfs=yes],[])
416 if test X$found_struct_statfs = Xno ; then
417 dnl ...still no joy. Try sys/statfs.h
418 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
419 #ifdef HAVE_SYS_TYPES_H
420 #include <sys/types.h>
422 #include <sys/statfs.h> ]], [[struct statfs sfs;]])],[AC_MSG_RESULT(in sys/statfs.h)
423 AC_DEFINE(STATFS_IN_SYS_STATFS, 1, [statfs in <sys/statfs.h> (for Irix 6.4 systems)])
424 found_struct_statfs=yes],[])
427 if test X$found_struct_statfs = Xno ; then
428 dnl ...no luck. Warn the user of impending doom.
429 AC_MSG_WARN(not found)
433 dnl if we found the struct, see if it has the f_bavail member. Some OSes
434 dnl don't, including IRIX 6.5+
436 if test X$found_struct_statfs = Xyes ; then
437 AC_MSG_CHECKING(for f_bavail member in struct statfs)
438 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
439 #ifdef HAVE_SYS_TYPES_H
440 #include <sys/types.h>
442 #if STATFS_IN_SYS_STATVFS
443 # include <sys/statvfs.h>
444 typedef struct statvfs STATFS_t;
446 typedef struct statfs STATFS_t;
447 # if STATFS_IN_SYS_VFS
448 # include <sys/vfs.h>
449 # elif STATFS_IN_SYS_MOUNT
450 # include <sys/mount.h>
451 # elif STATFS_IN_SYS_STATFS
452 # include <sys/statfs.h>
454 #endif ]], [[STATFS_t sfs;
455 sfs.f_bavail = 0;]])],[AC_MSG_RESULT(yes)
456 AC_DEFINE(STATFS_HAS_F_BAVAIL, 1, [Define if struct statfs has the f_bavail member])],[AC_MSG_RESULT(no)
460 if test X$found_struct_statfs = Xyes ; then
462 dnl now check to see if we have the 4-argument variant of statfs()
463 dnl this pretty much requires AC_RUN_IFELSE([AC_LANG_SOURCE([[]])],[],[],[])
465 AC_MSG_CHECKING([if statfs() requires 4 arguments])
466 AC_RUN_IFELSE([AC_LANG_SOURCE([[
467 #ifdef HAVE_SYS_TYPES_H
468 #include <sys/types.h>
470 #ifdef STATFS_IN_SYS_VFS
472 #elif STATFS_IN_SYS_MOUNT
473 #include <sys/mouht.h>
474 #elif STATFS_IN_SYS_STATFS
475 #include <sys/statfs.h>
479 exit (statfs(".", &sfs, sizeof(sfs), 0));
481 ]])],[AC_MSG_RESULT(yes)
482 AC_DEFINE(STAT_STATFS4, 1, [Define if the statfs() call takes 4 arguments])],[AC_MSG_RESULT(no)],[AC_MSG_RESULT(no)
486 dnl look for libc features
488 dnl Check for missing typedefs
494 dnl Checks for library functions.
497 AC_CHECK_FUNCS(mtrace)
498 AC_CHECK_FUNCS(putenv)
501 AC_REPLACE_FUNCS(stpcpy stpncpy)
503 AC_CHECK_FUNCS(__secure_getenv)
506 [mkstemp getcwd basename dirname realpath setenv unsetenv regcomp lchown],
507 [], [AC_MSG_ERROR([function required by rpm])])
509 dnl XXX Glob *is* broken on linux with libc5, solaris and possibly aix when
510 dnl %files gets something like
511 dnl /usr/*/locale/*/LC_MESSAGES/*.mo
512 dnl (Note: more than one asterisk in glob pattern.)
514 dnl XXX Glob is "fixed" in glibc-2.3.3-61, but the cost is that
515 dnl dangling symlinks are no longer globbed. Always use the internal glob.
516 AC_DEFINE(USE_GNU_GLOB, 1, [Use the included glob.c?])
520 dnl check if python is requested
521 AC_ARG_ENABLE(python, [AS_HELP_STRING([--enable-python],[build rpm python bindings])],
522 [case "$enable_python" in
524 *) AC_MSG_ERROR([invalid argument to --enable-python])
529 AS_IF([test "$enable_python" = yes],[
530 AM_PATH_PYTHON([2.6],[
531 WITH_PYTHON_INCLUDE=`${PYTHON} -c 'from distutils.sysconfig import *; import sys; sys.stdout.write(get_python_inc())'`
532 WITH_PYTHON_SUBPACKAGE=1
533 save_CPPFLAGS="$CPPFLAGS"
534 CPPFLAGS="$CPPFLAGS -I$WITH_PYTHON_INCLUDE"
535 AC_CHECK_HEADER([Python.h],[],
536 [AC_MSG_ERROR([missing Python.h])
538 CPPFLAGS="$save_CPPFLAGS"
540 AC_SEARCH_LIBS([Py_Main],[python${PYTHON_VERSION} python],[
541 WITH_PYTHON_LIB="$ac_res"
542 ],[AC_MSG_ERROR([missing python library])
549 WITH_PYTHON_SUBPACKAGE=0
552 AC_SUBST(WITH_PYTHON_INCLUDE)
553 AC_SUBST(WITH_PYTHON_LIB)
555 AM_CONDITIONAL(PYTHON,[test "$WITH_PYTHON_SUBPACKAGE" = 1])
557 AC_PATH_PROG(DOXYGEN, doxygen, no)
559 dnl Only build internal API + source hacking docs on request
561 AC_ARG_WITH(hackingdocs, [AS_HELP_STRING([--with-hackingdocs],[build rpm hacking docs])],,[with_hackingdocs=no])
563 case "$with_hackingdocs" in
565 AS_IF([test "$DOXYGEN" = no],[with_hackingdocs=no],[with_hackingdocs=no])
568 AS_IF([test "$DOXYGEN" = no],
569 [AC_MSG_ERROR([rpm hacking docs eeds doxygen in PATH])])
572 AC_CHECK_PROG(HAVE_DOT,[dot],[YES],[NO])
575 AC_ARG_WITH(selinux, [AS_HELP_STRING([--with-selinux],[build with selinux support])],
576 [case "$with_selinux" in
578 *) AC_MSG_ERROR([invalid argument to --with-selinux])
583 AS_IF([test "$with_selinux" = yes],[
584 AC_CHECK_HEADER([selinux/selinux.h],[
585 AC_CHECK_LIB(selinux,[is_selinux_enabled],[with_selinux=yes],[
586 AC_MSG_ERROR([--with-selinux given, but libselinux not found])])
588 AC_MSG_ERROR([--with-selinux given, but selinux/selinux.h not found])
592 AS_IF([test "$with_selinux" = yes],[
593 AC_DEFINE(WITH_SELINUX, 1, [Build with selinux support?])
594 WITH_SELINUX_LIB="-lselinux"
596 AC_SUBST(WITH_SELINUX_LIB)
597 AM_CONDITIONAL(SELINUX,[test "$with_selinux" = yes])
601 AC_ARG_WITH(cap, [AS_HELP_STRING([--with-cap],[build with capability support])],
604 *) AC_MSG_ERROR([invalid argument to --with-cap])
609 AS_IF([test "$with_cap" = yes],[
610 AC_CHECK_HEADER([sys/capability.h],[
611 AC_CHECK_LIB(cap,[cap_get_file], [
614 AC_CHECK_LIB(cap,[cap_compare], [
615 AC_DEFINE(HAVE_CAP_COMPARE, 1, [Have cap_compare function?])
619 AC_MSG_ERROR([--with-cap given, but libcap not found])])
621 AC_MSG_ERROR([--with-cap given, but sys/capability.h not found])
625 AS_IF([test "$with_cap" = yes],[
626 AC_DEFINE(WITH_CAP, 1, [Build with capability support?])
629 AC_SUBST(WITH_CAP_LIB)
630 AM_CONDITIONAL(CAP,[test "$with_cap" = yes])
633 AC_ARG_WITH(acl, [AS_HELP_STRING([--with-acl],[build with acl support])],
636 *) AC_MSG_ERROR([invalid argument to --with-acl])
641 AS_IF([test "$with_acl" = yes],[
642 dnl verification uses non-portable acl_equiv_mode()
643 AC_CHECK_HEADER([acl/libacl.h],[
644 AC_CHECK_LIB(acl,[acl_equiv_mode],[with_acl=yes],[
645 AC_MSG_ERROR([--with-acl given, but libacl not found or not suitable])])
647 AC_MSG_ERROR([--with-acl given, but acl/libacl.h not found])
651 AS_IF([test "$with_acl" = yes],[
652 AC_DEFINE(WITH_ACL, 1, [Build with acl support?])
655 AC_SUBST(WITH_ACL_LIB)
656 AM_CONDITIONAL(ACL,[test "$with_acl" = yes])
660 AC_ARG_WITH(lua, [AS_HELP_STRING([--with-lua],[build with lua support])],,[with_lua=yes])
661 AS_IF([test "$with_lua" = yes],[
662 AC_CHECK_HEADER([lua.h],[
663 AC_CHECK_LIB(lua,[luaL_openlibs],[with_lua=yes],[
664 AC_MSG_ERROR([--with-lua given, but liblua not found])
668 AC_MSG_ERROR([--with-lua given, but lua.h not found])
672 AS_IF([test "$with_lua" = yes],[
673 AC_DEFINE(WITH_LUA, 1, [Build with lua support?])
675 WITH_LUA_LIB="-llua -lm"
677 AC_SUBST(WITH_LUA_LIB)
678 AC_SUBST(WITH_LUA_INCLUDE)
679 AM_CONDITIONAL(WITH_LUAEXT,[test "$with_lua" = yes])
682 AC_ARG_WITH(dmalloc, [AS_HELP_STRING([--with-dmalloc],[build with dmalloc debugging support])])
683 if test "$with_dmalloc" = yes ; then
684 AC_DEFINE(DMALLOC, 1, [Build with dmalloc support?])
685 LIBS="$LIBS -ldmalloc"
688 AC_CHECK_FUNCS(getpassphrase)
691 # get rid of the 4-th tuple, if config.guess returned "linux-gnu" for host_os
694 if echo "$host_os" | grep '.*-gnulibc1' > /dev/null ; then
695 host_os=`echo "${host_os}" | sed 's/-gnulibc1$//'`
697 if echo "$host_os" | grep '.*-gnueabi' > /dev/null ; then
698 host_os=`echo "${host_os}" | sed 's/-gnueabi$//'`
701 if echo "$host_os" | grep '.*-gnu' > /dev/null ; then
702 host_os=`echo "${host_os}" | sed 's/-gnu$//'`
706 host_os_exact="${host_os}"
707 host_os_major=`echo "${host_os}" | sed 's/\..*$//'`
708 host_os_noversion=`echo "${host_os}" | sed 's/[0-9]*\..*$//'`
711 rm -f ./find-provides
712 if test -f ${srcdir}/autodeps/${host_cpu}-${host_os_exact}.prov ; then
713 echo "using ${srcdir}/autodeps/${host_cpu}-${host_os_exact}.prov for automatic provides generation"
714 ln -s ${srcdir}/autodeps/${host_cpu}-${host_os_exact}.prov ./find-provides
715 elif test -f ${srcdir}/autodeps/${host_os_exact}.prov ; then
716 echo "using ${srcdir}/autodeps/${host_os_exact}.prov for automatic provides generation"
717 ln -s ${srcdir}/autodeps/${host_os_exact}.prov ./find-provides
718 elif test -f ${srcdir}/autodeps/${host_os_major}.prov ; then
719 echo "using ${srcdir}/autodeps/${host_os_major}.prov for automatic provides generation"
720 ln -s ${srcdir}/autodeps/${host_os_major}.prov ./find-provides
721 elif test -f ${srcdir}/autodeps/${host_os_noversion}.prov ; then
722 echo "using ${srcdir}/autodeps/${host_os_noversion}.prov for automatic provides generation"
723 ln -s ${srcdir}/autodeps/${host_os_noversion}.prov ./find-provides
725 echo "*** no default provides information is available for ${host_os_noversion}"
726 ln -s ${srcdir}/autodeps/none ./find-provides
729 rm -f ./find-requires
730 if test -f ${srcdir}/autodeps/${host_cpu}-${host_os_exact}.req ; then
731 echo "using ${srcdir}/autodeps/${host_cpu}-${host_os_exact}.req for automatic requires generation"
732 ln -s ${srcdir}/autodeps/${host_cpu}-${host_os_exact}.req ./find-requires
733 elif test -f ${srcdir}/autodeps/${host_os_exact}.req ; then
734 echo "using ${srcdir}/autodeps/${host_os_exact}.req for automatic requires generation"
735 ln -s ${srcdir}/autodeps/${host_os_exact}.req ./find-requires
736 elif test -f ${srcdir}/autodeps/${host_os_major}.req ; then
737 echo "using ${srcdir}/autodeps/${host_os_major}.req for automatic requires generation"
738 ln -s ${srcdir}/autodeps/${host_os_major}.req ./find-requires
739 elif test -f ${srcdir}/autodeps/${host_os_noversion}.req ; then
740 echo "using ${srcdir}/autodeps/${host_os_noversion}.req for automatic requires generation"
741 ln -s ${srcdir}/autodeps/${host_os_noversion}.req ./find-requires
743 echo "*** no default requires information is available for ${host_os_noversion}"
744 ln -s ${srcdir}/autodeps/none ./find-requires
747 dnl Determine the canonical arch-vendor-os for the host machine
748 case "${host_cpu}" in
749 *86) RPMCANONCOLOR=0; RPMCANONARCH=i386 ;;
750 ia32e*) RPMCANONCOLOR=3; RPMCANONARCH=ia32e ;;
751 amd64*) RPMCANONCOLOR=3; RPMCANONARCH=amd64 ;;
752 x86_64*) RPMCANONCOLOR=3; RPMCANONARCH=x86_64 ;;
753 alpha*) RPMCANONCOLOR=0; RPMCANONARCH=alpha ;;
754 sparc64*) RPMCANONCOLOR=3; RPMCANONARCH=sparc64 ;;
755 sparc*) RPMCANONCOLOR=3; RPMCANONARCH=sparc ;;
756 ia64*) RPMCANONCOLOR=2; RPMCANONARCH=ia64 ;;
757 s390x*) RPMCANONCOLOR=3; RPMCANONARCH=s390x ;;
758 s390*) RPMCANONCOLOR=0; RPMCANONARCH=s390 ;;
759 powerpc64*|ppc64*) RPMCANONCOLOR=3; RPMCANONARCH=ppc64 ;;
760 powerpc*|ppc*) RPMCANONCOLOR=0; RPMCANONARCH=ppc ;;
761 arm*) RPMCANONCOLOR=0; RPMCANONARCH=arm ;;
762 mipsel*) RPMCANONCOLOR=0; RPMCANONARCH=mipsel ;;
763 mips*) RPMCANONCOLOR=0; RPMCANONARCH=mips ;;
764 m68k*) RPMCANONCOLOR=0; RPMCANONARCH=m68k ;;
765 sh3*) RPMCANONCOLOR=0; RPMCANONARCH=sh3 ;;
766 sh4*) RPMCANONCOLOR=0; RPMCANONARCH=sh4 ;;
767 *) RPMCANONCOLOR=0; RPMCANONARCH=unknown ;;
769 case "${host_os_noversion}" in
770 mint) RPMCANONARCH=m68kmint ;;
772 RPMCANONVENDOR="$build_vendor"
773 case "${build_vendor}" in
774 unknown|pc|ibm|redhat|pld|mandrake|conectiva|lvr|yellowdog|caos|suse)
775 test -f /etc/redhat-release && RPMCANONVENDOR=redhat
776 test -f /etc/SuSE-release && RPMCANONVENDOR=suse
777 test -f /etc/pld-release && RPMCANONVENDOR=pld
778 test -f /etc/mandrake-release && RPMCANONVENDOR=mandrake
779 test -f /etc/conectiva-release && RPMCANONVENDOR=conectiva
780 test -f /etc/lvr-release && RPMCANONVENDOR=lvr
781 test -f /etc/yellowdog-release && RPMCANONVENDOR=yellowdog
782 test -f /etc/caos-release && RPMCANONVENDOR=caos
785 RPMCANONOS="$host_os_noversion"
786 RPMCANONGNU="$host_os_gnu"
787 AC_SUBST(RPMCANONCOLOR)
788 AC_SUBST(RPMCANONARCH)
789 AC_SUBST(RPMCANONVENDOR)
791 AC_SUBST(RPMCANONGNU)
792 AC_DEFINE_UNQUOTED([RPMCANONVENDOR],["${RPMCANONVENDOR}"],[canonical vendor])
794 if test X"$prefix" = XNONE ; then
795 usrprefix="$ac_default_prefix"
800 RPMCONFIGDIR="`echo ${usrprefix}/lib/rpm`"
801 AC_SUBST(RPMCONFIGDIR)
805 if test "$with_external_db" = no; then
806 AC_CONFIG_SUBDIRS(db3)
809 AM_CONDITIONAL([WITH_INTERNAL_DB],[test "$with_external_db" = no])
810 AM_CONDITIONAL([DOXYGEN],[test "$DOXYGEN" != no])
811 AM_CONDITIONAL([HACKINGDOCS],[test "$with_hackingdocs" = yes])
813 AC_PATH_PROG(AUTOM4TE,autom4te,:)
815 AC_SUBST([dirstamp],[\${am__leading_dot}dirstamp])
817 AC_CONFIG_FILES([Makefile
818 rpmio/Makefile lib/Makefile build/Makefile
819 po/Makefile.in scripts/Makefile