1dnl Checks for lzma required headers and functions 2dnl 3dnl Version: 20210404 4 5dnl Function to detect if lzma is available 6AC_DEFUN([AX_LZMA_CHECK_LIB], 7 [AS_IF( 8 [test "x$ac_cv_enable_shared_libs" = xno || test "x$ac_cv_with_lzma" = xno], 9 [ac_cv_lzma=no], 10 [ac_cv_lzma=check 11 dnl Check if the directory provided as parameter exists 12 AS_IF( 13 [test "x$ac_cv_with_lzma" != x && test "x$ac_cv_with_lzma" != xauto-detect], 14 [AS_IF( 15 [test -d "$ac_cv_with_lzma"], 16 [CFLAGS="$CFLAGS -I${ac_cv_with_lzma}/include" 17 LDFLAGS="$LDFLAGS -L${ac_cv_with_lzma}/lib"], 18 [AC_MSG_FAILURE( 19 [no such directory: $ac_cv_with_lzma], 20 [1]) 21 ]) 22 ], 23 [dnl Check for a pkg-config file 24 AS_IF( 25 [test "x$cross_compiling" != "xyes" && test "x$PKGCONFIG" != "x"], 26 [PKG_CHECK_MODULES( 27 [liblzma], 28 [liblzma >= 5.2.5], 29 [ac_cv_lzma=liblzma], 30 [ac_cv_lzma=check]) 31 ]) 32 AS_IF( 33 [test "x$ac_cv_lzma" = xliblzma], 34 [ac_cv_lzma_CPPFLAGS="$pkg_cv_liblzma_CFLAGS" 35 ac_cv_lzma_LIBADD="$pkg_cv_liblzma_LIBS"]) 36 ]) 37 38 AS_IF( 39 [test "x$ac_cv_lzma" = xcheck], 40 [dnl Check for headers 41 AC_CHECK_HEADERS([lzma.h]) 42 43 AS_IF( 44 [test "x$ac_cv_header_lzma_h" = xno], 45 [ac_cv_lzma=no], 46 [dnl Check for the individual functions 47 ac_cv_lzma=liblzma 48 49 AC_CHECK_LIB( 50 lzma, 51 lzma_version_number, 52 [], 53 [ac_cv_lzma=no]) 54 55 AS_IF( 56 [test "x$ac_cv_lib_lzma_lzma_version_number" = xno], 57 [AC_MSG_FAILURE( 58 [Missing function: lzma_version_number in library: lzma.], 59 [1]) 60 ]) 61 62 ac_cv_lzma_LIBADD="-llzma"; 63 ]) 64 ]) 65 ]) 66 67 AS_IF( 68 [test "x$ac_cv_lzma" = xliblzma], 69 [AC_DEFINE( 70 [HAVE_LIBLZMA], 71 [1], 72 [Define to 1 if you have the 'lzma' library (-llzma).]) 73 ]) 74 75 AS_IF( 76 [test "x$ac_cv_lzma" != xno], 77 [AC_SUBST( 78 [HAVE_LIBLZMA], 79 [1]) ], 80 [AC_SUBST( 81 [HAVE_LIBLZMA], 82 [0]) 83 ]) 84 ]) 85 86dnl Function to detect if the lzma_code function is available 87AC_DEFUN([AX_LZMA_CHECK_DECOMPRESS], 88 [AS_IF( 89 [test "x$ac_cv_lzma" != xliblzma], 90 [ac_cv_lzma_decompress=local], 91 [AC_CHECK_LIB( 92 lzma, 93 lzma_code, 94 [ac_cv_lzma_decompress=liblzma], 95 [ac_cv_lzma_decompress=local]) 96 97 AS_IF( 98 [test "x$ac_cv_lzma_decompress" = xliblzma], 99 [AC_DEFINE( 100 [HAVE_LZMA_DECOMPRESS], 101 [1], 102 [Define to 1 if you have the `lzma_code' function.]) 103 ]) 104 ]) 105 ]) 106 107dnl Function to detect how to enable lzma 108AC_DEFUN([AX_LZMA_CHECK_ENABLE], 109 [AX_COMMON_ARG_WITH( 110 [lzma], 111 [lzma], 112 [search for lzma in includedir and libdir or in the specified DIR, or no if not to use lzma], 113 [auto-detect], 114 [DIR]) 115 116 dnl Check for a shared library version 117 AX_LZMA_CHECK_LIB 118 119 AS_IF( 120 [test "x$ac_cv_lzma_CPPFLAGS" != "x"], 121 [AC_SUBST( 122 [LZMA_CPPFLAGS], 123 [$ac_cv_lzma_CPPFLAGS]) 124 ]) 125 AS_IF( 126 [test "x$ac_cv_lzma_LIBADD" != "x"], 127 [AC_SUBST( 128 [LZMA_LIBADD], 129 [$ac_cv_lzma_LIBADD]) 130 ]) 131 132 AS_IF( 133 [test "x$ac_cv_lzma" = xliblzma], 134 [AC_SUBST( 135 [ax_lzma_pc_libs_private], 136 [-llzma]) 137 ]) 138 139 AS_IF( 140 [test "x$ac_cv_lzma" = xliblzma], 141 [AC_SUBST( 142 [ax_lzma_spec_requires], 143 [xz-libs]) 144 AC_SUBST( 145 [ax_lzma_spec_build_requires], 146 [xz-devel]) 147 AC_SUBST( 148 [ax_lzma_static_spec_requires], 149 [xz-static]) 150 AC_SUBST( 151 [ax_lzma_static_spec_build_requires], 152 [xz-static]) 153 ]) 154 ]) 155 156