dpkg-libs.m4 5.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190
  1. # Copyright © 2004 Scott James Remnant <scott@netsplit.com>
  2. # Copyright © 2007 Nicolas François <nicolas.francois@centraliens.net>
  3. # Copyright © 2006, 2009-2012, 2014-2015 Guillem Jover <guillem@debian.org>
  4. # DPKG_LIB_MD
  5. # -----------
  6. # Check for the message digest library.
  7. AC_DEFUN([DPKG_LIB_MD], [
  8. AC_ARG_VAR([MD_LIBS], [linker flags for md library])
  9. AC_ARG_WITH([libmd], [
  10. AS_HELP_STRING([--with-libmd],
  11. [use libmd library for message digest functions])
  12. ], [
  13. with_libmd="$withval"
  14. ], [
  15. with_libmd="no"
  16. ])
  17. if test "x$with_libmd" != "xno"; then
  18. AC_CHECK_HEADERS([md5.h], [
  19. AC_CHECK_LIB([md], [MD5Init], [
  20. with_libmd="yes"
  21. ], [
  22. AC_MSG_FAILURE([md5 digest not found in libmd])
  23. ])
  24. ])
  25. fi
  26. AS_IF([test "x$with_libmd" = "xyes"], [MD_LIBS="-lmd"])
  27. AM_CONDITIONAL([HAVE_LIBMD_MD5], [test "x$ac_cv_lib_md_MD5Init" = "xyes"])
  28. ])# DPKG_LIB_MD
  29. # DPKG_WITH_COMPRESS_LIB(NAME, HEADER, FUNC, LINK)
  30. # -------------------------------------------------
  31. # Check for availability of a compression library.
  32. AC_DEFUN([DPKG_WITH_COMPRESS_LIB], [
  33. AC_ARG_VAR(AS_TR_CPP($1)[_LIBS], [linker flags for $1 library])
  34. AC_ARG_WITH($1,
  35. AS_HELP_STRING([--with-$1],
  36. [use $1 library for compression and decompression]))
  37. if test "x$with_$1" != "xno"; then
  38. AC_CHECK_LIB([$4], [$3], [
  39. AC_DEFINE([WITH_]AS_TR_CPP($1), 1,
  40. [Define to 1 to use $1 rather than console tool])
  41. if test "x$with_$1" = "xstatic"; then
  42. dpkg_$1_libs="-Wl,-Bstatic -l$4 -Wl,-Bdynamic"
  43. else
  44. dpkg_$1_libs="-l$4"
  45. fi
  46. AS_TR_CPP($1)_LIBS="${AS_TR_CPP($1)_LIBS:+$AS_TR_CPP($1)_LIBS }$dpkg_$1_libs"
  47. with_$1="yes"
  48. ], [
  49. if test -n "$with_$1"; then
  50. AC_MSG_FAILURE([$1 library not found])
  51. fi
  52. ])
  53. AC_CHECK_HEADER([$2], [], [
  54. if test -n "$with_$1"; then
  55. AC_MSG_FAILURE([$1 header not found])
  56. fi
  57. ])
  58. fi
  59. ])# DPKG_WITH_COMPRESS_LIB
  60. # DPKG_LIB_ZLIB
  61. # -------------
  62. # Check for zlib library.
  63. AC_DEFUN([DPKG_LIB_ZLIB], [
  64. DPKG_WITH_COMPRESS_LIB([zlib], [zlib.h], [gzdopen], [z])
  65. ])# DPKG_LIB_ZLIB
  66. # DPKG_LIB_LZMA
  67. # -------------
  68. # Check for lzma library.
  69. AC_DEFUN([DPKG_LIB_LZMA], [
  70. DPKG_WITH_COMPRESS_LIB([liblzma], [lzma.h], [lzma_alone_decoder], [lzma])
  71. AC_CHECK_LIB([lzma], [lzma_stream_encoder_mt],
  72. [AC_DEFINE([HAVE_LZMA_MT], [1],
  73. [xz multithreaded compression support])])
  74. ])# DPKG_LIB_LZMA
  75. # DPKG_LIB_BZ2
  76. # ------------
  77. # Check for bz2 library.
  78. AC_DEFUN([DPKG_LIB_BZ2], [
  79. DPKG_WITH_COMPRESS_LIB([bz2], [bzlib.h], [BZ2_bzdopen], [bz2])
  80. ])# DPKG_LIB_BZ2
  81. # DPKG_LIB_SELINUX
  82. # ----------------
  83. # Check for selinux library.
  84. AC_DEFUN([DPKG_LIB_SELINUX], [
  85. AC_REQUIRE([PKG_PROG_PKG_CONFIG])
  86. m4_ifndef([PKG_PROG_PKG_CONFIG], [m4_fatal([missing pkg-config macros])])
  87. AC_ARG_VAR([SELINUX_LIBS], [linker flags for selinux library])dnl
  88. AC_ARG_WITH(selinux,
  89. AS_HELP_STRING([--with-selinux],
  90. [use selinux library to set security contexts]))
  91. if test "x$with_selinux" != "xno"; then
  92. AC_CHECK_LIB([selinux], [is_selinux_enabled],
  93. [AC_DEFINE(WITH_SELINUX, 1,
  94. [Define to 1 to compile in SELinux support])
  95. PKG_CHECK_EXISTS([libselinux], [
  96. if test "x$with_selinux" = "xstatic"; then
  97. dpkg_selinux_libs="-Wl,-Bstatic "$($PKG_CONFIG --static --libs libselinux)" -Wl,-Bdynamic"
  98. else
  99. dpkg_selinux_libs=$($PKG_CONFIG --libs libselinux)
  100. fi
  101. ], [
  102. if test "x$with_selinux" = "xstatic"; then
  103. dpkg_selinux_libs="-Wl,-Bstatic -lselinux -lsepol -Wl,-Bdynamic"
  104. else
  105. dpkg_selinux_libs="-lselinux"
  106. fi
  107. ])
  108. SELINUX_LIBS="${SELINUX_LIBS:+$SELINUX_LIBS }$dpkg_selinux_libs"
  109. with_selinux="yes"],
  110. [if test -n "$with_selinux"; then
  111. AC_MSG_FAILURE([selinux library not found])
  112. fi])
  113. AC_CHECK_LIB([selinux], [setexecfilecon],
  114. [AC_DEFINE([HAVE_SETEXECFILECON], [1],
  115. [Define to 1 if SELinux setexecfilecon is present])
  116. ])
  117. AC_CHECK_HEADER([selinux/selinux.h],,
  118. [if test -n "$with_selinux"; then
  119. AC_MSG_FAILURE([selinux header not found])
  120. fi])
  121. fi
  122. AM_CONDITIONAL(WITH_SELINUX, [test "x$with_selinux" = "xyes"])
  123. AM_CONDITIONAL(HAVE_SETEXECFILECON,
  124. [test "x$ac_cv_lib_selinux_setexecfilecon" = "xyes"])
  125. ])# DPKG_LIB_SELINUX
  126. # _DPKG_CHECK_LIB_CURSES_NARROW
  127. # -----------------------------
  128. # Check for narrow curses library.
  129. AC_DEFUN([_DPKG_CHECK_LIB_CURSES_NARROW], [
  130. AC_CHECK_LIB([ncurses], [initscr],
  131. [CURSES_LIBS="${CURSES_LIBS:+$CURSES_LIBS }-lncurses"],
  132. [AC_CHECK_LIB([curses], [initscr],
  133. [CURSES_LIBS="${CURSES_LIBS:+$CURSES_LIBS }-lcurses"],
  134. [AC_MSG_ERROR([no curses library found])])])])
  135. ])# DPKG_CHECK_LIB_CURSES_NARROW
  136. # DPKG_LIB_CURSES
  137. # ---------------
  138. # Check for curses library.
  139. AC_DEFUN([DPKG_LIB_CURSES], [
  140. AC_REQUIRE([DPKG_UNICODE])
  141. AC_ARG_VAR([CURSES_LIBS], [linker flags for curses library])dnl
  142. AC_CHECK_HEADERS([ncurses/ncurses.h ncurses.h curses.h ncurses/term.h term.h],
  143. [have_curses_header=yes])
  144. if test "x$USE_UNICODE" = "xyes"; then
  145. AC_CHECK_HEADERS([ncursesw/ncurses.h ncursesw/term.h],
  146. [have_curses_header=yes])
  147. AC_CHECK_LIB([ncursesw], [initscr],
  148. [CURSES_LIBS="${CURSES_LIBS:+$CURSES_LIBS }-lncursesw"],
  149. [_DPKG_CHECK_LIB_CURSES_NARROW()])
  150. else
  151. _DPKG_CHECK_LIB_CURSES_NARROW()
  152. fi
  153. if test "x$have_curses_header" != "xyes"; then
  154. AC_MSG_FAILURE([curses header not found])
  155. fi
  156. have_libcurses=yes
  157. ])# DPKG_LIB_CURSES
  158. # DPKG_LIB_PS
  159. # -----------
  160. # Check for GNU/Hurd ps library
  161. AC_DEFUN([DPKG_LIB_PS], [
  162. AC_ARG_VAR([PS_LIBS], [linker flags for ps library])dnl
  163. AC_CHECK_LIB([ps], [proc_stat_list_create], [
  164. PS_LIBS="-lps"
  165. have_libps=yes
  166. ])
  167. ])# DPKG_LIB_PS
  168. # DPKG_LIB_KVM
  169. # ------------
  170. # Check for BSD kvm library
  171. AC_DEFUN([DPKG_LIB_KVM], [
  172. AC_ARG_VAR([KVM_LIBS], [linker flags for kvm library])dnl
  173. AC_CHECK_LIB([kvm], [kvm_openfiles], [
  174. KVM_LIBS="-lkvm"
  175. have_libkvm=yes
  176. ])
  177. ])# DPKG_LIB_KVM