Add with_internal_db.
[platform/upstream/rpm.git] / configure.ac
1 AC_PREREQ(2.61)
2 AC_INIT(rpm, 4.4.90, rpm-maint@lists.rpm.org)
3
4 AC_CONFIG_SRCDIR([rpmqv.c])
5 AM_CONFIG_HEADER([config.h])
6
7 AM_INIT_AUTOMAKE([1.10 foreign tar-ustar dist-bzip2 subdir-objects])
8
9 AC_CONFIG_TESTDIR(tests)
10
11 AC_DISABLE_STATIC
12
13 AC_AIX
14 AC_MINIX
15
16 dnl Checks for programs.
17 AC_PROG_CXX
18 AC_PROG_AWK
19 AC_PROG_CC
20 AC_PROG_CPP
21 AC_PROG_INSTALL
22 AC_PROG_LN_S
23 AC_PROG_MAKE_SET
24 AC_PROG_LIBTOOL
25 AC_PROG_YACC
26
27 AS=${AS-as}
28 AC_SUBST(AS)
29 if test "$GCC" = yes; then
30     CFLAGS="$CFLAGS -fPIC -DPIC -D_GNU_SOURCE -D_REENTRANT -Wall -Wpointer-arith -Wstrict-prototypes -Wmissing-prototypes -Wno-char-subscripts"
31     cflags_to_try="-fno-strict-aliasing"
32     AC_MSG_CHECKING([supported compiler flags])
33     old_cflags=$CFLAGS
34     echo
35     for flag in $cflags_to_try; do
36         CFLAGS="$CFLAGS $flag"
37         AC_TRY_COMPILE(, [return 0;], [
38                 echo "   $flag"
39                 RPMCFLAGS="$RPMCFLAGS $flag"
40         ])
41         CFLAGS=$old_cflags
42     done
43     CFLAGS="$CFLAGS $RPMCFLAGS"
44 fi
45 export CFLAGS
46
47 AC_PROG_GCC_TRADITIONAL
48 AC_SYS_LARGEFILE
49
50 dnl Does this platform require array notation to assign to a va_list?
51 dnl If cross-compiling, we assume va_list is "normal".  If this breaks
52 dnl you, set ac_cv_valistisarray=true and maybe define HAVE_VA_LIST_AS_ARRAY
53 dnl also just to be sure.
54 AC_MSG_CHECKING(whether va_list assignments need array notation)
55 AC_CACHE_VAL(ac_cv_valistisarray,
56         [AC_RUN_IFELSE([AC_LANG_SOURCE([[#include <stdlib.h>
57                      #include <stdarg.h>
58                      void foo(int i, ...) {
59                         va_list ap1, ap2;
60                         va_start(ap1, i);
61                         ap2 = ap1;
62                         if (va_arg(ap2, int) != 123 || va_arg(ap1, int) != 123)
63                             { exit(1); }
64                         va_end(ap1); va_end(ap2);
65                      }
66                      int main() { foo(0, 123); return(0); }]])],[ac_cv_valistisarray=false],[ac_cv_valistisarray=true],[ac_cv_valistisarray=false])])
67
68 if test "$ac_cv_valistisarray" = true ; then
69         AC_DEFINE(HAVE_VA_LIST_AS_ARRAY, 1,
70                 [Define as 1 if your va_list type is an array])
71         AC_MSG_RESULT(yes)
72 else
73        AC_MSG_RESULT(no)
74 fi
75
76 RPMUSER=rpm
77 RPMUID=37
78 RPMGROUP=rpm
79 RPMGID=37
80 export RPMUSER RPMUID RPMGROUP RPMGID
81 AC_SUBST(RPMUSER)
82 AC_SUBST(RPMUID)
83 AC_SUBST(RPMGROUP)
84 AC_SUBST(RPMGID)
85
86 dnl
87 dnl This now uses libtool. Put
88 dnl     LDFLAGS_STATIC="-all"
89 dnl to attempt static executables using libtool. Otherwise
90 dnl     LDFLAGS_STATIC=""
91 dnl
92 AC_MSG_CHECKING(flag used by libtool to link rpm)
93 if test X"$GCC" = Xyes ; then
94         case "$host" in
95                 *-*-linux*)     LDFLAGS_STATIC="-all-static" ;;
96                 *-*-solaris*)   LDFLAGS_STATIC="-static";;
97                 *-*-hpux*)      LDFLAGS_STATIC="-static";;
98                 *-*-darwin*)    LDFLAGS_STATIC="";; # Mac OS X does not do static binaries.
99                 *-*-sysv5uw*)   LDFLAGS_STATUS="-static";; # Unixware has no shared libthread.
100                 *-*-*)          LDFLAGS_STATIC="";;
101         esac
102 elif test X"$CC" = Xcc ; then
103         case "$host" in
104                 *-*-linux*)     LDFLAGS_STATIC="-all-static";;
105                 *-*-freebsd*)   LDFLAGS_STATIC="-all-static";;
106                 *-*-osf*)       LDFLAGS_STATIC="";; # OSF5 has no shared pthreads libs
107                 *-*-aix*)       LDFLAGS_STATIC="-static";;  # -Wl,-bnso doesn't seem to work...
108                 *-*-hpux*)      LDFLAGS_STATIC="-static";;
109                 *-*-solaris*)   LDFLAGS_STATIC="-static";;
110                 *-*-irix*)      LDFLAGS_STATIC="-static";;  #should be -non_shared, but can't
111                                                                                         # link because of crt1.o then.
112                 *-*-ultrix*)    LDFLAGS_STATIC="-all-static";;  #ultrix doesn't have shared libs.
113                 *-*-*)          LDFLAGS_STATIC=""
114 AC_MSG_WARN([
115
116 Unable to guess what option to pass to $CC to generate a static
117 executable.  You will need to set the LDFLAGS_STATIC macro in Makefile.inc to
118 the appropriate argument(s) if you want to build a static rpm executable.
119
120 ])
121                 ;;
122         esac
123 else
124         # just link it dynamically
125         LDFLAGS_STATIC=""
126 fi
127 LDFLAGS_STATIC="${LDFLAGS} ${LDFLAGS_STATIC}"   # libtool format
128 AC_MSG_RESULT($LDFLAGS_STATIC)
129 AC_SUBST(LDFLAGS_STATIC)
130
131 dnl
132 dnl XXX Test for libpthread.a that is NPTL aware (static link only).
133 dnl
134 LDFLAGS_NPTL=
135 if test -f /usr/lib/nptl/libpthread.a ; then
136     LDFLAGS_NPTL="-L/usr/lib/nptl"
137 #    INCPATH="$INCPATH -I/usr/include/nptl"
138 fi
139 AC_SUBST(LDFLAGS_NPTL)
140
141 dnl
142 dnl look for POSIX chmod attributes
143 dnl
144 AC_MSG_CHECKING(POSIX chmod)
145 touch foo.chmodtest
146 chmod 744 foo.chmodtest
147 chmod +X foo.chmodtest 2>/dev/null
148 a=`ls -l foo.chmodtest | awk '{print $1}'`
149 rm -f foo.chmodtest
150 if test "$a" = "-rwxr-xr-x"; then
151     AC_MSG_RESULT(yes)
152     FIXPERMS=a+rX,u+w,g-w,o-w 
153 else
154     AC_MSG_RESULT(no (tell your OS vendor about GNU fileutils))
155     FIXPERMS=a+r,u+w,g-w,o-w 
156 fi
157 AC_SUBST(FIXPERMS)
158
159 dnl
160 dnl see if we have a mkdir that supports `-p'.
161 dnl
162 AC_PATH_PROGS(RPM_MKDIR, mkdir, mkdir)
163 AC_MSG_CHECKING(if $RPM_MKDIR supports -p)
164 rm -rf conftest
165 $RPM_MKDIR -p conftest/a 2>/dev/null
166 if test $? = 0 ; then
167         rmdir conftest/a 2>/dev/null
168         if test $? = 0  ; then
169                 :
170         else
171                 RPM_MKDIR_P=0
172         fi
173
174         rmdir conftest 2>/dev/null
175         if test $? = 0 ; then
176                 RPM_MKDIR_P="$RPM_MKDIR -p"
177         else
178                 RPM_MKDIR_P=0
179         fi
180 else
181         RPM_MKDIR_P=0
182 fi
183
184 if test X"$RPM_MKDIR_P" = X0 ; then
185         AC_MSG_RESULT(no)
186         RPM_MKDIR_P="`echo ${prefix}/lib/rpm/mkinstalldirs`"
187 else
188         AC_MSG_RESULT(yes)
189 fi
190 dnl
191 dnl substitute this into config.h, so the C source picks it up.
192 dnl
193 AC_DEFINE_UNQUOTED(RPM_MKDIR_P, "${RPM_MKDIR_P}",
194 [A full path to a program, possibly with arguments, that will create a
195    directory and all necessary parent directories, ala 'mkdir -p'])
196 AC_SUBST(RPM_MKDIR_P)
197
198 AC_ISC_POSIX
199
200 dnl This test must precede tests of compiler characteristics like
201 dnl that for the inline keyword, since it may change the degree to
202 dnl which the compiler supports such features.
203 AM_C_PROTOTYPES
204
205 dnl AM_DISABLE_SHARED
206 AM_PROG_LIBTOOL
207
208 AC_CHECK_TOOL(AR, ar, :)
209
210 dnl
211 dnl use defaults if cross-compiling, otherwise use the default path.
212 dnl
213 if test "$cross_compiling" = "yes"; then
214     MYPATH=":"
215 else
216     MYPATH=$PATH
217 fi
218
219 dnl
220 dnl Find some common programs
221 dnl
222 AC_PATH_PROG(BZIP2BIN, bzip2, /usr/bin/bzip2, $MYPATH)
223 AC_PATH_PROG(__CAT, cat, /bin/cat, $MYPATH)
224 AC_PATH_PROG(__CHGRP, chgrp, /bin/chgrp, $MYPATH)
225 AC_PATH_PROG(__CHMOD, chmod, /bin/chmod, $MYPATH)
226 AC_PATH_PROG(__CHOWN, chown, /bin/chown, $MYPATH)
227 AC_PATH_PROG(__CP, cp, /bin/cp, $MYPATH)
228 AC_PATH_PROG(__CPIO, cpio, /bin/cpio, $MYPATH)
229 AC_PATH_PROG(__CURL, curl, /usr/bin/curl, $MYPATH)
230 AC_PATH_PROG(__FILE, file, /usr/bin/file, $MYPATH)
231 AC_PATH_PROG(__GPG, gpg, /usr/bin/gpg, $MYPATH)
232 AC_PATH_PROG(__GREP, grep, /bin/grep, $MYPATH)
233 AC_PATH_PROG(GZIPBIN, gzip, /bin/gzip, $MYPATH)
234 AC_PATH_PROG(UNZIPBIN, unzip, /usr/bin/unzip, $MYPATH)
235
236 AC_PATH_PROG(__ID, id, /usr/bin/id, $MYPATH)
237 AC_MSG_CHECKING(checking whether id supports -u)
238     if ${__ID} -u 2>&1 > /dev/null ; then
239         __ID_U="%{__id} -u"
240         AC_MSG_RESULT(yes)
241     else
242         __ID_U="%{__id} | %{__sed} 's/[[^=]]*=\\\\([[0-9]][[0-9]]*\\\\).*$/\\\\1/'"
243         AC_MSG_RESULT(no)
244     fi
245 AC_SUBST(__ID_U)
246
247 AC_PATH_PROG(__INSTALL, install, /usr/bin/install, $MYPATH)
248 AC_PATH_PROG(__MAKE, make, /usr/bin/make, $MYPATH)
249 AC_PATH_PROG(__MKDIR, mkdir, /bin/mkdir, $MYPATH)
250 AC_PATH_PROG(__MV, mv, /bin/mv, $MYPATH)
251 AC_PATH_PROG(__PATCH, patch, /usr/bin/patch, $MYPATH)
252 AC_MSG_CHECKING(old version of patch)
253     PATCHVERSION=`patch --version 2>&1`
254
255     if test "$PATCHVERSION" = "Patch version 2.1"; then
256         AC_DEFINE(HAVE_OLDPATCH_21, 1,
257                 [Define if the patch call you'll be using is 2.1 or older])
258         AC_MSG_RESULT(patch older then 2.2 found)
259     else
260         AC_MSG_RESULT(patch later then 2.2 found)
261     fi
262
263 AC_PATH_PROG(__PERL, perl, /usr/bin/perl, $MYPATH)
264 AC_PATH_PROG(PGPBIN, pgp, /usr/bin/pgp, $MYPATH)
265 AC_PATH_PROG(__PYTHON, python, /usr/bin/python, $MYPATH) 
266 AC_PATH_PROG(__RM, rm, /bin/rm, $MYPATH)
267 AC_PATH_PROG(__RSH, rsh, /usr/bin/rsh, $MYPATH)
268 AC_PATH_PROG(__SED, sed, /bin/sed, $MYPATH)
269 AC_PATH_PROG(__SSH, ssh, /usr/bin/ssh, $MYPATH)
270 AC_PATH_PROG(__TAR, tar, /bin/tar, $MYPATH)
271
272 AC_PATH_PROG(__LD, ld, /usr/bin/ld, $MYPATH)
273 AC_PATH_PROG(__NM, nm, /usr/bin/nm, $MYPATH)
274 AC_PATH_PROG(__OBJCOPY, objcopy, /usr/bin/objcopy, $MYPATH)
275 AC_PATH_PROG(__OBJDUMP, objdump, /usr/bin/objdump, $MYPATH)
276 AC_PATH_PROG(__STRIP, strip, /usr/bin/strip, $MYPATH)
277
278 addlib() {
279   l=$1
280   shift
281   case "$host" in 
282     *-*-solaris*)       LIBS="$LIBS -L$l -R$l $*";;
283     *)          LIBS="$LIBS -L$l $*";;
284   esac
285 }
286
287 #=================
288 # Check for zlib library. 
289
290 WITH_ZLIB_INCLUDE=
291 WITH_ZLIB_LIB=
292
293 if test -z "${WITH_ZLIB_LIB}" ; then
294   for zlib in z gz ; do
295    AC_CHECK_LIB(${zlib}, gzread, 
296         [WITH_ZLIB_LIB="-l${zlib}"; break], 
297         [if test ${zlib} = gz; then 
298             AC_MSG_ERROR([sorry rpm requires libz.a or libgz.a (from the zlib package)]) 
299          fi]
300                )
301   done
302
303 dnl zlib-1.0.4 has not gzseek
304   AC_CHECK_LIB(${zlib}, gzseek, [AC_DEFINE(HAVE_GZSEEK, 1, [Define as 1 if your zlib has gzseek()])])
305 fi
306
307 AC_SUBST(WITH_ZLIB_INCLUDE)
308 AC_SUBST(WITH_ZLIB_LIB)
309
310 #=================
311 # Check for bzip2 library.
312
313 AC_CHECK_LIB(bz2, bzread, [LIBS="$LIBS -lbz2"], 
314    AC_CHECK_LIB(bz2, BZ2_bzread, [
315      WITH_BZIP2=1
316      LIBS="$LIBS -lbz2"
317      AC_DEFINE(HAVE_BZ2_1_0, 1, [Define as 1 if you bzip2 1.0]) ], 
318      WITH_BZIP2=0))
319 AC_SUBST(WITH_BZIP2)
320
321 #=================
322
323 dirs=$prefix
324 AC_MSG_CHECKING(for /usr/ucblib in LIBS)
325 if test -d /usr/ucblib ; then
326         if test "$build" = "mips-sni-sysv4" ; then
327                 addlib /usr/ccs/lib -lc
328         fi
329
330         addlib /usr/ucblib
331         
332         AC_MSG_RESULT(yes)
333 else
334         AC_MSG_RESULT(no)
335 fi
336
337 dnl
338 dnl Check for features
339 dnl
340
341 dnl Checks for libraries.
342
343 AC_CHECK_FUNC(setreuid, [], [
344     AC_CHECK_LIB(ucb, setreuid, [if echo $LIBS | grep -- -lucb >/dev/null ;then :; else LIBS="$LIBS -lc -lucb" USEUCB=y;fi])
345 ])
346
347 AC_CHECK_FUNC(rand, [], [
348     AC_CHECK_LIB(rand, rand, [])
349 ])
350
351 AC_CHECK_FUNC(getdomainname, [], [
352     AC_CHECK_LIB(nsl, getdomainname)
353 ])
354 AC_CHECK_FUNC(socket, [], [
355     AC_CHECK_LIB(socket, socket)
356 ])
357
358 AC_CHECK_HEADERS(error.h)
359 AC_CHECK_FUNCS(error)
360
361 AC_CHECK_HEADERS(poll.h)
362
363 AC_CHECK_HEADERS(thread.h pthread.h synch.h semaphore.h)
364
365 AC_CHECK_LIB(pthread, pthread_mutex_trylock, [], [
366   dnl OSF 5.0 has the the symbols prefixed with __ in libpthread.
367   AC_CHECK_LIB(pthread, __pthread_mutex_trylock, [], [
368     AC_CHECK_LIB(thread, mutex_lock)
369   ])
370 ])
371
372 AC_CHECK_HEADERS(aio.h)
373 AC_SEARCH_LIBS(aio_read, [c rt aio posix4])
374
375 dnl Better not use fchmod at all.
376 AC_CHECK_FUNC(fchmod)
377
378 AC_CHECK_FUNCS(vsnprintf snprintf)
379
380 dnl Temporary hack for MiNT.  Some functions (writev, snprintf) are
381 dnl not in the libc but in libport (for political reasons).  This check
382 dnl can hopefully be removed soon.  Please use the default action
383 dnl for this macro (not LIBS=...), otherwise the check for dbopen
384 dnl will fail.
385 AC_CHECK_LIB(port, writev)
386
387 #=================
388 # Check for libelf library. Prefer external, otherwise none.
389 WITH_LIBELF_INCLUDE=
390 WITH_LIBELF_LIB=
391 AC_CHECK_HEADER([libelf.h])
392 AC_CHECK_HEADERS([gelf.h], [
393         AC_CHECK_LIB(elf, gelf_getvernaux, [
394             AC_DEFINE(HAVE_LIBELF, 1, [Define to 1 if you have the 'elf' library (-lelf).])
395             WITH_LIBELF_LIB="-lelf"
396             WITH_LIBELF=yes
397         ])
398 ])
399 AC_SUBST(WITH_LIBELF_INCLUDE)
400 AC_SUBST(WITH_LIBELF_LIB)
401 AM_CONDITIONAL(LIBELF,[test "$WITH_LIBELF" = yes])
402
403 AC_CHECK_HEADERS([dwarf.h], [
404   WITH_LIBDWARF=yes
405 ])
406 AM_CONDITIONAL(LIBDWARF,[test "$WITH_LIBDWARF" = yes])
407
408 #=================
409 # Check for beecrypt library.
410 WITH_BEECRYPT_INCLUDE=
411 WITH_BEECRYPT_LIB=
412 AC_CHECK_HEADERS([beecrypt/beecrypt.h], [
413   AC_CHECK_LIB(beecrypt, mpfprintln, [
414     AC_CHECK_HEADERS([beecrypt/api.h])
415     WITH_BEECRYPT_INCLUDE=
416     WITH_BEECRYPT_LIB="-lbeecrypt"
417   ],[
418     AC_MSG_ERROR([missing required library beecrypt])
419   ])
420 ],[
421   AC_MSG_ERROR([missing required header beecrypt/beecrypt.h])
422 ])
423 AC_SUBST(WITH_BEECRYPT_INCLUDE)
424 AC_SUBST(WITH_BEECRYPT_LIB)
425
426 #=================
427 # Check for magic library.
428 WITH_MAGIC_INCLUDE=
429 WITH_MAGIC_LIB=
430
431 AC_CHECK_HEADER([magic.h], [
432     AC_CHECK_LIB(magic, magic_open, [
433       WITH_MAGIC_INCLUDE=
434       WITH_MAGIC_LIB="-lmagic"
435     ],[
436       AC_MSG_ERROR([missing required libary 'libmagic']) 
437     ])
438 ],[
439       AC_MSG_ERROR([missing required header magic.h]) 
440 ])
441
442 AC_SUBST(WITH_MAGIC_INCLUDE)
443 AC_SUBST(WITH_MAGIC_LIB)
444
445 #=================
446 # Check for popt library.
447 WITH_POPT_INCLUDE=
448 WITH_POPT_LIB=
449
450 AC_CHECK_HEADER([popt.h], [
451   AC_CHECK_LIB(popt, poptGetContext, [
452       WITH_POPT_INCLUDE=
453       WITH_POPT_LIB="-lpopt"
454       WITH_POPT=yes
455   ],[
456     AC_MSG_ERROR([missing required library popt])
457   ])
458 ],[
459   AC_MSG_ERROR([missing required header popt.h])
460 ])
461
462 AC_SUBST(WITH_POPT_INCLUDE)
463 AC_SUBST(WITH_POPT_LIB)
464
465 #=================
466
467 dnl ------------------ with    internal db
468 AC_DEFINE(HAVE_DB3_DB_H, 1, [Define if you have the <db3/db.h> header file])
469 WITH_DB_SUBDIR=db3
470
471 AC_SUBST(WITH_DB_SUBDIR)
472 # FIXME: Temporary helper until external BDB is fully supported
473 with_internal_db=yes
474
475 #=================
476 # Check for sqlite3 library.
477 AC_ARG_ENABLE(sqlite3, [  --enable-sqlite3        enable sqlite3 support],
478 [case "$enable_sqlite3" in
479 yes|no) ;;
480 *) AC_MSG_ERROR([invalid argument to --enable-sqlite3])
481   ;;
482 esac],
483 [enable_sqlite3=no])
484
485 WITH_SQLITE3_INCLUDE=
486 WITH_SQLITE3_LIB=
487 WITH_SQLITE3=no
488 AS_IF([test "$enable_sqlite3" = yes],[
489   AC_CHECK_HEADERS([sqlite3.h],
490   [ AC_CHECK_LIB(sqlite3, sqlite3_open, [
491       WITH_SQLITE3_INCLUDE=
492       WITH_SQLITE3_LIB="-lsqlite3"
493       WITH_SQLITE3=yes
494     ],[
495       AC_MSG_ERROR([missing libsqlite3])
496     ])
497   ],[
498     AC_MSG_ERROR([missing sqlite3.h])
499   ])
500 ])
501
502 AC_SUBST(WITH_SQLITE3_INCLUDE)
503 AC_SUBST(WITH_SQLITE3_LIB)
504 AM_CONDITIONAL([SQLITE3],[test "$WITH_SQLITE3" = yes])
505
506 #=================
507
508 dnl AmigaOS and IXEmul have a fork() dummy
509   case "$host" in
510     m68k-*-amigaos ) 
511         echo "Building for AmigaOS: using vfork() instead of fork()"; 
512         CFLAGS="$CFLAGS -Dfork=vfork" 
513         ;;
514   esac
515
516 AM_GNU_GETTEXT_VERSION([0.16.1])
517 AM_GNU_GETTEXT([external])
518
519 dnl Checks for header files we can live without.
520 AC_HEADER_STDC
521 AC_HEADER_MAJOR
522 AC_HEADER_DIRENT
523 AC_HEADER_TIME
524
525 AC_CHECK_HEADERS(fcntl.h getopt.h grp.h memory.h netdb.h pwd.h utime.h)
526
527 AC_CHECK_HEADERS(sys/ipc.h sys/socket.h sys/select.h)
528 AC_CHECK_HEADERS(sys/types.h sys/stdtypes.h)
529 AC_CHECK_HEADERS(sys/mman.h sys/resource.h sys/utsname.h sys/wait.h)
530
531 AC_CHECK_HEADERS(netinet/in_systm.h)
532 AC_CHECK_HEADERS(machine/types.h)
533 AC_CHECK_HEADERS(mntent.h sys/mnttab.h sys/systemcfg.h)
534 AC_CHECK_HEADERS(sys/mount.h sys/mntctl.h sys/param.h sys/vmount.h)
535 AC_CHECK_HEADERS(bzlib.h libio.h zlib.h)
536 AC_CHECK_HEADERS(err.h mcheck.h)
537 AC_CHECK_HEADERS(pthread.h)
538
539 AC_CHECK_HEADERS(glob.h)
540 AC_CHECK_HEADERS(locale.h)
541
542 dnl statfs portability fiddles.
543 dnl
544 dnl We should really emulate/steal sections of the statfs and struct statfs
545 dnl checks from GNU fileutils.
546 dnl
547 AC_MSG_CHECKING(for struct statfs)
548
549 dnl
550 dnl this is easier than nesting AC_TRY_COMPILEs...
551 dnl
552 found_struct_statfs=no
553
554 if test X$found_struct_statfs = Xno ; then
555 dnl Solaris 2.6+ wants to use statvfs
556 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
557 #ifdef HAVE_SYS_TYPES_H
558 #include <sys/types.h>
559 #endif
560 #include <sys/statvfs.h> ]], [[struct statvfs sfs;]])],[AC_MSG_RESULT(in sys/statvfs.h)
561         AC_DEFINE(STATFS_IN_SYS_STATVFS, 1,
562                 [statfs in <sys/statvfs.h> (for solaris 2.6+ systems)])
563         found_struct_statfs=yes],[])
564 fi
565
566 if test X$found_struct_statfs = Xno ; then
567 dnl first try including sys/vfs.h
568 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
569 #ifdef HAVE_SYS_TYPES_H
570 #include <sys/types.h>
571 #endif
572 #include <sys/vfs.h> ]], [[struct statfs sfs;]])],[AC_MSG_RESULT(in sys/vfs.h)
573         AC_DEFINE(STATFS_IN_SYS_VFS, 1, [statfs in <sys/vfs.h> (for linux systems)])
574         found_struct_statfs=yes],[])
575 fi
576
577 if test X$found_struct_statfs = Xno ; then
578 dnl ...next try including sys/mount.h
579 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
580 #ifdef HAVE_SYS_TYPES_H
581 #include <sys/types.h>
582 #endif
583 #ifdef HAVE_SYS_PARAM_H
584 #include <sys/param.h>
585 #endif
586 #include <sys/mount.h> ]], [[struct statfs sfs;]])],[AC_MSG_RESULT(in sys/mount.h)
587         AC_DEFINE(STATFS_IN_SYS_MOUNT, 1, [statfs in <sys/mount.h> (for Digital Unix 4.0D systems)])
588         found_struct_statfs=yes],[])
589 fi
590
591 if test X$found_struct_statfs = Xno ; then
592 dnl ...still no joy.  Try sys/statfs.h
593 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
594 #ifdef HAVE_SYS_TYPES_H
595 #include <sys/types.h>
596 #endif
597 #include <sys/statfs.h> ]], [[struct statfs sfs;]])],[AC_MSG_RESULT(in sys/statfs.h)
598         AC_DEFINE(STATFS_IN_SYS_STATFS, 1, [statfs in <sys/statfs.h> (for Irix 6.4 systems)])
599         found_struct_statfs=yes],[])
600 fi
601
602 if test X$found_struct_statfs = Xno ; then
603 dnl ...no luck.  Warn the user of impending doom.
604 AC_MSG_WARN(not found)
605 fi
606
607 dnl
608 dnl if we found the struct, see if it has the f_bavail member.  Some OSes
609 dnl don't, including IRIX 6.5+
610 dnl
611 if test X$found_struct_statfs = Xyes ; then
612 AC_MSG_CHECKING(for f_bavail member in struct statfs)
613 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
614 #ifdef HAVE_SYS_TYPES_H
615 #include <sys/types.h>
616 #endif
617 #if STATFS_IN_SYS_STATVFS
618 # include <sys/statvfs.h>
619   typedef struct statvfs STATFS_t;
620 #else
621   typedef struct statfs STATFS_t;
622 # if STATFS_IN_SYS_VFS
623 #  include <sys/vfs.h>
624 # elif STATFS_IN_SYS_MOUNT
625 #  include <sys/mouht.h>
626 # elif STATFS_IN_SYS_STATFS
627 #  include <sys/statfs.h>
628 # endif
629 #endif ]], [[STATFS_t sfs;
630         sfs.f_bavail = 0;]])],[AC_MSG_RESULT(yes)
631         AC_DEFINE(STATFS_HAS_F_BAVAIL, 1, [Define if struct statfs has the f_bavail member])],[AC_MSG_RESULT(no)
632 ])
633 fi
634
635 if test X$found_struct_statfs = Xyes ; then
636 dnl
637 dnl now check to see if we have the 4-argument variant of statfs()
638 dnl this pretty much requires AC_RUN_IFELSE([AC_LANG_SOURCE([[]])],[],[],[])
639 dnl
640 AC_MSG_CHECKING([if statfs() requires 4 arguments])
641 AC_RUN_IFELSE([AC_LANG_SOURCE([[
642 #ifdef HAVE_SYS_TYPES_H
643 #include <sys/types.h>
644 #endif
645 #ifdef STATFS_IN_SYS_VFS
646 #include <sys/vfs.h>
647 #elif STATFS_IN_SYS_MOUNT
648 #include <sys/mouht.h>
649 #elif STATFS_IN_SYS_STATFS
650 #include <sys/statfs.h>
651 #endif
652 main() {
653         struct statfs sfs;
654         exit (statfs(".", &sfs, sizeof(sfs), 0));
655 }
656 ]])],[AC_MSG_RESULT(yes)
657         AC_DEFINE(STAT_STATFS4, 1, [Define if the statfs() call takes 4 arguments])],[AC_MSG_RESULT(no)],[AC_MSG_RESULT(no)
658 ])
659 fi
660
661 AC_C_INLINE
662
663 dnl look for libc features
664 PROVIDES_ERRNO=no
665 AC_MSG_CHECKING(if <netdb.h> defines h_errno)
666 AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include <netdb.h>]], [[printf("%d",h_errno)]])],[PROVIDES_ERRNO=yes],[])
667 AC_MSG_RESULT($PROVIDES_ERRNO)
668 if test $PROVIDES_ERRNO = yes; then
669         AC_DEFINE(HAVE_HERRNO, 1, [ Define as 1 if <netdb.h> defines h_errno])
670 fi
671
672 dnl If a system doesn't have S_IFSOCK, define it as 0 which will
673 dnl make S_ISSOCK always return false (nice, eh?)
674 AC_MSG_CHECKING(if <sys/stat.h> defines S_IFSOCK)
675 AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include <sys/stat.h>]], [[printf("%d", S_IFSOCK)]])],[HAS_S_IFSOCK=yes],[HAS_S_IFSOCK=no])
676 AC_MSG_RESULT($HAS_S_IFSOCK)
677 if test $HAS_S_IFSOCK = yes; then
678         AC_DEFINE(HAVE_S_IFSOCK, 1, [Define as 1 if <sys/stat.h> defines S_IFSOCK])
679 fi
680
681 dnl Some Unix's are missing S_ISLNK, S_ISSOCK
682 AC_MSG_CHECKING(if <sys/stat.h> defines S_ISLNK)
683 AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include <sys/stat.h>]], [[printf("%d", S_ISLNK(0755))]])],[HAS_S_ISLNK=yes],[HAS_S_ISLNK=no])
684 AC_MSG_RESULT($HAS_S_ISLNK)
685 if test $HAS_S_ISLNK = yes; then
686         AC_DEFINE(HAVE_S_ISLNK, 1, [Define as 1 if <sys/stat.h> defines S_ISLNK])
687 fi
688
689 AC_MSG_CHECKING(if <sys/stat.h> defines S_ISSOCK)
690 AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include <sys/stat.h>]], [[printf("%d", S_ISSOCK(0755))]])],[HAS_S_ISSOCK=yes],[HAS_S_ISSOCK=no])
691 AC_MSG_RESULT($HAS_S_ISSOCK)
692 if test $HAS_S_ISSOCK = yes; then
693         AC_DEFINE(HAVE_S_ISSOCK, 1, [Define as 1 if <sys/stat.h> defines S_ISSOCK])
694 fi
695
696 AC_MSG_CHECKING(if timezone is defined)
697 AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include <time.h>]], [[printf("%ld", timezone)]])],[HAS_TIMEZONE=yes],[HAS_TIMEZONE=no])
698 AC_MSG_RESULT($HAS_TIMEZONE)
699
700 dnl Check for missing typedefs
701 AC_TYPE_MODE_T
702 AC_TYPE_OFF_T
703 AC_TYPE_PID_T
704 AC_TYPE_SIZE_T
705
706 dnl Checks for library functions.
707 AC_FUNC_ALLOCA
708 AC_FUNC_VPRINTF
709 dnl XXX don't want to re-enable code that's been unused for years at this
710 dnl point, but should offer good performance improvements, check after
711 dnl 4.4.2.1...
712 dnl AC_FUNC_MMAP
713
714 AC_CHECK_FUNCS(basename getaddrinfo getcwd getnameinfo getwd inet_aton)
715 AC_CHECK_FUNCS(mtrace putenv realpath setenv)
716 AC_CHECK_FUNCS(stpcpy stpncpy strcspn)
717 AC_CHECK_FUNCS(strdup strndup strerror strtol strtoul strspn strstr)
718
719 AC_CHECK_FUNCS(__secure_getenv)
720
721 AC_CHECK_FUNCS(regcomp)
722
723 AC_CHECK_FUNCS(ftok)
724
725 AC_CHECK_FUNCS(mkstemp)
726
727 dnl XXX Glob *is* broken on linux with libc5, solaris and possibly aix when
728 dnl %files gets something like
729 dnl     /usr/*/locale/*/LC_MESSAGES/*.mo
730 dnl (Note: more than one asterisk in glob pattern.)
731 dnl
732 dnl XXX Glob is "fixed" in glibc-2.3.3-61, but the cost is that
733 dnl dangling symlinks are no longer globbed. Always use the internal glob.
734 AC_DEFINE(USE_GNU_GLOB, 1, [Use the included glob.c?])
735 AC_LIBOBJ(glob)
736 AC_LIBOBJ(fnmatch)
737
738 dnl check if python is requested
739 AC_ARG_ENABLE(python, [  --enable-python         build rpm python bindings ],
740 [case "$enable_python" in
741 yes|no) ;;
742 *) AC_MSG_ERROR([invalid argument to --enable-python])
743   ;;
744 esac],
745 [enable_python=no])
746
747 AS_IF([test "$enable_python" = yes],[
748 # rpm-python is based on python-2.5, 
749 # with legacy hacks to allow building against python >= 2.3
750   AM_PATH_PYTHON([2.3],[
751     WITH_PYTHON_INCLUDE=`${PYTHON} -c 'from distutils.sysconfig import *; print get_python_inc()'`
752     WITH_PYTHON_SUBPACKAGE=1
753     save_CPPFLAGS="$CPPFLAGS"
754     CPPFLAGS="$CPPFLAGS -I$WITH_PYTHON_INCLUDE"
755     AC_CHECK_HEADER([Python.h],[],
756       [AC_MSG_ERROR([missing Python.h])
757       ])
758     CPPFLAGS="$save_CPPFLAGS"
759     save_LIBS="$LIBS"
760     AC_SEARCH_LIBS([Py_Main],[python${PYTHON_VERSION} python],[
761       WITH_PYTHON_LIB="$ac_res"
762     ],[AC_MSG_ERROR([missing python library])
763     ])
764     LIBS="$save_LIBS"
765   ])
766 ],[
767     WITH_PYTHON_INCLUDE=
768     WITH_PYTHON_LIB=
769     WITH_PYTHON_SUBPACKAGE=0
770 ])
771
772 AC_SUBST(WITH_PYTHON_INCLUDE)
773 AC_SUBST(WITH_PYTHON_LIB)
774
775 AM_CONDITIONAL(PYTHON,[test "$WITH_PYTHON_SUBPACKAGE" = 1])
776
777 AC_PATH_PROG(__DOXYGEN, doxygen, no, $PATH)
778 dnl
779 dnl Auto-detect whether doxygen generated API docs should be included.
780 dnl
781 AC_ARG_WITH(apidocs, [  --with-apidocs          build rpm API docs ],,[with_apidocs=auto])
782
783 case "$with_apidocs" in
784 auto)
785   AS_IF([test "$__DOXYGEN" = no],[with_apidocs=no],[with_apidocs=yes])
786   ;;
787 yes)
788   AS_IF([test "$__DOXYGEN" = no],
789     [AC_MSG_ERROR([rpm API docs needs doxygen in PATH])])
790   ;;
791 esac
792
793 WITH_SELINUX_LIB=
794 AC_ARG_WITH(selinux, [  --with-selinux          build with selinux support ],
795 [case "$with_selinux" in
796 yes|no) ;;
797 *) AC_MSG_ERROR([invalid argument to --with-selinux])
798   ;;
799 esac],
800 [with_selinux=no])
801
802 AS_IF([test "$with_selinux" = yes],[
803   AC_CHECK_HEADER([selinux/selinux.h],[
804     AC_CHECK_LIB(selinux,[is_selinux_enabled],[with_selinux=yes],[
805       AC_MSG_ERROR([--with-selinux given, but libselinux not found])])
806   ],[
807     AC_MSG_ERROR([--with-selinux given, but selinux/selinux.h not found])
808   ])
809 ])
810
811 AS_IF([test "$with_selinux" = yes],[
812   AC_DEFINE(WITH_SELINUX, 1, [Build with selinux support?])
813   WITH_SELINUX_LIB="-lselinux"
814 ])
815 AC_SUBST(WITH_SELINUX_LIB)
816 AM_CONDITIONAL(SELINUX,[test "$with_selinux" = yes])
817
818 WITH_LUA_LIB=
819 WITH_LUA_INCLUDE=
820 AC_ARG_WITH(lua, [  --with-lua              build with lua support ],,[with_lua=yes])
821 AS_IF([test "$with_lua" = yes],[
822   AC_DEFINE(WITH_LUA, 1, [Build with lua support?])
823   WITH_LUA_INCLUDE="-I\${top_srcdir}/lua/include -I\${top_srcdir}/lua/local"
824   WITH_LUA_LIB="\$(top_builddir)/lua/liblua.la"
825 ])
826 AC_SUBST(WITH_LUA_LIB)
827 AC_SUBST(WITH_LUA_INCLUDE)
828
829 AS_IF([test "$with_apidocs" = yes],[
830   WITH_APIDOCS_TARGET=apidocs
831   WITH_APIDOCS=1
832 ],[
833   WITH_APIDOCS=0
834 ])
835 AC_SUBST(WITH_APIDOCS_TARGET)
836 AC_SUBST(WITH_APIDOCS)
837
838 with_dmalloc=no
839 AC_ARG_WITH(dmalloc, [  --with-dmalloc          build with dmalloc debugging support ])
840 if test "$with_dmalloc" = yes ; then
841   AC_DEFINE(DMALLOC, 1, [Build with dmalloc support?])
842   LIBS="$LIBS -ldmalloc"
843 fi
844
845 AC_CHECK_FUNCS(setlocale)
846
847 AC_CHECK_FUNCS(getpassphrase)
848
849 AC_CHECK_FUNC(getmntent, AC_DEFINE(HAVE_GETMNTENT, 1, [Define if you have the getmntent() function]), [
850   AC_CHECK_FUNC(mntctl, AC_DEFINE(HAVE_MNTCTL, 1, [Define as 1 if you have mntctl() (only aix?)]),[
851     AC_CHECK_FUNC(getmntinfo, AC_DEFINE(HAVE_GETMNTINFO, 1, [Define as 1 if you have getmntinfo() (Mac OS X)]), [
852       AC_CHECK_FUNC(getmntinfo_r, AC_DEFINE(HAVE_GETMNTINFO_R, 1, [Define as 1 if you have getmntinfo_r() (only osf?)]), [
853         AC_CHECK_LIB(c_r, getmntinfo_r, [LIBS="$LIBS -lc_r"; 
854                                         AC_DEFINE(HAVE_GETMNTINFO_R, 1, [Define as 1 if you have getmntinfo_r() (only osf?)])], [
855                  AC_DEFINE([USE_GETMNTENT], 1, [Defined if getmntent replacement is used])
856                  AC_LIBOBJ(getmntent)])
857       ])
858     ])
859   ])
860 ])
861
862 AC_CHECK_FUNC(lchown,
863    [__CHOWN_RHF="%{__chown} -Rhf"
864     __CHGRP_RHF="%{__chgrp} -Rhf"
865     AC_DEFINE(HAVE_LCHOWN, 1, [Define as 1 if you have lchown()])],
866    [__CHOWN_RHF="%{__chown} -Rf"
867     __CHGRP_RHF="%{__chgrp} -Rf"
868     dnl Does chown() follow symlinks? This should be a good enough test.
869     AC_MSG_CHECKING(whether chown() follows symlinks)
870     AC_ARG_ENABLE([broken-chown],
871     [  --enable-broken-chown   this system's chown follows symbolic links], 
872             result=$enableval, result=unknown)
873     if echo "$build" | egrep "(aix)|(hpux)|(linux)" > /dev/null ; then
874         result=yes
875     elif echo "$build" | egrep "(nextstep)" > /dev/null ; then
876         result=no
877     fi
878     if test $result = unknown; then
879         if test `${__ID} | cut -f2 -d\= | cut -f1 -d\(` = 0; then
880             rm -f foo bar
881             touch foo
882             ln -s foo bar
883             ${__CHOWN} 10 bar
884             if test `ls -l foo | awk '{print $3}'` != "root"; then
885                 result=yes
886             else
887                 result=no
888             fi
889             ${__RM} -f foo bar
890         else
891             AC_MSG_CHECKING((cannot check by non-root user))
892             result=no
893         fi
894     fi
895
896     AC_MSG_RESULT($result)
897     if test $result = yes; then
898             AC_DEFINE(CHOWN_FOLLOWS_SYMLINK, 1, [Define as 1 if chown() follows symlinks and you don't have lchown()])
899     fi])
900 AC_SUBST(__CHOWN_RHF)
901 AC_SUBST(__CHGRP_RHF)
902
903 dnl
904 dnl figure out what root's primary group is
905 dnl
906 AC_MSG_CHECKING(root's primary group)
907 AC_RUN_IFELSE([AC_LANG_SOURCE([[#include <stdio.h>
908 #include <sys/types.h>
909 #include <pwd.h>
910 #include <grp.h>
911
912 int main()
913 {
914         struct passwd *root = NULL;
915         struct group *roots_group = NULL;
916         FILE * tempfile = NULL;
917
918         root = getpwuid( (uid_t) 0 );
919         if (root != NULL) {
920                 roots_group = getgrgid(root->pw_gid);
921                 if (roots_group != NULL) {
922                         tempfile = fopen("conftest_rootg", "w");
923                         if (tempfile != NULL) {
924                                 fprintf(tempfile, "%s\n", roots_group->gr_name);
925                                 fclose(tempfile);
926                                 exit(0);
927                         }
928                 }
929         }
930
931         exit(1);
932 }]])],[ROOT_GROUP=`cat conftest_rootg`],[ROOT_GROUP="root"],[ROOT_GROUP="root"
933 ])
934 AC_MSG_RESULT($ROOT_GROUP)
935 AC_SUBST(ROOT_GROUP)
936
937 if echo "$build_os" | grep sco > /dev/null; then
938         echo "hacking things up for sco"
939         AC_DEFINE(NEED_STRINGS_H, 1, [Define as one if we need to include <strings.h> (along with <string.h>)])
940         AC_DEFINE(HAVE_STRUCT_MNTTAB, 1,
941         [Define as 1 if you have "struct mnttab" (only sco?)])
942 elif echo "$build_os" | grep sunos > /dev/null; then
943         echo "hacking things up for sunos"
944         CFLAGS="$CFLAGS -D__USE_FIXED_PROTOTYPES__"
945         AC_DEFINE(NEED_STRINGS_H, 1, [Define as one if we need to include <strings.h> (along with <string.h>)])
946         AC_DEFINE(NEED_MYREALLOC, 1, [Define as 1 if we need myrealloc])
947         AC_LIBOBJ(myrealloc)
948 fi
949
950 #
951 # get rid of the 4-th tuple, if config.guess returned "linux-gnu" for build_os
952 #
953 build_os_gnu=-gnu
954 if echo "$build_os" | grep '.*-gnulibc1' > /dev/null ; then
955         build_os=`echo "${build_os}" | sed 's/-gnulibc1$//'`
956 fi
957 if echo "$build_os" | grep '.*-gnueabi' > /dev/null ; then
958         build_os=`echo "${build_os}" | sed 's/-gnueabi$//'`
959         build_os_gnu=-gnueabi
960 fi
961 if echo "$build_os" | grep '.*-gnu' > /dev/null ; then
962         build_os=`echo "${build_os}" | sed 's/-gnu$//'`
963 fi
964
965 changequote(<, >)
966 build_os_exact="${build_os}"
967 build_os_major=`echo "${build_os}" | sed 's/\..*$//'`
968 build_os_noversion=`echo "${build_os}" | sed 's/[0-9]*\..*$//'`
969 changequote([, ])
970
971 rm -f ./find-provides
972 if test -f ${srcdir}/autodeps/${build_cpu}-${build_os_exact}.prov ; then
973         echo "using ${srcdir}/autodeps/${build_cpu}-${build_os_exact}.prov for automatic provides generation"
974     ln -s ${srcdir}/autodeps/${build_cpu}-${build_os_exact}.prov ./find-provides
975 elif test -f ${srcdir}/autodeps/${build_os_exact}.prov ; then
976         echo "using ${srcdir}/autodeps/${build_os_exact}.prov for automatic provides generation"
977     ln -s ${srcdir}/autodeps/${build_os_exact}.prov ./find-provides
978 elif test -f ${srcdir}/autodeps/${build_os_major}.prov ; then
979         echo "using ${srcdir}/autodeps/${build_os_major}.prov for automatic provides generation"
980     ln -s ${srcdir}/autodeps/${build_os_major}.prov ./find-provides
981 elif test -f ${srcdir}/autodeps/${build_os_noversion}.prov ; then
982         echo "using ${srcdir}/autodeps/${build_os_noversion}.prov for automatic provides generation"
983     ln -s ${srcdir}/autodeps/${build_os_noversion}.prov ./find-provides
984 else
985     echo "*** no default provides information is available for ${build_os_noversion}"
986     ln -s ${srcdir}/autodeps/none ./find-provides
987 fi
988
989 rm -f ./find-requires
990 if test -f ${srcdir}/autodeps/${build_cpu}-${build_os_exact}.req ; then
991         echo "using ${srcdir}/autodeps/${build_cpu}-${build_os_exact}.req for automatic requires generation"
992     ln -s ${srcdir}/autodeps/${build_cpu}-${build_os_exact}.req ./find-requires
993 elif test -f ${srcdir}/autodeps/${build_os_exact}.req ; then
994         echo "using ${srcdir}/autodeps/${build_os_exact}.req for automatic requires generation"
995     ln -s ${srcdir}/autodeps/${build_os_exact}.req ./find-requires
996 elif test -f ${srcdir}/autodeps/${build_os_major}.req ; then
997         echo "using ${srcdir}/autodeps/${build_os_major}.req for automatic requires generation"
998     ln -s ${srcdir}/autodeps/${build_os_major}.req ./find-requires
999 elif test -f ${srcdir}/autodeps/${build_os_noversion}.req ; then
1000         echo "using ${srcdir}/autodeps/${build_os_noversion}.req for automatic requires generation"
1001     ln -s ${srcdir}/autodeps/${build_os_noversion}.req ./find-requires
1002 else
1003     echo "*** no default requires information is available for ${build_os_noversion}"
1004     ln -s ${srcdir}/autodeps/none ./find-requires
1005 fi
1006
1007 dnl Determine the canonical arch-vendor-os for the build machine
1008 autorelocate_path='%{nil}'
1009 autorelocate_dcolor='0'
1010 case "${build_cpu}" in
1011 *86)            RPMCANONCOLOR=0; RPMCANONARCH=i386 ;;
1012 ia32e*)         RPMCANONCOLOR=3; RPMCANONARCH=ia32e ;;
1013 amd64*)         RPMCANONCOLOR=3; RPMCANONARCH=amd64 ;;
1014 x86_64*)        RPMCANONCOLOR=3; RPMCANONARCH=x86_64 ;;
1015 alpha*)         RPMCANONCOLOR=0; RPMCANONARCH=alpha ;;
1016 sparc64*)       RPMCANONCOLOR=3; RPMCANONARCH=sparc64 ;;
1017 sparc*)         RPMCANONCOLOR=3; RPMCANONARCH=sparc ;;
1018 ia64*)          RPMCANONCOLOR=2; RPMCANONARCH=ia64;
1019                 autorelocate_path='/emul/%%{ARCH}-%%{OS}'
1020                 autorelocate_dcolor='1' ;;
1021 s390x*)         RPMCANONCOLOR=3; RPMCANONARCH=s390x ;;
1022 s390*)          RPMCANONCOLOR=0; RPMCANONARCH=s390 ;;
1023 powerpc64*|ppc64*)      RPMCANONCOLOR=3; RPMCANONARCH=ppc64 ;;
1024 powerpc*|ppc*)  RPMCANONCOLOR=0; RPMCANONARCH=ppc ;;
1025 arm*)           RPMCANONCOLOR=0; RPMCANONARCH=arm ;;
1026 mipsel*)        RPMCANONCOLOR=0; RPMCANONARCH=mipsel ;;
1027 mips*)          RPMCANONCOLOR=0; RPMCANONARCH=mips ;;
1028 m68k*)          RPMCANONCOLOR=0; RPMCANONARCH=m68k ;;
1029 *)              RPMCANONCOLOR=0; RPMCANONARCH=unknown ;;
1030 esac
1031 case "${build_os_noversion}" in
1032 mint)           RPMCANONARCH=m68kmint ;;
1033 esac
1034 RPMCANONVENDOR="$build_vendor"
1035 case "${build_vendor}" in
1036 unknown|pc|ibm|redhat|pld|mandrake|conectiva|lvr|yellowdog|caos)
1037         test -f /etc/redhat-release &&          RPMCANONVENDOR=redhat
1038         test -f /etc/pld-release &&             RPMCANONVENDOR=pld
1039         test -f /etc/mandrake-release &&        RPMCANONVENDOR=mandrake
1040         test -f /etc/conectiva-release &&       RPMCANONVENDOR=conectiva
1041         test -f /etc/lvr-release &&             RPMCANONVENDOR=lvr
1042         test -f /etc/yellowdog-release &&       RPMCANONVENDOR=yellowdog
1043         test -f /etc/caos-release &&            RPMCANONVENDOR=caos
1044         ;;
1045 esac
1046 RPMCANONOS="$build_os_noversion"
1047 RPMCANONGNU="$build_os_gnu"
1048 AC_SUBST(RPMCANONCOLOR)
1049 AC_SUBST(autorelocate_path)
1050 AC_SUBST(autorelocate_dcolor)
1051 AC_SUBST(RPMCANONARCH)
1052 AC_SUBST(RPMCANONVENDOR)
1053 AC_SUBST(RPMCANONOS)
1054 AC_SUBST(RPMCANONGNU)
1055 AC_DEFINE_UNQUOTED([RPMCANONVENDOR],["${RPMCANONVENDOR}"],[canonical vendor])
1056
1057 if test X"$prefix" = XNONE ; then
1058     usrprefix="$ac_default_prefix"
1059 else
1060     usrprefix=$prefix
1061 fi
1062
1063 RPMCONFIGDIR="`echo ${usrprefix}/lib/rpm`"
1064 AC_SUBST(RPMCONFIGDIR)
1065
1066 AC_SUBST(OBJDUMP)
1067
1068 AC_CONFIG_SUBDIRS(db3)
1069
1070 AM_CONDITIONAL([WITH_INTERNAL_DB],[test "$with_internal_db" = yes])
1071
1072 AC_PATH_PROG(AUTOM4TE,autom4te,:)
1073
1074 AC_CONFIG_FILES([ Doxyfile Makefile
1075         rpmio/Makefile rpmdb/Makefile lib/Makefile build/Makefile
1076         po/Makefile.in scripts/Makefile 
1077         misc/Makefile 
1078         doc/Makefile
1079         python/Makefile
1080         lua/Makefile
1081         tests/Makefile
1082   ])
1083 AC_OUTPUT