Reduce minimum python version to 2.4.
[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(__FILE, file, /usr/bin/file, $MYPATH)
230 AC_PATH_PROG(__GPG, gpg, /usr/bin/gpg, $MYPATH)
231 AC_PATH_PROG(__GREP, grep, /bin/grep, $MYPATH)
232 AC_PATH_PROG(GZIPBIN, gzip, /bin/gzip, $MYPATH)
233 AC_PATH_PROG(UNZIPBIN, unzip, /usr/bin/unzip, $MYPATH)
234
235 AC_PATH_PROG(__ID, id, /usr/bin/id, $MYPATH)
236 AC_MSG_CHECKING(checking whether id supports -u)
237     if ${__ID} -u 2>&1 > /dev/null ; then
238         __ID_U="%{__id} -u"
239         AC_MSG_RESULT(yes)
240     else
241         __ID_U="%{__id} | %{__sed} 's/[[^=]]*=\\\\([[0-9]][[0-9]]*\\\\).*$/\\\\1/'"
242         AC_MSG_RESULT(no)
243     fi
244 AC_SUBST(__ID_U)
245
246 AC_PATH_PROG(__INSTALL, install, /usr/bin/install, $MYPATH)
247 AC_PATH_PROG(__MAKE, make, /usr/bin/make, $MYPATH)
248 AC_PATH_PROG(__MKDIR, mkdir, /bin/mkdir, $MYPATH)
249 AC_PATH_PROG(__MV, mv, /bin/mv, $MYPATH)
250 AC_PATH_PROG(__PATCH, patch, /usr/bin/patch, $MYPATH)
251 AC_MSG_CHECKING(old version of patch)
252     PATCHVERSION=`patch --version 2>&1`
253
254     if test "$PATCHVERSION" = "Patch version 2.1"; then
255         AC_DEFINE(HAVE_OLDPATCH_21, 1,
256                 [Define if the patch call you'll be using is 2.1 or older])
257         AC_MSG_RESULT(patch older then 2.2 found)
258     else
259         AC_MSG_RESULT(patch later then 2.2 found)
260     fi
261
262 AC_PATH_PROG(__PERL, perl, /usr/bin/perl, $MYPATH)
263 AC_PATH_PROG(PGPBIN, pgp, /usr/bin/pgp, $MYPATH)
264 AC_PATH_PROG(__PYTHON, python, /usr/bin/python, $MYPATH) 
265 AC_PATH_PROG(__RM, rm, /bin/rm, $MYPATH)
266 AC_PATH_PROG(__RSH, rsh, /usr/bin/rsh, $MYPATH)
267 AC_PATH_PROG(__SED, sed, /bin/sed, $MYPATH)
268 AC_PATH_PROG(__SSH, ssh, /usr/bin/ssh, $MYPATH)
269 AC_PATH_PROG(__TAR, tar, /bin/tar, $MYPATH)
270
271 AC_PATH_PROG(__LD, ld, /usr/bin/ld, $MYPATH)
272 AC_PATH_PROG(__NM, nm, /usr/bin/nm, $MYPATH)
273 AC_PATH_PROG(__OBJCOPY, objcopy, /usr/bin/objcopy, $MYPATH)
274 AC_PATH_PROG(__OBJDUMP, objdump, /usr/bin/objdump, $MYPATH)
275 AC_PATH_PROG(__STRIP, strip, /usr/bin/strip, $MYPATH)
276
277 addlib() {
278   l=$1
279   shift
280   case "$host" in 
281     *-*-solaris*)       LIBS="$LIBS -L$l -R$l $*";;
282     *)          LIBS="$LIBS -L$l $*";;
283   esac
284 }
285
286 #=================
287 # Check for zlib library. 
288
289 WITH_ZLIB_INCLUDE=
290 WITH_ZLIB_LIB=
291
292 if test -z "${WITH_ZLIB_LIB}" ; then
293   for zlib in z gz ; do
294    AC_CHECK_LIB(${zlib}, gzread, 
295         [WITH_ZLIB_LIB="-l${zlib}"; break], 
296         [if test ${zlib} = gz; then 
297             AC_MSG_ERROR([sorry rpm requires libz.a or libgz.a (from the zlib package)]) 
298          fi]
299                )
300   done
301
302 dnl zlib-1.0.4 has not gzseek
303   AC_CHECK_LIB(${zlib}, gzseek, [AC_DEFINE(HAVE_GZSEEK, 1, [Define as 1 if your zlib has gzseek()])])
304 fi
305
306 AC_SUBST(WITH_ZLIB_INCLUDE)
307 AC_SUBST(WITH_ZLIB_LIB)
308
309 #=================
310 # Check for bzip2 library.
311
312 AC_CHECK_LIB(bz2, bzread, [LIBS="$LIBS -lbz2"], 
313    AC_CHECK_LIB(bz2, BZ2_bzread, [
314      WITH_BZIP2=1
315      LIBS="$LIBS -lbz2"
316      AC_DEFINE(HAVE_BZ2_1_0, 1, [Define as 1 if you bzip2 1.0]) ], 
317      WITH_BZIP2=0))
318 AC_SUBST(WITH_BZIP2)
319
320 #=================
321
322 dirs=$prefix
323 AC_MSG_CHECKING(for /usr/ucblib in LIBS)
324 if test -d /usr/ucblib ; then
325         if test "$build" = "mips-sni-sysv4" ; then
326                 addlib /usr/ccs/lib -lc
327         fi
328
329         addlib /usr/ucblib
330         
331         AC_MSG_RESULT(yes)
332 else
333         AC_MSG_RESULT(no)
334 fi
335
336 dnl
337 dnl Check for features
338 dnl
339
340 dnl Checks for libraries.
341
342 AC_CHECK_FUNC(setreuid, [], [
343     AC_CHECK_LIB(ucb, setreuid, [if echo $LIBS | grep -- -lucb >/dev/null ;then :; else LIBS="$LIBS -lc -lucb" USEUCB=y;fi])
344 ])
345
346 AC_CHECK_FUNC(rand, [], [
347     AC_CHECK_LIB(rand, rand, [])
348 ])
349
350 AC_CHECK_FUNC(getdomainname, [], [
351     AC_CHECK_LIB(nsl, getdomainname)
352 ])
353 AC_CHECK_FUNC(socket, [], [
354     AC_CHECK_LIB(socket, socket)
355 ])
356
357 AC_CHECK_HEADERS(error.h)
358 AC_CHECK_FUNCS(error)
359
360 AC_CHECK_HEADERS(poll.h)
361
362 AC_CHECK_HEADERS(thread.h pthread.h synch.h semaphore.h)
363
364 AC_CHECK_LIB(pthread, pthread_mutex_trylock, [], [
365   dnl OSF 5.0 has the the symbols prefixed with __ in libpthread.
366   AC_CHECK_LIB(pthread, __pthread_mutex_trylock, [], [
367     AC_CHECK_LIB(thread, mutex_lock)
368   ])
369 ])
370
371 AC_CHECK_HEADERS(aio.h)
372 AC_SEARCH_LIBS(aio_read, [c rt aio posix4])
373
374 dnl Better not use fchmod at all.
375 AC_CHECK_FUNC(fchmod)
376
377 AC_CHECK_FUNCS(vsnprintf snprintf)
378
379 dnl Temporary hack for MiNT.  Some functions (writev, snprintf) are
380 dnl not in the libc but in libport (for political reasons).  This check
381 dnl can hopefully be removed soon.  Please use the default action
382 dnl for this macro (not LIBS=...), otherwise the check for dbopen
383 dnl will fail.
384 AC_CHECK_LIB(port, writev)
385
386 #=================
387 # Check for libelf library. Prefer external, otherwise none.
388 WITH_LIBELF_INCLUDE=
389 WITH_LIBELF_LIB=
390 AC_CHECK_HEADER([libelf.h])
391 AC_CHECK_HEADERS([gelf.h], [
392         AC_CHECK_LIB(elf, gelf_getvernaux, [
393             AC_DEFINE(HAVE_LIBELF, 1, [Define to 1 if you have the 'elf' library (-lelf).])
394             WITH_LIBELF_LIB="-lelf"
395             WITH_LIBELF=yes
396         ])
397 ])
398 AC_SUBST(WITH_LIBELF_INCLUDE)
399 AC_SUBST(WITH_LIBELF_LIB)
400 AM_CONDITIONAL(LIBELF,[test "$WITH_LIBELF" = yes])
401
402 AC_CHECK_HEADERS([dwarf.h], [
403   WITH_LIBDWARF=yes
404 ])
405 AM_CONDITIONAL(LIBDWARF,[test "$WITH_LIBDWARF" = yes])
406
407 #=================
408 # Check for beecrypt library.
409 WITH_BEECRYPT_INCLUDE=
410 WITH_BEECRYPT_LIB=
411 AC_CHECK_HEADERS([beecrypt/beecrypt.h], [
412   AC_CHECK_LIB(beecrypt, mpfprintln, [
413     AC_CHECK_HEADERS([beecrypt/api.h])
414     WITH_BEECRYPT_INCLUDE=
415     WITH_BEECRYPT_LIB="-lbeecrypt"
416   ],[
417     AC_MSG_ERROR([missing required library beecrypt])
418   ])
419 ],[
420   AC_MSG_ERROR([missing required header beecrypt/beecrypt.h])
421 ])
422 AC_SUBST(WITH_BEECRYPT_INCLUDE)
423 AC_SUBST(WITH_BEECRYPT_LIB)
424
425 #=================
426 # Check for neon library. Prefer external, otherwise none.
427 AC_ARG_WITH(neon, [  --with-neon        enable neon support],
428 [case "$with_neon" in
429 yes|no) ;;
430 *) AC_MSG_ERROR([invalid argument to --with-neon])
431   ;;
432 esac],
433 [with_neon=no])
434
435 WITH_NEON_INCLUDE=
436 WITH_NEON_LIB=
437 AS_IF([test "$with_neon" = yes],[
438   AC_CHECK_HEADER([neon/ne_session.h], [
439     AC_CHECK_LIB(neon, ne_session_create, [
440       AC_DEFINE(HAVE_LIBNEON, 1, [Define to 1 if you have the 'neon' library (-lneon).])
441       AC_CHECK_LIB(neon, ne_get_response_header, [
442         AC_DEFINE(HAVE_NEON_NE_GET_RESPONSE_HEADER, 1, [Define to 1 if you have ne_get_response_header() in libneon.])
443       ])
444       AC_CHECK_LIB(neon, ne_send_request_chunk, [
445         AC_DEFINE(HAVE_NEON_NE_SEND_REQUEST_CHUNK, 1, [Define to 1 if you have ne_send_request_chunk() in libneon.])
446       ])
447       WITH_NEON_INCLUDE=
448       WITH_NEON_LIB="-lneon"
449       AC_DEFINE(WITH_NEON,1,[Build with neon support?])
450     ],[
451       AC_MSG_ERROR([--with-neon given, but required library libneon not found])
452     ])
453   ],[
454     AC_MSG_ERROR([--with-neon given, but required header neon/ne_session.h not found])
455   ])
456 ])
457 AC_SUBST(WITH_NEON_INCLUDE)
458 AC_SUBST(WITH_NEON_LIB)
459
460 #=================
461 # Check for magic library.
462 WITH_MAGIC_INCLUDE=
463 WITH_MAGIC_LIB=
464
465 AC_CHECK_HEADER([magic.h], [
466     AC_CHECK_LIB(magic, magic_open, [
467       WITH_MAGIC_INCLUDE=
468       WITH_MAGIC_LIB="-lmagic"
469     ],[
470       AC_MSG_ERROR([missing required libary 'libmagic']) 
471     ])
472 ],[
473       AC_MSG_ERROR([missing required header magic.h]) 
474 ])
475
476 AC_SUBST(WITH_MAGIC_INCLUDE)
477 AC_SUBST(WITH_MAGIC_LIB)
478
479 #=================
480 # Check for popt library.
481 WITH_POPT_INCLUDE=
482 WITH_POPT_LIB=
483
484 AC_CHECK_HEADER([popt.h], [
485   AC_CHECK_LIB(popt, poptGetContext, [
486       WITH_POPT_INCLUDE=
487       WITH_POPT_LIB="-lpopt"
488       WITH_POPT=yes
489   ],[
490     AC_MSG_ERROR([missing required library popt])
491   ])
492 ],[
493   AC_MSG_ERROR([missing required header popt.h])
494 ])
495
496 AC_SUBST(WITH_POPT_INCLUDE)
497 AC_SUBST(WITH_POPT_LIB)
498
499 #=================
500
501 dnl ------------------ with    internal db
502 AC_DEFINE(HAVE_DB3_DB_H, 1, [Define if you have the <db3/db.h> header file])
503 WITH_DB_SUBDIR=db3
504
505 AC_SUBST(WITH_DB_SUBDIR)
506
507 #=================
508 # Check for sqlite3 library.
509 AC_ARG_ENABLE(sqlite3, [  --enable-sqlite3        enable sqlite3 support],
510 [case "$enable_sqlite3" in
511 yes|no) ;;
512 *) AC_MSG_ERROR([invalid argument to --enable-sqlite3])
513   ;;
514 esac],
515 [enable_sqlite3=no])
516
517 WITH_SQLITE3_INCLUDE=
518 WITH_SQLITE3_LIB=
519 WITH_SQLITE3=no
520 AS_IF([test "$enable_sqlite3" = yes],[
521   AC_CHECK_HEADERS([sqlite3.h],
522   [ AC_CHECK_LIB(sqlite3, sqlite3_open, [
523       WITH_SQLITE3_INCLUDE=
524       WITH_SQLITE3_LIB="-lsqlite3"
525       WITH_SQLITE3=yes
526     ],[
527       AC_MSG_ERROR([missing libsqlite3])
528     ])
529   ],[
530     AC_MSG_ERROR([missing sqlite3.h])
531   ])
532 ])
533
534 AC_SUBST(WITH_SQLITE3_INCLUDE)
535 AC_SUBST(WITH_SQLITE3_LIB)
536 AM_CONDITIONAL([SQLITE3],[test "$WITH_SQLITE3" = yes])
537
538 #=================
539
540 dnl AmigaOS and IXEmul have a fork() dummy
541   case "$host" in
542     m68k-*-amigaos ) 
543         echo "Building for AmigaOS: using vfork() instead of fork()"; 
544         CFLAGS="$CFLAGS -Dfork=vfork" 
545         ;;
546   esac
547
548 AM_GNU_GETTEXT_VERSION([0.16.1])
549 AM_GNU_GETTEXT([external])
550
551 dnl Checks for header files we can live without.
552 AC_HEADER_STDC
553 AC_HEADER_MAJOR
554 AC_HEADER_DIRENT
555 AC_HEADER_TIME
556
557 AC_CHECK_HEADERS(fcntl.h getopt.h grp.h memory.h netdb.h pwd.h utime.h)
558
559 AC_CHECK_HEADERS(sys/ipc.h sys/socket.h sys/select.h)
560 AC_CHECK_HEADERS(sys/types.h sys/stdtypes.h)
561 AC_CHECK_HEADERS(sys/mman.h sys/resource.h sys/utsname.h sys/wait.h)
562
563 AC_CHECK_HEADERS(netinet/in_systm.h)
564 AC_CHECK_HEADERS(machine/types.h)
565 AC_CHECK_HEADERS(mntent.h sys/mnttab.h sys/systemcfg.h)
566 AC_CHECK_HEADERS(sys/mount.h sys/mntctl.h sys/param.h sys/vmount.h)
567 AC_CHECK_HEADERS(bzlib.h libio.h zlib.h)
568 AC_CHECK_HEADERS(err.h mcheck.h)
569 AC_CHECK_HEADERS(pthread.h)
570
571 AC_CHECK_HEADERS(glob.h)
572 AC_CHECK_HEADERS(locale.h)
573
574 dnl statfs portability fiddles.
575 dnl
576 dnl We should really emulate/steal sections of the statfs and struct statfs
577 dnl checks from GNU fileutils.
578 dnl
579 AC_MSG_CHECKING(for struct statfs)
580
581 dnl
582 dnl this is easier than nesting AC_TRY_COMPILEs...
583 dnl
584 found_struct_statfs=no
585
586 if test X$found_struct_statfs = Xno ; then
587 dnl Solaris 2.6+ wants to use statvfs
588 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
589 #ifdef HAVE_SYS_TYPES_H
590 #include <sys/types.h>
591 #endif
592 #include <sys/statvfs.h> ]], [[struct statvfs sfs;]])],[AC_MSG_RESULT(in sys/statvfs.h)
593         AC_DEFINE(STATFS_IN_SYS_STATVFS, 1,
594                 [statfs in <sys/statvfs.h> (for solaris 2.6+ systems)])
595         found_struct_statfs=yes],[])
596 fi
597
598 if test X$found_struct_statfs = Xno ; then
599 dnl first try including sys/vfs.h
600 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
601 #ifdef HAVE_SYS_TYPES_H
602 #include <sys/types.h>
603 #endif
604 #include <sys/vfs.h> ]], [[struct statfs sfs;]])],[AC_MSG_RESULT(in sys/vfs.h)
605         AC_DEFINE(STATFS_IN_SYS_VFS, 1, [statfs in <sys/vfs.h> (for linux systems)])
606         found_struct_statfs=yes],[])
607 fi
608
609 if test X$found_struct_statfs = Xno ; then
610 dnl ...next try including sys/mount.h
611 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
612 #ifdef HAVE_SYS_TYPES_H
613 #include <sys/types.h>
614 #endif
615 #ifdef HAVE_SYS_PARAM_H
616 #include <sys/param.h>
617 #endif
618 #include <sys/mount.h> ]], [[struct statfs sfs;]])],[AC_MSG_RESULT(in sys/mount.h)
619         AC_DEFINE(STATFS_IN_SYS_MOUNT, 1, [statfs in <sys/mount.h> (for Digital Unix 4.0D systems)])
620         found_struct_statfs=yes],[])
621 fi
622
623 if test X$found_struct_statfs = Xno ; then
624 dnl ...still no joy.  Try sys/statfs.h
625 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
626 #ifdef HAVE_SYS_TYPES_H
627 #include <sys/types.h>
628 #endif
629 #include <sys/statfs.h> ]], [[struct statfs sfs;]])],[AC_MSG_RESULT(in sys/statfs.h)
630         AC_DEFINE(STATFS_IN_SYS_STATFS, 1, [statfs in <sys/statfs.h> (for Irix 6.4 systems)])
631         found_struct_statfs=yes],[])
632 fi
633
634 if test X$found_struct_statfs = Xno ; then
635 dnl ...no luck.  Warn the user of impending doom.
636 AC_MSG_WARN(not found)
637 fi
638
639 dnl
640 dnl if we found the struct, see if it has the f_bavail member.  Some OSes
641 dnl don't, including IRIX 6.5+
642 dnl
643 if test X$found_struct_statfs = Xyes ; then
644 AC_MSG_CHECKING(for f_bavail member in struct statfs)
645 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
646 #ifdef HAVE_SYS_TYPES_H
647 #include <sys/types.h>
648 #endif
649 #if STATFS_IN_SYS_STATVFS
650 # include <sys/statvfs.h>
651   typedef struct statvfs STATFS_t;
652 #else
653   typedef struct statfs STATFS_t;
654 # if STATFS_IN_SYS_VFS
655 #  include <sys/vfs.h>
656 # elif STATFS_IN_SYS_MOUNT
657 #  include <sys/mouht.h>
658 # elif STATFS_IN_SYS_STATFS
659 #  include <sys/statfs.h>
660 # endif
661 #endif ]], [[STATFS_t sfs;
662         sfs.f_bavail = 0;]])],[AC_MSG_RESULT(yes)
663         AC_DEFINE(STATFS_HAS_F_BAVAIL, 1, [Define if struct statfs has the f_bavail member])],[AC_MSG_RESULT(no)
664 ])
665 fi
666
667 if test X$found_struct_statfs = Xyes ; then
668 dnl
669 dnl now check to see if we have the 4-argument variant of statfs()
670 dnl this pretty much requires AC_RUN_IFELSE([AC_LANG_SOURCE([[]])],[],[],[])
671 dnl
672 AC_MSG_CHECKING([if statfs() requires 4 arguments])
673 AC_RUN_IFELSE([AC_LANG_SOURCE([[
674 #ifdef HAVE_SYS_TYPES_H
675 #include <sys/types.h>
676 #endif
677 #ifdef STATFS_IN_SYS_VFS
678 #include <sys/vfs.h>
679 #elif STATFS_IN_SYS_MOUNT
680 #include <sys/mouht.h>
681 #elif STATFS_IN_SYS_STATFS
682 #include <sys/statfs.h>
683 #endif
684 main() {
685         struct statfs sfs;
686         exit (statfs(".", &sfs, sizeof(sfs), 0));
687 }
688 ]])],[AC_MSG_RESULT(yes)
689         AC_DEFINE(STAT_STATFS4, 1, [Define if the statfs() call takes 4 arguments])],[AC_MSG_RESULT(no)],[AC_MSG_RESULT(no)
690 ])
691 fi
692
693 AC_C_INLINE
694
695 dnl look for libc features
696 PROVIDES_ERRNO=no
697 AC_MSG_CHECKING(if <netdb.h> defines h_errno)
698 AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include <netdb.h>]], [[printf("%d",h_errno)]])],[PROVIDES_ERRNO=yes],[])
699 AC_MSG_RESULT($PROVIDES_ERRNO)
700 if test $PROVIDES_ERRNO = yes; then
701         AC_DEFINE(HAVE_HERRNO, 1, [ Define as 1 if <netdb.h> defines h_errno])
702 fi
703
704 dnl If a system doesn't have S_IFSOCK, define it as 0 which will
705 dnl make S_ISSOCK always return false (nice, eh?)
706 AC_MSG_CHECKING(if <sys/stat.h> defines S_IFSOCK)
707 AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include <sys/stat.h>]], [[printf("%d", S_IFSOCK)]])],[HAS_S_IFSOCK=yes],[HAS_S_IFSOCK=no])
708 AC_MSG_RESULT($HAS_S_IFSOCK)
709 if test $HAS_S_IFSOCK = yes; then
710         AC_DEFINE(HAVE_S_IFSOCK, 1, [Define as 1 if <sys/stat.h> defines S_IFSOCK])
711 fi
712
713 dnl Some Unix's are missing S_ISLNK, S_ISSOCK
714 AC_MSG_CHECKING(if <sys/stat.h> defines S_ISLNK)
715 AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include <sys/stat.h>]], [[printf("%d", S_ISLNK(0755))]])],[HAS_S_ISLNK=yes],[HAS_S_ISLNK=no])
716 AC_MSG_RESULT($HAS_S_ISLNK)
717 if test $HAS_S_ISLNK = yes; then
718         AC_DEFINE(HAVE_S_ISLNK, 1, [Define as 1 if <sys/stat.h> defines S_ISLNK])
719 fi
720
721 AC_MSG_CHECKING(if <sys/stat.h> defines S_ISSOCK)
722 AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include <sys/stat.h>]], [[printf("%d", S_ISSOCK(0755))]])],[HAS_S_ISSOCK=yes],[HAS_S_ISSOCK=no])
723 AC_MSG_RESULT($HAS_S_ISSOCK)
724 if test $HAS_S_ISSOCK = yes; then
725         AC_DEFINE(HAVE_S_ISSOCK, 1, [Define as 1 if <sys/stat.h> defines S_ISSOCK])
726 fi
727
728 AC_MSG_CHECKING(if timezone is defined)
729 AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include <time.h>]], [[printf("%ld", timezone)]])],[HAS_TIMEZONE=yes],[HAS_TIMEZONE=no])
730 AC_MSG_RESULT($HAS_TIMEZONE)
731
732 dnl Check for missing typedefs
733 AC_TYPE_MODE_T
734 AC_TYPE_OFF_T
735 AC_TYPE_PID_T
736 AC_TYPE_SIZE_T
737
738 dnl Checks for library functions.
739 AC_FUNC_ALLOCA
740 AC_FUNC_VPRINTF
741 dnl XXX don't want to re-enable code that's been unused for years at this
742 dnl point, but should offer good performance improvements, check after
743 dnl 4.4.2.1...
744 dnl AC_FUNC_MMAP
745
746 AC_CHECK_FUNCS(basename getaddrinfo getcwd getnameinfo getwd inet_aton)
747 AC_CHECK_FUNCS(mtrace putenv realpath setenv)
748 AC_CHECK_FUNCS(stpcpy stpncpy strcspn)
749 AC_CHECK_FUNCS(strdup strndup strerror strtol strtoul strspn strstr)
750
751 AC_CHECK_FUNCS(__secure_getenv)
752
753 AC_CHECK_FUNCS(regcomp)
754
755 AC_CHECK_FUNCS(ftok)
756
757 AC_CHECK_FUNCS(mkstemp)
758
759 dnl XXX Glob *is* broken on linux with libc5, solaris and possibly aix when
760 dnl %files gets something like
761 dnl     /usr/*/locale/*/LC_MESSAGES/*.mo
762 dnl (Note: more than one asterisk in glob pattern.)
763 dnl
764 dnl XXX Glob is "fixed" in glibc-2.3.3-61, but the cost is that
765 dnl dangling symlinks are no longer globbed. Always use the internal glob.
766 AC_DEFINE(USE_GNU_GLOB, 1, [Use the included glob.c?])
767 AC_LIBOBJ(glob)
768 AC_LIBOBJ(fnmatch)
769
770 dnl check if python is requested
771 AC_ARG_ENABLE(python, [  --enable-python           build rpm python bindings ],
772 [case "$enable_python" in
773 yes|no) ;;
774 *) AC_MSG_ERROR([invalid argument to --enable-python])
775   ;;
776 esac],
777 [enable_python=no])
778
779 AS_IF([test "$enable_python" = yes],[
780 # rpm-python is based on python-2.5, 
781 # with legacy hacks for building against 2.4
782   AM_PATH_PYTHON([2.4],[
783     WITH_PYTHON_INCLUDE=`${PYTHON} -c 'from distutils.sysconfig import *; print get_python_inc()'`
784     WITH_PYTHON_SUBPACKAGE=1
785     save_CPPFLAGS="$CPPFLAGS"
786     CPPFLAGS="$CPPFLAGS -I$WITH_PYTHON_INCLUDE"
787     AC_CHECK_HEADER([Python.h],[],
788       [AC_MSG_ERROR([missing Python.h])
789       ])
790     CPPFLAGS="$save_CPPFLAGS"
791     save_LIBS="$LIBS"
792     AC_SEARCH_LIBS([Py_Main],[python${PYTHON_VERSION} python],[
793       WITH_PYTHON_LIB="$ac_res"
794     ],[AC_MSG_ERROR([missing python library])
795     ])
796     LIBS="$save_LIBS"
797   ])
798 ],[
799     WITH_PYTHON_INCLUDE=
800     WITH_PYTHON_LIB=
801     WITH_PYTHON_SUBPACKAGE=0
802 ])
803
804 AC_SUBST(WITH_PYTHON_INCLUDE)
805 AC_SUBST(WITH_PYTHON_LIB)
806
807 AM_CONDITIONAL(PYTHON,[test "$WITH_PYTHON_SUBPACKAGE" = 1])
808
809 AC_PATH_PROG(__DOXYGEN, doxygen, no, $PATH)
810 dnl
811 dnl Auto-detect whether doxygen generated API docs should be included.
812 dnl
813 AC_ARG_WITH(apidocs, [  --with-apidocs          build rpm API docs ],,[with_apidocs=auto])
814
815 case "$with_apidocs" in
816 auto)
817   AS_IF([test "$__DOXYGEN" = no],[with_apidocs=no],[with_apidocs=yes])
818   ;;
819 yes)
820   AS_IF([test "$__DOXYGEN" = no],
821     [AC_MSG_ERROR([rpm API docs needs doxygen in PATH])])
822   ;;
823 esac
824
825 WITH_SELINUX_LIB=
826 AC_ARG_WITH(selinux, [  --with-selinux          build with selinux support ],
827 [case "$with_selinux" in
828 yes|no) ;;
829 *) AC_MSG_ERROR([invalid argument to --with-selinux])
830   ;;
831 esac],
832 [with_selinux=no])
833
834 AS_IF([test "$with_selinux" = yes],[
835   AC_CHECK_HEADER([selinux/selinux.h],[
836     AC_CHECK_LIB(selinux,[is_selinux_enabled],[with_selinux=yes],[
837       AC_MSG_ERROR([--with-selinux given, but libselinux not found])])
838   ],[
839     AC_MSG_ERROR([--with-selinux given, but selinux/selinux.h not found])
840   ])
841 ])
842
843 AS_IF([test "$with_selinux" = yes],[
844   AC_DEFINE(WITH_SELINUX, 1, [Build with selinux support?])
845   WITH_SELINUX_LIB="-lselinux"
846 ])
847 AC_SUBST(WITH_SELINUX_LIB)
848 AM_CONDITIONAL(SELINUX,[test "$with_selinux" = yes])
849
850 WITH_LUA_LIB=
851 WITH_LUA_INCLUDE=
852 AC_ARG_WITH(lua, [  --with-lua              build with lua support ],,[with_lua=yes])
853 AS_IF([test "$with_lua" = yes],[
854   AC_DEFINE(WITH_LUA, 1, [Build with lua support?])
855   WITH_LUA_INCLUDE="-I\${top_srcdir}/lua/include -I\${top_srcdir}/lua/local"
856   WITH_LUA_LIB="\$(top_builddir)/lua/liblua.la"
857 ])
858 AC_SUBST(WITH_LUA_LIB)
859 AC_SUBST(WITH_LUA_INCLUDE)
860
861 AS_IF([test "$with_apidocs" = yes],[
862   WITH_APIDOCS_TARGET=apidocs
863   WITH_APIDOCS=1
864 ],[
865   WITH_APIDOCS=0
866 ])
867 AC_SUBST(WITH_APIDOCS_TARGET)
868 AC_SUBST(WITH_APIDOCS)
869
870 with_dmalloc=no
871 AC_ARG_WITH(dmalloc, [  --with-dmalloc          build with dmalloc debugging support ])
872 if test "$with_dmalloc" = yes ; then
873   AC_DEFINE(DMALLOC, 1, [Build with dmalloc support?])
874   LIBS="$LIBS -ldmalloc"
875 fi
876
877 AC_CHECK_FUNCS(setlocale)
878
879 AC_CHECK_FUNCS(getpassphrase)
880
881 AC_CHECK_FUNC(getmntent, AC_DEFINE(HAVE_GETMNTENT, 1, [Define if you have the getmntent() function]), [
882   AC_CHECK_FUNC(mntctl, AC_DEFINE(HAVE_MNTCTL, 1, [Define as 1 if you have mntctl() (only aix?)]),[
883     AC_CHECK_FUNC(getmntinfo, AC_DEFINE(HAVE_GETMNTINFO, 1, [Define as 1 if you have getmntinfo() (Mac OS X)]), [
884       AC_CHECK_FUNC(getmntinfo_r, AC_DEFINE(HAVE_GETMNTINFO_R, 1, [Define as 1 if you have getmntinfo_r() (only osf?)]), [
885         AC_CHECK_LIB(c_r, getmntinfo_r, [LIBS="$LIBS -lc_r"; 
886                                         AC_DEFINE(HAVE_GETMNTINFO_R, 1, [Define as 1 if you have getmntinfo_r() (only osf?)])], [
887                  AC_DEFINE([USE_GETMNTENT], 1, [Defined if getmntent replacement is used])
888                  AC_LIBOBJ(getmntent)])
889       ])
890     ])
891   ])
892 ])
893
894 AC_CHECK_FUNC(lchown,
895    [__CHOWN_RHF="%{__chown} -Rhf"
896     __CHGRP_RHF="%{__chgrp} -Rhf"
897     AC_DEFINE(HAVE_LCHOWN, 1, [Define as 1 if you have lchown()])],
898    [__CHOWN_RHF="%{__chown} -Rf"
899     __CHGRP_RHF="%{__chgrp} -Rf"
900     dnl Does chown() follow symlinks? This should be a good enough test.
901     AC_MSG_CHECKING(whether chown() follows symlinks)
902     AC_ARG_ENABLE([broken-chown],
903     [  --enable-broken-chown   this system's chown follows symbolic links], 
904             result=$enableval, result=unknown)
905     if echo "$build" | egrep "(aix)|(hpux)|(linux)" > /dev/null ; then
906         result=yes
907     elif echo "$build" | egrep "(nextstep)" > /dev/null ; then
908         result=no
909     fi
910     if test $result = unknown; then
911         if test `${__ID} | cut -f2 -d\= | cut -f1 -d\(` = 0; then
912             rm -f foo bar
913             touch foo
914             ln -s foo bar
915             ${__CHOWN} 10 bar
916             if test `ls -l foo | awk '{print $3}'` != "root"; then
917                 result=yes
918             else
919                 result=no
920             fi
921             ${__RM} -f foo bar
922         else
923             AC_MSG_CHECKING((cannot check by non-root user))
924             result=no
925         fi
926     fi
927
928     AC_MSG_RESULT($result)
929     if test $result = yes; then
930             AC_DEFINE(CHOWN_FOLLOWS_SYMLINK, 1, [Define as 1 if chown() follows symlinks and you don't have lchown()])
931     fi])
932 AC_SUBST(__CHOWN_RHF)
933 AC_SUBST(__CHGRP_RHF)
934
935 dnl
936 dnl figure out what root's primary group is
937 dnl
938 AC_MSG_CHECKING(root's primary group)
939 AC_RUN_IFELSE([AC_LANG_SOURCE([[#include <stdio.h>
940 #include <sys/types.h>
941 #include <pwd.h>
942 #include <grp.h>
943
944 int main()
945 {
946         struct passwd *root = NULL;
947         struct group *roots_group = NULL;
948         FILE * tempfile = NULL;
949
950         root = getpwuid( (uid_t) 0 );
951         if (root != NULL) {
952                 roots_group = getgrgid(root->pw_gid);
953                 if (roots_group != NULL) {
954                         tempfile = fopen("conftest_rootg", "w");
955                         if (tempfile != NULL) {
956                                 fprintf(tempfile, "%s\n", roots_group->gr_name);
957                                 fclose(tempfile);
958                                 exit(0);
959                         }
960                 }
961         }
962
963         exit(1);
964 }]])],[ROOT_GROUP=`cat conftest_rootg`],[ROOT_GROUP="root"],[ROOT_GROUP="root"
965 ])
966 AC_MSG_RESULT($ROOT_GROUP)
967 AC_SUBST(ROOT_GROUP)
968
969 if echo "$build_os" | grep sco > /dev/null; then
970         echo "hacking things up for sco"
971         AC_DEFINE(NEED_STRINGS_H, 1, [Define as one if we need to include <strings.h> (along with <string.h>)])
972         AC_DEFINE(HAVE_STRUCT_MNTTAB, 1,
973         [Define as 1 if you have "struct mnttab" (only sco?)])
974 elif echo "$build_os" | grep sunos > /dev/null; then
975         echo "hacking things up for sunos"
976         CFLAGS="$CFLAGS -D__USE_FIXED_PROTOTYPES__"
977         AC_DEFINE(NEED_STRINGS_H, 1, [Define as one if we need to include <strings.h> (along with <string.h>)])
978         AC_DEFINE(NEED_MYREALLOC, 1, [Define as 1 if we need myrealloc])
979         AC_LIBOBJ(myrealloc)
980 fi
981
982 #
983 # get rid of the 4-th tuple, if config.guess returned "linux-gnu" for build_os
984 #
985 build_os_gnu=-gnu
986 if echo "$build_os" | grep '.*-gnulibc1' > /dev/null ; then
987         build_os=`echo "${build_os}" | sed 's/-gnulibc1$//'`
988 fi
989 if echo "$build_os" | grep '.*-gnueabi' > /dev/null ; then
990         build_os=`echo "${build_os}" | sed 's/-gnueabi$//'`
991         build_os_gnu=-gnueabi
992 fi
993 if echo "$build_os" | grep '.*-gnu' > /dev/null ; then
994         build_os=`echo "${build_os}" | sed 's/-gnu$//'`
995 fi
996
997 changequote(<, >)
998 build_os_exact="${build_os}"
999 build_os_major=`echo "${build_os}" | sed 's/\..*$//'`
1000 build_os_noversion=`echo "${build_os}" | sed 's/[0-9]*\..*$//'`
1001 changequote([, ])
1002
1003 rm -f ./find-provides
1004 if test -f ${srcdir}/autodeps/${build_cpu}-${build_os_exact}.prov ; then
1005         echo "using ${srcdir}/autodeps/${build_cpu}-${build_os_exact}.prov for automatic provides generation"
1006     ln -s ${srcdir}/autodeps/${build_cpu}-${build_os_exact}.prov ./find-provides
1007 elif test -f ${srcdir}/autodeps/${build_os_exact}.prov ; then
1008         echo "using ${srcdir}/autodeps/${build_os_exact}.prov for automatic provides generation"
1009     ln -s ${srcdir}/autodeps/${build_os_exact}.prov ./find-provides
1010 elif test -f ${srcdir}/autodeps/${build_os_major}.prov ; then
1011         echo "using ${srcdir}/autodeps/${build_os_major}.prov for automatic provides generation"
1012     ln -s ${srcdir}/autodeps/${build_os_major}.prov ./find-provides
1013 elif test -f ${srcdir}/autodeps/${build_os_noversion}.prov ; then
1014         echo "using ${srcdir}/autodeps/${build_os_noversion}.prov for automatic provides generation"
1015     ln -s ${srcdir}/autodeps/${build_os_noversion}.prov ./find-provides
1016 else
1017     echo "*** no default provides information is available for ${build_os_noversion}"
1018     ln -s ${srcdir}/autodeps/none ./find-provides
1019 fi
1020
1021 rm -f ./find-requires
1022 if test -f ${srcdir}/autodeps/${build_cpu}-${build_os_exact}.req ; then
1023         echo "using ${srcdir}/autodeps/${build_cpu}-${build_os_exact}.req for automatic requires generation"
1024     ln -s ${srcdir}/autodeps/${build_cpu}-${build_os_exact}.req ./find-requires
1025 elif test -f ${srcdir}/autodeps/${build_os_exact}.req ; then
1026         echo "using ${srcdir}/autodeps/${build_os_exact}.req for automatic requires generation"
1027     ln -s ${srcdir}/autodeps/${build_os_exact}.req ./find-requires
1028 elif test -f ${srcdir}/autodeps/${build_os_major}.req ; then
1029         echo "using ${srcdir}/autodeps/${build_os_major}.req for automatic requires generation"
1030     ln -s ${srcdir}/autodeps/${build_os_major}.req ./find-requires
1031 elif test -f ${srcdir}/autodeps/${build_os_noversion}.req ; then
1032         echo "using ${srcdir}/autodeps/${build_os_noversion}.req for automatic requires generation"
1033     ln -s ${srcdir}/autodeps/${build_os_noversion}.req ./find-requires
1034 else
1035     echo "*** no default requires information is available for ${build_os_noversion}"
1036     ln -s ${srcdir}/autodeps/none ./find-requires
1037 fi
1038
1039 dnl Determine the canonical arch-vendor-os for the build machine
1040 autorelocate_path='%{nil}'
1041 autorelocate_dcolor='0'
1042 case "${build_cpu}" in
1043 *86)            RPMCANONCOLOR=0; RPMCANONARCH=i386 ;;
1044 ia32e*)         RPMCANONCOLOR=3; RPMCANONARCH=ia32e ;;
1045 amd64*)         RPMCANONCOLOR=3; RPMCANONARCH=amd64 ;;
1046 x86_64*)        RPMCANONCOLOR=3; RPMCANONARCH=x86_64 ;;
1047 alpha*)         RPMCANONCOLOR=0; RPMCANONARCH=alpha ;;
1048 sparc64*)       RPMCANONCOLOR=3; RPMCANONARCH=sparc64 ;;
1049 sparc*)         RPMCANONCOLOR=3; RPMCANONARCH=sparc ;;
1050 ia64*)          RPMCANONCOLOR=2; RPMCANONARCH=ia64;
1051                 autorelocate_path='/emul/%%{ARCH}-%%{OS}'
1052                 autorelocate_dcolor='1' ;;
1053 s390x*)         RPMCANONCOLOR=3; RPMCANONARCH=s390x ;;
1054 s390*)          RPMCANONCOLOR=0; RPMCANONARCH=s390 ;;
1055 powerpc64*|ppc64*)      RPMCANONCOLOR=3; RPMCANONARCH=ppc64 ;;
1056 powerpc*|ppc*)  RPMCANONCOLOR=0; RPMCANONARCH=ppc ;;
1057 arm*)           RPMCANONCOLOR=0; RPMCANONARCH=arm ;;
1058 mipsel*)        RPMCANONCOLOR=0; RPMCANONARCH=mipsel ;;
1059 mips*)          RPMCANONCOLOR=0; RPMCANONARCH=mips ;;
1060 m68k*)          RPMCANONCOLOR=0; RPMCANONARCH=m68k ;;
1061 *)              RPMCANONCOLOR=0; RPMCANONARCH=unknown ;;
1062 esac
1063 case "${build_os_noversion}" in
1064 mint)           RPMCANONARCH=m68kmint ;;
1065 esac
1066 RPMCANONVENDOR="$build_vendor"
1067 case "${build_vendor}" in
1068 unknown|pc|ibm|redhat|pld|mandrake|conectiva|lvr|yellowdog|caos)
1069         test -f /etc/redhat-release &&          RPMCANONVENDOR=redhat
1070         test -f /etc/pld-release &&             RPMCANONVENDOR=pld
1071         test -f /etc/mandrake-release &&        RPMCANONVENDOR=mandrake
1072         test -f /etc/conectiva-release &&       RPMCANONVENDOR=conectiva
1073         test -f /etc/lvr-release &&             RPMCANONVENDOR=lvr
1074         test -f /etc/yellowdog-release &&       RPMCANONVENDOR=yellowdog
1075         test -f /etc/caos-release &&            RPMCANONVENDOR=caos
1076         ;;
1077 esac
1078 RPMCANONOS="$build_os_noversion"
1079 RPMCANONGNU="$build_os_gnu"
1080 AC_SUBST(RPMCANONCOLOR)
1081 AC_SUBST(autorelocate_path)
1082 AC_SUBST(autorelocate_dcolor)
1083 AC_SUBST(RPMCANONARCH)
1084 AC_SUBST(RPMCANONVENDOR)
1085 AC_SUBST(RPMCANONOS)
1086 AC_SUBST(RPMCANONGNU)
1087 AC_DEFINE_UNQUOTED([RPMCANONVENDOR],["${RPMCANONVENDOR}"],[canonical vendor])
1088
1089 if test X"$prefix" = XNONE ; then
1090     usrprefix="$ac_default_prefix"
1091 else
1092     usrprefix=$prefix
1093 fi
1094
1095 RPMCONFIGDIR="`echo ${usrprefix}/lib/rpm`"
1096 AC_SUBST(RPMCONFIGDIR)
1097
1098 AC_SUBST(OBJDUMP)
1099
1100 AC_CONFIG_SUBDIRS(db3)
1101
1102 AC_PATH_PROG(AUTOM4TE,autom4te,:)
1103
1104 AC_CONFIG_FILES([ Doxyfile Makefile platform rpm.pc
1105         rpmio/Makefile rpmdb/Makefile lib/Makefile build/Makefile
1106         po/Makefile.in scripts/Makefile 
1107         tools/Makefile
1108         misc/Makefile 
1109         doc/Makefile
1110         python/Makefile
1111         lua/Makefile
1112         tests/Makefile
1113   ])
1114 AC_CONFIG_FILES([rpmpopt-${VERSION}:rpmpopt.in],,[VERSION=${VERSION}])
1115 AC_OUTPUT