dpkg-libs.m4 6.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194
  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. [], [with_libmd=check])
  13. have_libmd="no"
  14. AS_IF([test "x$with_libmd" != "xno"], [
  15. AC_CHECK_HEADERS([md5.h], [
  16. dpkg_save_libmd_LIBS=$LIBS
  17. AC_SEARCH_LIBS([MD5Init], [md], [have_libmd="yes"])
  18. LIBS=$dpkg_save_libmd_LIBS
  19. AS_IF([test "x$ac_cv_search_MD5Init" = "xnone required"], [
  20. have_libmd="bultin"
  21. ], [test "x$ac_cv_search_MD5Init" != "xno"], [
  22. have_libmd="yes"
  23. MD_LIBS="$ac_cv_search_MD5Init"
  24. ])
  25. ])
  26. AS_IF([test "x$with_libmd" = "xyes" && test "x$have_libmd" = "xno"], [
  27. AC_MSG_FAILURE([md5 digest functions not found])
  28. ])
  29. ])
  30. AM_CONDITIONAL([HAVE_LIBMD_MD5], [test "x$have_libmd" != "xno"])
  31. ])# DPKG_LIB_MD
  32. # DPKG_WITH_COMPRESS_LIB(NAME, HEADER, FUNC)
  33. # -------------------------------------------------
  34. # Check for availability of a compression library.
  35. AC_DEFUN([DPKG_WITH_COMPRESS_LIB], [
  36. AC_ARG_VAR(AS_TR_CPP($1)[_LIBS], [linker flags for $1 library])
  37. AC_ARG_WITH([lib$1],
  38. [AS_HELP_STRING([--with-lib$1],
  39. [use $1 library for compression and decompression])],
  40. [], [with_lib$1=check])
  41. have_lib$1="no"
  42. AS_IF([test "x$with_lib$1" != "xno"], [
  43. AC_CHECK_LIB([$1], [$3], [
  44. AC_CHECK_HEADER([$2], [
  45. have_lib$1="yes"
  46. ])
  47. ])
  48. AS_IF([test "x$with_lib$1" != "xno"], [
  49. AS_IF([test "x$have_lib$1" = "xyes"], [
  50. AC_DEFINE([WITH_LIB]AS_TR_CPP($1), 1,
  51. [Define to 1 to use $1 library rather than console tool])
  52. AS_IF([test "x$with_lib$1" = "xstatic"], [
  53. dpkg_$1_libs="-Wl,-Bstatic -l$1 -Wl,-Bdynamic"
  54. ], [
  55. dpkg_$1_libs="-l$1"
  56. ])
  57. AS_TR_CPP($1)_LIBS="${AS_TR_CPP($1)_LIBS:+$AS_TR_CPP($1)_LIBS }$dpkg_$1_libs"
  58. ], [
  59. AS_IF([test "x$with_lib$1" != "xcheck"], [
  60. AC_MSG_FAILURE([lib$1 library or header not found])
  61. ])
  62. ])
  63. ])
  64. ])
  65. ])# DPKG_WITH_COMPRESS_LIB
  66. # DPKG_LIB_Z
  67. # -------------
  68. # Check for z library.
  69. AC_DEFUN([DPKG_LIB_Z], [
  70. DPKG_WITH_COMPRESS_LIB([z], [zlib.h], [gzdopen])
  71. ])# DPKG_LIB_Z
  72. # DPKG_LIB_LZMA
  73. # -------------
  74. # Check for lzma library.
  75. AC_DEFUN([DPKG_LIB_LZMA], [
  76. DPKG_WITH_COMPRESS_LIB([lzma], [lzma.h], [lzma_alone_decoder])
  77. AC_CHECK_LIB([lzma], [lzma_stream_encoder_mt], [
  78. AC_DEFINE([HAVE_LZMA_MT], [1], [xz multithreaded compression support])
  79. ])
  80. ])# DPKG_LIB_LZMA
  81. # DPKG_LIB_BZ2
  82. # ------------
  83. # Check for bz2 library.
  84. AC_DEFUN([DPKG_LIB_BZ2], [
  85. DPKG_WITH_COMPRESS_LIB([bz2], [bzlib.h], [BZ2_bzdopen])
  86. ])# DPKG_LIB_BZ2
  87. # DPKG_LIB_SELINUX
  88. # ----------------
  89. # Check for selinux library.
  90. AC_DEFUN([DPKG_LIB_SELINUX], [
  91. AC_REQUIRE([PKG_PROG_PKG_CONFIG])
  92. m4_ifndef([PKG_PROG_PKG_CONFIG], [m4_fatal([missing pkg-config macros])])
  93. AC_ARG_VAR([SELINUX_LIBS], [linker flags for selinux library])dnl
  94. AC_ARG_WITH([libselinux],
  95. [AS_HELP_STRING([--with-libselinux],
  96. [use selinux library to set security contexts])],
  97. [], [with_libselinux=check])
  98. SELINUX_MIN_VERSION=2.0.99
  99. have_libselinux="no"
  100. AS_IF([test "x$with_libselinux" != "xno"], [
  101. PKG_CHECK_MODULES([SELINUX], [libselinux >= $SELINUX_MIN_VERSION], [
  102. AC_CHECK_HEADER([selinux/selinux.h], [
  103. AC_DEFINE([WITH_LIBSELINUX], [1],
  104. [Define to 1 to compile in SELinux support])
  105. have_libselinux="yes"
  106. ], [
  107. AS_IF([test "x$with_libselinux" != "xcheck"], [
  108. AC_MSG_FAILURE([libselinux header not found])
  109. ])
  110. ])
  111. AC_CHECK_LIB([selinux], [setexecfilecon], [
  112. AC_DEFINE([HAVE_SETEXECFILECON], [1],
  113. [Define to 1 if SELinux setexecfilecon is present])
  114. ])
  115. ], [
  116. AS_IF([test "x$with_libselinux" != "xcheck"], [
  117. AC_MSG_FAILURE([libselinux at least $SELINUX_MIN_VERSION not found])
  118. ])
  119. ])
  120. ])
  121. AM_CONDITIONAL([WITH_LIBSELINUX], [test "x$have_libselinux" = "xyes"])
  122. AM_CONDITIONAL([HAVE_SETEXECFILECON],
  123. [test "x$ac_cv_lib_selinux_setexecfilecon" = "xyes"])
  124. ])# DPKG_LIB_SELINUX
  125. # _DPKG_CHECK_LIB_CURSES_NARROW
  126. # -----------------------------
  127. # Check for narrow curses library.
  128. AC_DEFUN([_DPKG_CHECK_LIB_CURSES_NARROW], [
  129. AC_CHECK_LIB([ncurses], [initscr], [
  130. CURSES_LIBS="${CURSES_LIBS:+$CURSES_LIBS }-lncurses"
  131. ], [
  132. AC_CHECK_LIB([curses], [initscr], [
  133. CURSES_LIBS="${CURSES_LIBS:+$CURSES_LIBS }-lcurses"
  134. ], [
  135. AC_MSG_ERROR([no curses library found])
  136. ])
  137. ])
  138. ])# DPKG_CHECK_LIB_CURSES_NARROW
  139. # DPKG_LIB_CURSES
  140. # ---------------
  141. # Check for curses library.
  142. AC_DEFUN([DPKG_LIB_CURSES], [
  143. AC_REQUIRE([DPKG_UNICODE])
  144. AC_ARG_VAR([CURSES_LIBS], [linker flags for curses library])dnl
  145. AC_CHECK_HEADERS([ncurses/ncurses.h ncurses.h curses.h ncurses/term.h term.h],
  146. [have_curses_header=yes])
  147. AS_IF([test "x$USE_UNICODE" = "xyes"], [
  148. AC_CHECK_HEADERS([ncursesw/ncurses.h ncursesw/term.h],
  149. [have_curses_header=yes])
  150. AC_CHECK_LIB([ncursesw], [initscr], [
  151. CURSES_LIBS="${CURSES_LIBS:+$CURSES_LIBS }-lncursesw"
  152. ], [
  153. _DPKG_CHECK_LIB_CURSES_NARROW()
  154. ])
  155. ], [
  156. _DPKG_CHECK_LIB_CURSES_NARROW()
  157. ])
  158. AS_IF([test "x$have_curses_header" != "xyes"], [
  159. AC_MSG_FAILURE([curses header not found])
  160. ])
  161. have_libcurses=yes
  162. ])# DPKG_LIB_CURSES
  163. # DPKG_LIB_PS
  164. # -----------
  165. # Check for GNU/Hurd ps library
  166. AC_DEFUN([DPKG_LIB_PS], [
  167. AC_ARG_VAR([PS_LIBS], [linker flags for ps library])dnl
  168. AC_CHECK_LIB([ps], [proc_stat_list_create], [
  169. PS_LIBS="-lps"
  170. have_libps=yes
  171. ])
  172. ])# DPKG_LIB_PS
  173. # DPKG_LIB_KVM
  174. # ------------
  175. # Check for BSD kvm library
  176. AC_DEFUN([DPKG_LIB_KVM], [
  177. AC_ARG_VAR([KVM_LIBS], [linker flags for kvm library])dnl
  178. AC_CHECK_LIB([kvm], [kvm_openfiles], [
  179. KVM_LIBS="-lkvm"
  180. have_libkvm=yes
  181. ])
  182. ])# DPKG_LIB_KVM