configure.in 4.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194
  1. dnl Process this file with autoconf to produce a configure script.
  2. AC_PREREQ([2.13])
  3. AC_INIT(include/dpkg.h.in)
  4. AC_CONFIG_HEADER(config.h)
  5. DSELECTDIR="dselect"
  6. AC_ARG_WITH(dselect,
  7. [ --with-dselect the dselect package-management frontend],
  8. [case "$withval" in
  9. "false" | "no" )
  10. DSELECTDIR=""
  11. ;;
  12. esac])
  13. AC_SUBST(DSELECTDIR)
  14. USE_START_STOP_DAEMON="true"
  15. AC_ARG_WITH(start-stop-daemon,
  16. [ --with-start-stop-daemon
  17. start and stop system daemons],
  18. [case "$withval" in
  19. "false" | "no" )
  20. USE_START_STOP_DAEMON=""
  21. ;;
  22. esac])
  23. AC_SUBST(USE_START_STOP_DAEMON)
  24. if test "$USE_START_STOP_DAEMON" != ""; then
  25. AC_DEFINE(USE_START_STOP_DAEMON)
  26. fi
  27. USE_SGML_DOC="true"
  28. AC_ARG_WITH(sgml-doc,
  29. [ --with-sgml-doc SGML documentation converted to HTML],
  30. [case "$withval" in
  31. "false" | "no" )
  32. USE_SGML_DOC=""
  33. ;;
  34. esac])
  35. AC_SUBST(USE_SGML_DOC)
  36. admindir="$libdir/db"
  37. AC_ARG_WITH(admindir,
  38. [ --with-admindir=DIR store dpkg database in DIR [LIBDIR/db]],
  39. [case "$withval" in
  40. "" )
  41. AC_MSG_ERROR(invalid admindir specified)
  42. ;;
  43. * )
  44. admindir="$withval"
  45. ;;
  46. esac])
  47. AC_SUBST(admindir)
  48. AC_CHECK_TOOL_PREFIX
  49. AC_CANONICAL_SYSTEM
  50. AC_CHECK_TOOL(CC, gcc)
  51. AC_PROG_CC
  52. AC_PROG_CXX
  53. AM_CONDITIONAL(HAVE_CPLUSPLUS, [test "$CXX" != ""])
  54. AC_CHECK_TOOL(LD, ld, ld)
  55. PACKAGE=dpkg
  56. AC_SUBST(PACKAGE)
  57. VERSION=`cat $srcdir/version-nr`
  58. AC_SUBST(VERSION)
  59. dnl test to see if srcdir already configured
  60. if test "`cd $srcdir && pwd`" != "`pwd`" && test -f $srcdir/config.status; then
  61. AC_MSG_ERROR([source directory already configured; run "make distclean" there first])
  62. fi
  63. AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [Name of package])
  64. AC_DEFINE_UNQUOTED(VERSION, "$VERSION", [Version number of package])
  65. AC_REQUIRE([AC_ARG_PROGRAM])
  66. AC_REQUIRE([AC_PROG_MAKE_SET])
  67. AC_MSG_CHECKING(dpkg version)
  68. AC_MSG_RESULT($VERSION)
  69. AC_PREFIX_DEFAULT(/usr)
  70. dpkg_archset=''
  71. AC_MSG_CHECKING(Debian architecture)
  72. dpkg_archset="`awk '$1 == "'$target_cpu-$target_os'" { print $2 }' $srcdir/archtable`"
  73. # Finish off
  74. if test "x$dpkg_archset" = "x"; then
  75. AC_MSG_RESULT([$target_cpu-$target_os, but not found in archtable])
  76. dpkg_archset=$target_cpu-$target_os
  77. else
  78. AC_MSG_RESULT($dpkg_archset)
  79. fi
  80. AC_DEFINE_UNQUOTED(ARCHITECTURE, "${dpkg_archset}")
  81. dnl gettext
  82. ALL_LINGUAS="cs de en es fr gl it nl ja pl pt_BR ru sv"
  83. AM_GNU_GETTEXT
  84. dnl Other stuff
  85. AC_STDC_HEADERS
  86. AC_PROG_RANLIB
  87. AC_PROG_LN_S
  88. AC_CHECK_PROG(RM,rm,rm -f)
  89. AC_CHECK_PROG(SED,sed,sed)
  90. AC_PROG_INSTALL
  91. AC_PATH_PROG(PERL,perl,/usr/bin/perl)
  92. dnl Default in case EMACS == no
  93. lispdir="\$(datadir)/emacs/site-lisp/"
  94. AC_MODE_T
  95. AC_PID_T
  96. AC_SIZE_T
  97. AC_VPRINTF
  98. AC_C_CONST
  99. AC_C_BIGENDIAN
  100. AC_CHECK_SIZEOF(unsigned long)
  101. AC_CHECK_SIZEOF(unsigned int)
  102. AC_CHECK_TYPE(ptrdiff_t,int)
  103. AC_CHECK_FUNCS(unsetenv alphasort scandir strerror strsignal strtoul)
  104. AC_CHECK_FUNCS(vsnprintf lchown snprintf)
  105. AC_CHECK_HEADERS(sys/cdefs.h syslog.h stddef.h)
  106. AC_CHECK_HEADERS(error.h)
  107. AC_SYS_SIGLIST_DECLARED
  108. AC_CHECK_LIB(ihash, ihash_create, SSD_LIBS="-lihash $SSD_LIBS")
  109. AC_CHECK_LIB(ps, proc_stat_list_create, SSD_LIBS="-lps $SSD_LIBS")
  110. AC_CHECK_LIB(shouldbeinlibc, fmt_past_time, SSD_LIBS="-lshouldbeinlibc $SSD_LIBS")
  111. AC_CHECK_LIB(kvm, kvm_openfiles, SSD_LIBS="-lkvm $SSD_LIBS")
  112. AC_SUBST(SSD_LIBS)
  113. AC_ARG_WITH(zlib,
  114. [ --with-zlib use zlib for decompression of some gzip files],
  115. [use_zlib=$withval],
  116. [uze_zlib=no])
  117. if test "$use_zlib" = "no" ; then
  118. ZLIB_CFLAGS=
  119. ZLIB_LIBS=
  120. else
  121. ZLIB_CFLAGS=-DUSE_ZLIB
  122. if test "$use_zlib" = "static" ; then
  123. ZLIB_LIBS="-Wl,-Bstatic -lz -Wl,-Bdynamic"
  124. else
  125. ZLIB_LIBS=-lz
  126. fi
  127. fi
  128. AC_SUBST(ZLIB_CFLAGS)
  129. AC_SUBST(ZLIB_LIBS)
  130. AC_TRY_COMPILE([
  131. #include <sys/types.h>
  132. #include <dirent.h>
  133. ], alphasort, AC_DEFINE(HAVE_ALPHASORT_DECLARATION))
  134. AC_TRY_COMPILE(,[
  135. } inline int foo (int x) {], AC_DEFINE(HAVE_INLINE))
  136. DPKG_C_GCC_TRY_WARNS(-Wall -Wno-implicit, dpkg_cv_c_gcc_warn_all)
  137. DPKG_C_GCC_TRY_WARNS(-Wwrite-strings, dpkg_cv_c_gcc_warn_writestrings)
  138. DPKG_C_GCC_TRY_WARNS(-Wpointer-arith, dpkg_cv_c_gcc_warn_pointerarith)
  139. DPKG_C_GCC_TRY_WARNS(-Wimplicit -Wnested-externs, dpkg_cv_c_gcc_warn_implicit)
  140. AC_SUBST(CWARNS)
  141. dnl Force this here so we can do the next step
  142. test "x$prefix" = xNONE && prefix="$ac_default_prefix"
  143. test "x$exec_prefix" = xNONE && exec_prefix='${prefix}'
  144. LLIBDIR=`eval echo $libdir`
  145. LLIBDIR=`eval echo $LLIBDIR`
  146. LOCALSTATEDIR=`eval echo $localstatedir`
  147. AC_DEFINE_UNQUOTED(LLIBDIR, "$LLIBDIR")
  148. AC_DEFINE_UNQUOTED(LOCALSTATEDIR, "$LOCALSTATEDIR")
  149. AC_OUTPUT(
  150. Makefile.conf
  151. Makefile
  152. intl/Makefile
  153. include/Makefile
  154. dpkg-deb/Makefile
  155. split/Makefile
  156. lib/Makefile
  157. optlib/Makefile
  158. doc/Makefile
  159. doc/fr/Makefile
  160. doc/ja/Makefile
  161. doc/sv/Makefile
  162. scripts/Makefile
  163. main/Makefile
  164. dselect/Makefile
  165. methods/Makefile
  166. utils/Makefile
  167. po/Makefile.in)