dpkg-libs.m4 4.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140
  1. # Copyright © 2004 Scott James Remnant <scott@netsplit.com>
  2. # Copyright © 2007 Nicolas François <nicolas.francois@centraliens.net>
  3. # Copyright © 2006, 2009 Guillem Jover <guillem@debian.org>
  4. # DPKG_WITH_COMPRESS_LIB(NAME, HEADER, FUNC, LINK)
  5. # -------------------------------------------------
  6. # Check for availability of a compression library.
  7. AC_DEFUN([DPKG_WITH_COMPRESS_LIB], [
  8. AC_ARG_VAR(AS_TR_CPP($1)[_LIBS], [linker flags for $1 library])
  9. AC_ARG_WITH($1,
  10. AS_HELP_STRING([--with-$1],
  11. [use $1 library for compression and decompression]))
  12. if test "x$with_$1" != "xno"; then
  13. AC_CHECK_LIB([$4], [$3], [
  14. AC_DEFINE([WITH_]AS_TR_CPP($1), 1,
  15. [Define to 1 to use $1 rather than console tool])
  16. if test "x$with_$1" = "xstatic"; then
  17. dpkg_$1_libs="-Wl,-Bstatic -l$4 -Wl,-Bdynamic"
  18. else
  19. dpkg_$1_libs="-l$4"
  20. fi
  21. AS_TR_CPP($1)_LIBS="${AS_TR_CPP($1)_LIBS:+$AS_TR_CPP($1)_LIBS }$dpkg_$1_libs"
  22. with_$1="yes"
  23. ], [
  24. if test -n "$with_$1"; then
  25. AC_MSG_FAILURE([$1 library not found])
  26. fi
  27. ])
  28. AC_CHECK_HEADER([$2], [], [
  29. if test -n "$with_$1"; then
  30. AC_MSG_FAILURE([$1 header not found])
  31. fi
  32. ])
  33. fi
  34. ])# DPKG_WITH_COMPRESS_LIB
  35. # DPKG_LIB_ZLIB
  36. # -------------
  37. # Check for zlib library.
  38. AC_DEFUN([DPKG_LIB_ZLIB], [
  39. DPKG_WITH_COMPRESS_LIB([zlib], [zlib.h], [gzdopen], [z])
  40. ])# DPKG_LIB_ZLIB
  41. # DPKG_LIB_LZMA
  42. # -------------
  43. # Check for lzma library.
  44. AC_DEFUN([DPKG_LIB_LZMA], [
  45. DPKG_WITH_COMPRESS_LIB([liblzma], [lzma.h], [lzma_alone_decoder], [lzma])
  46. ])# DPKG_LIB_LZMA
  47. # DPKG_LIB_BZ2
  48. # ------------
  49. # Check for bz2 library.
  50. AC_DEFUN([DPKG_LIB_BZ2], [
  51. DPKG_WITH_COMPRESS_LIB([bz2], [bzlib.h], [BZ2_bzdopen], [bz2])
  52. ])# DPKG_LIB_BZ2
  53. # DPKG_LIB_SELINUX
  54. # ----------------
  55. # Check for selinux library.
  56. AC_DEFUN([DPKG_LIB_SELINUX], [
  57. AC_REQUIRE([PKG_PROG_PKG_CONFIG])
  58. m4_ifndef([PKG_PROG_PKG_CONFIG], [m4_fatal([missing pkg-config macros])])
  59. AC_ARG_VAR([SELINUX_LIBS], [linker flags for selinux library])dnl
  60. AC_ARG_WITH(selinux,
  61. AS_HELP_STRING([--with-selinux],
  62. [use selinux library to set security contexts]))
  63. if test "x$with_selinux" != "xno"; then
  64. AC_CHECK_LIB([selinux], [is_selinux_enabled],
  65. [AC_DEFINE(WITH_SELINUX, 1,
  66. [Define to 1 to compile in SELinux support])
  67. PKG_CHECK_EXISTS([libselinux], [
  68. if test "x$with_selinux" = "xstatic"; then
  69. dpkg_selinux_libs="-Wl,-Bstatic "$($PKG_CONFIG --static --libs libselinux)" -Wl,-Bdynamic"
  70. else
  71. dpkg_selinux_libs=$($PKG_CONFIG --libs libselinux)
  72. fi
  73. ], [
  74. if test "x$with_selinux" = "xstatic"; then
  75. dpkg_selinux_libs="-Wl,-Bstatic -lselinux -lsepol -Wl,-Bdynamic"
  76. else
  77. dpkg_selinux_libs="-lselinux"
  78. fi
  79. ])
  80. SELINUX_LIBS="${SELINUX_LIBS:+$SELINUX_LIBS }$dpkg_selinux_libs"
  81. with_selinux="yes"],
  82. [if test -n "$with_selinux"; then
  83. AC_MSG_FAILURE([selinux library not found])
  84. fi])
  85. AC_CHECK_HEADER([selinux/selinux.h],,
  86. [if test -n "$with_selinux"; then
  87. AC_MSG_FAILURE([selinux header not found])
  88. fi])
  89. fi
  90. ])# DPKG_LIB_SELINUX
  91. # _DPKG_CHECK_LIB_CURSES_NARROW
  92. # -----------------------------
  93. # Check for narrow curses library.
  94. AC_DEFUN([_DPKG_CHECK_LIB_CURSES_NARROW], [
  95. AC_CHECK_LIB([ncurses], [initscr],
  96. [CURSES_LIBS="${CURSES_LIBS:+$CURSES_LIBS }-lncurses"],
  97. [AC_CHECK_LIB([curses], [initscr],
  98. [CURSES_LIBS="${CURSES_LIBS:+$CURSES_LIBS }-lcurses"],
  99. [AC_MSG_ERROR([no curses library found])])])])
  100. ])# DPKG_CHECK_LIB_CURSES_NARROW
  101. # DPKG_LIB_CURSES
  102. # ---------------
  103. # Check for curses library.
  104. AC_DEFUN([DPKG_LIB_CURSES], [
  105. AC_REQUIRE([DPKG_UNICODE])
  106. AC_ARG_VAR([CURSES_LIBS], [linker flags for curses library])dnl
  107. AC_CHECK_HEADERS([ncurses/ncurses.h ncurses.h curses.h ncurses/term.h term.h],
  108. [have_curses_header=yes])
  109. if test "x$USE_UNICODE" = "xyes"; then
  110. AC_CHECK_HEADERS([ncursesw/ncurses.h ncursesw/term.h],
  111. [have_curses_header=yes])
  112. AC_CHECK_LIB([ncursesw], [initscr],
  113. [CURSES_LIBS="${CURSES_LIBS:+$CURSES_LIBS }-lncursesw"],
  114. [_DPKG_CHECK_LIB_CURSES_NARROW()])
  115. else
  116. _DPKG_CHECK_LIB_CURSES_NARROW()
  117. fi
  118. if test "x$have_curses_header" != "xyes"; then
  119. AC_MSG_FAILURE([curses header not found])
  120. fi
  121. ])# DPKG_LIB_CURSES
  122. # DPKG_LIB_SSD
  123. # ------------
  124. # Check for start-stop-daemon libraries.
  125. AC_DEFUN([DPKG_LIB_SSD],
  126. [AC_ARG_VAR([SSD_LIBS], [linker flags for start-stop-daemon])dnl
  127. AC_CHECK_LIB([ps], [proc_stat_list_create], [SSD_LIBS="${SSD_LIBS:+$SSD_LIBS }-lps"])
  128. AC_CHECK_LIB([kvm], [kvm_openfiles], [SSD_LIBS="${SSD_LIBS:+$SSD_LIBS }-lkvm"])
  129. ])# DPKG_LIB_SSD