"Fossies" - the Fresh Open Source Software Archive

Member "libisofs-1.5.4/configure.ac" (7 Feb 2021, 11433 Bytes) of package /linux/misc/libisofs-1.5.4.tar.gz:


As a special service "Fossies" has tried to format the requested text file into HTML format (style: standard) with prefixed line numbers. Alternatively you can here view or download the uninterpreted source code file. See also the latest Fossies "Diffs" side-by-side code changes report for "configure.ac": 1.5.2_vs_1.5.4.

    1 AC_INIT([libisofs], [1.5.4], [http://libburnia-project.org])
    2 AC_PREREQ([2.50])
    3 dnl AC_CONFIG_HEADER([config.h])	
    4 
    5 AC_CANONICAL_HOST
    6 AC_CANONICAL_TARGET
    7 
    8 LIBBURNIA_SET_FLAGS
    9 
   10 AM_INIT_AUTOMAKE([subdir-objects])
   11 AC_CONFIG_MACRO_DIR([./])
   12 
   13 dnl
   14 dnl if MAJOR or MINOR version changes, be sure to change AC_INIT above to match
   15 dnl
   16 dnl CURRENT and AGE describe the binary compatibility interval of a
   17 dnl dynamic library.
   18 dnl See also http://www.gnu.org/software/libtool/manual.html#Interfaces
   19 dnl
   20 dnl The name of the library will be libisofs.so.$CURRENT-$AGE.$AGE.$REV
   21 dnl In the terminology of this file:
   22 dnl   CURRENT = LT_CURRENT
   23 dnl   REV     = LT_REVISION
   24 dnl   AGE     = LT_AGE
   25 dnl
   26 dnl LT_CURRENT, LT_REVISION and LT_AGE get set directly now.
   27 dnl
   28 dnl SONAME of the emerging library is  LT_CURRENT - LT_AGE.
   29 dnl The linker will do no finer checks. If SONAME matches, then the couple
   30 dnl starts.
   31 dnl 
   32 dnl Therefore a run time check is provided by libisofs function 
   33 dnl iso_lib_version(). It returns the major, minor and micro revision of the 
   34 dnl library. This means LIBISOFS_*_VERSION kept its second job which does not  
   35 dnl comply to the usual ways of configure.ac . I.e. now *officially* this is 
   36 dnl the source code release version as announced to the public. It has no 
   37 dnl connection to SONAME or libtool version numbering.
   38 dnl It rather feeds the API function iso_lib_version().
   39 dnl
   40 dnl If LIBISOFS_*_VERSION changes, be sure to change AC_INIT above to match.
   41 dnl
   42 LIBISOFS_MAJOR_VERSION=1
   43 LIBISOFS_MINOR_VERSION=5
   44 LIBISOFS_MICRO_VERSION=4
   45 LIBISOFS_VERSION=$LIBISOFS_MAJOR_VERSION.$LIBISOFS_MINOR_VERSION.$LIBISOFS_MICRO_VERSION
   46 
   47 AC_SUBST(LIBISOFS_MAJOR_VERSION)
   48 AC_SUBST(LIBISOFS_MINOR_VERSION)
   49 AC_SUBST(LIBISOFS_MICRO_VERSION)
   50 AC_SUBST(LIBISOFS_VERSION)
   51 
   52 dnl Libtool versioning
   53 LT_RELEASE=$LIBISOFS_MAJOR_VERSION.$LIBISOFS_MINOR_VERSION
   54 dnl 2021.01.30 development jump has not yet happened
   55 dnl SONAME = 97 - 91 = 6 . Library name = libisofs.6.91.0
   56 LT_CURRENT=97
   57 LT_AGE=91
   58 LT_REVISION=0
   59 LT_CURRENT_MINUS_AGE=`expr $LT_CURRENT - $LT_AGE`
   60 
   61 AC_SUBST(LT_RELEASE)
   62 AC_SUBST(LT_CURRENT)
   63 AC_SUBST(LT_REVISION)
   64 AC_SUBST(LT_AGE)
   65 AC_SUBST(LT_CURRENT_MINUS_AGE)
   66 
   67 AC_PREFIX_DEFAULT([/usr/local])
   68 test "$prefix" = "NONE" && prefix=$ac_default_prefix
   69 
   70 dnl ts B90405 : Disabled on advise of Ross Burton
   71 dnl AM_MAINTAINER_MODE
   72 
   73 AM_PROG_CC_C_O
   74 AC_C_CONST
   75 AC_C_INLINE
   76 AC_C_BIGENDIAN
   77 
   78 dnl Large file support
   79 AC_SYS_LARGEFILE
   80 AC_FUNC_FSEEKO
   81 AC_CHECK_FUNC([fseeko])
   82 if test ! $ac_cv_func_fseeko; then
   83    AC_MSG_ERROR([Libisofs requires largefile support.])
   84 fi
   85 
   86 dnl If iconv(3) is in an extra lib, then it gets added to variable LIBS.
   87 dnl If not, then no -liconv will be added.
   88 LIBBURNIA_CHECK_ICONV
   89 
   90 dnl To abort configuration if iconv() still cannot be compiled
   91 LIBBURNIA_ASSERT_ICONV
   92 
   93 
   94 AC_PROG_LIBTOOL
   95 AC_SUBST(LIBTOOL_DEPS)
   96 # LIBTOOL="$LIBTOOL --silent"
   97 
   98 AC_PROG_INSTALL
   99 
  100 AC_CHECK_HEADERS()
  101 
  102 dnl Use GNU extensions if available
  103 AC_DEFINE(_GNU_SOURCE, 1)
  104 
  105 dnl Check for tm_gmtoff field in struct tm
  106 AC_CHECK_MEMBER([struct tm.tm_gmtoff],
  107 	[AC_DEFINE(HAVE_TM_GMTOFF, 1,
  108 		[Define this if tm structure includes a tm_gmtoff entry.])],
  109 	,
  110 	[#include <time.h>])
  111 
  112 dnl Check if non standard timegm() function is available
  113 AC_CHECK_DECL([timegm], 
  114 	[AC_DEFINE(HAVE_TIMEGM, 1, [Define this if timegm function is available])],
  115 	,
  116 	[#include <time.h>])
  117 
  118 dnl Whether timezone is an integer variable
  119 AH_TEMPLATE([Libburnia_timezonE], [Either timezone or 0])
  120 LIBBURNIA_TRY_TIMEZONE
  121 if test x$LIBBURNIA_TIMEZONE = xtimezone
  122 then
  123    AC_DEFINE([Libburnia_timezonE], [timezone])
  124 else
  125    AC_DEFINE([Libburnia_timezonE], [0])
  126 fi
  127 
  128 dnl Check if non standard eaccess() function is available
  129 AC_CHECK_DECL([eaccess], 
  130 	[AC_DEFINE(HAVE_EACCESS, 1, [Define this if eaccess function is available])],
  131 	,
  132 	[#include <unistd.h>])
  133 
  134 THREAD_LIBS=-lpthread
  135 AC_SUBST(THREAD_LIBS)
  136 
  137 TARGET_SHIZZLE
  138 AC_SUBST(ARCH)
  139 AC_SUBST(LIBBURN_ARCH_LIBS)
  140 
  141 
  142 dnl See if the user wants aggressive optimizations of the code
  143 AC_ARG_ENABLE(debug,
  144 [  --enable-debug          Disable aggressive optimizations, default=yes],
  145               , enable_debug=yes)
  146 if test x$enable_debug != xyes; then
  147     if test x$GCC = xyes; then
  148         CFLAGS="-O3 $CFLAGS"
  149         CFLAGS="-fexpensive-optimizations $CFLAGS"
  150     fi
  151     CFLAGS="-DNDEBUG $CFLAGS"
  152 else
  153     if test x$GCC = xyes; then
  154         CFLAGS="-g -pedantic -Wall -Wextra -Wno-unused-parameter -Wno-char-subscripts $CFLAGS"
  155     fi
  156     CFLAGS="-DDEBUG $CFLAGS"
  157 fi
  158 
  159 dnl Verbose debug to make libisofs issue more debug messages
  160 AC_ARG_ENABLE(verbose-debug,
  161 [  --enable-verbose-debug  Enable verbose debug messages, default=no],
  162 	AC_DEFINE(LIBISOFS_VERBOSE_DEBUG, 1))
  163 
  164 
  165 dnl Determine target directory for libisofs-*.pc
  166 dnl Important: Must be performed _after_ TARGET_SHIZZLE
  167 dnl
  168 LIBBURNIA_SET_PKGCONFIG
  169 
  170 
  171 dnl Add compiler-specific flags
  172 
  173 AC_ARG_ENABLE(libacl,
  174 [  --enable-libacl         Enable use of ACL functions by libisofs, default=yes],
  175                , enable_libacl=yes)
  176 LIBACL_DEF=
  177 has_acl_h_but_no_func=0
  178 if test x$LIBBURNIA_SUPP_ACL = xlibacl
  179 then
  180     if test x$enable_libacl = xyes; then
  181 dnl Check whether there is libacl-devel and libacl-runtime.
  182 dnl If not, erase this macro which would enable use of acl_to_text and others
  183         LIBACL_DEF="-DLibisofs_with_aaip_acL"
  184 dnl The empty yes case obviously causes -lacl to be linked
  185         AC_CHECK_HEADER(sys/acl.h, AC_CHECK_LIB(acl, acl_to_text, , has_acl_h_but_no_libacl=1 ), LIBACL_DEF= )
  186         if test "$has_acl_h_but_no_libacl" = 1
  187         then
  188             AC_CHECK_LIB(c, acl_to_text, X= , LIBACL_DEF= )
  189         fi
  190     fi
  191 fi
  192 if test x$LIBACL_DEF = x-DLibisofs_with_aaip_acL
  193 then
  194     if test x$has_acl_h_but_no_libacl = x1
  195     then
  196         echo "enabled  local processing of ACL"
  197     else
  198         echo "enabled  libacl, local processing of ACL"
  199     fi
  200 else
  201     echo "disabled local processing of ACL"
  202 fi
  203 AC_SUBST(LIBACL_DEF)
  204 
  205 
  206 dnl ts A90123 - B80508
  207 AC_ARG_ENABLE(xattr,
  208               [  --enable-xattr          Enable use of extended file attributes by libisofs, default=yes],
  209               , enable_xattr=yes)
  210 AC_ARG_ENABLE(xattr_h_pref_attr,
  211               [  --enable-xattr-h-pref-attr   Prefer include file attr/xattr.h over sys/xattr.h, default=no],
  212               , enable_xattr_h_pref_attr=no)
  213 
  214 XATTR_DEF=
  215 XATTR_ADDON_DEF=
  216 if test x"$LIBBURNIA_SUPP_FATTR" = xxattr
  217 then
  218     if test "x$enable_xattr" = xyes; then
  219 dnl Check whether there is the header for Linux xattr.
  220 dnl If not, erase this macro which would enable use of listxattr and others
  221 
  222         XATTR_A_DEF=
  223         XATTR_S_DEF=
  224         if test x"$enable_xattr_h_pref_attr" = xyes
  225         then
  226             echo "prefering include file attr/xattr.h over sys/attr.h"
  227             XATTR_A_DEF=1
  228             AC_CHECK_HEADER(attr/xattr.h, AC_CHECK_LIB(c, listxattr, X= ,
  229                                                  XATTR_A_DEF= ), XATTR_A_DEF= )
  230             if test x"$XATTR_A_DEF" = x1
  231             then
  232                 XATTR_DEF="-DLibisofs_with_aaip_xattR"
  233             else
  234                 XATTR_S_DEF=1
  235                 AC_CHECK_HEADER(sys/xattr.h, AC_CHECK_LIB(c, listxattr, X= ,
  236                                                  XATTR_S_DEF= ), XATTR_S_DEF= )
  237                 if test x"$XATTR_S_DEF" = x1
  238                 then
  239                     XATTR_DEF="-DLibisofs_with_aaip_xattR"
  240                     XATTR_ADDON_DEF="-DLibisofs_with_sys_xattR"
  241                 fi
  242             fi
  243         else
  244             XATTR_S_DEF=1
  245             AC_CHECK_HEADER(sys/xattr.h, AC_CHECK_LIB(c, listxattr, X= ,
  246                                                  XATTR_S_DEF= ), XATTR_S_DEF= )
  247             if test x"$XATTR_S_DEF" = x1
  248             then
  249                 XATTR_DEF="-DLibisofs_with_aaip_xattR"
  250                 XATTR_ADDON_DEF="-DLibisofs_with_sys_xattR"
  251             else
  252                 XATTR_A_DEF=1
  253                 AC_CHECK_HEADER(attr/xattr.h, AC_CHECK_LIB(c, listxattr, X= ,
  254                                                  XATTR_A_DEF= ), XATTR_A_DEF= )
  255                 if test x"$XATTR_A_DEF" = x1
  256                 then
  257                     XATTR_DEF="-DLibisofs_with_aaip_xattR"
  258                 fi
  259             fi
  260         fi
  261         if test x"$XATTR_S_DEF" = x1
  262         then
  263             echo "decided  to include file sys/attr.h"
  264         elif test x"$XATTR_A_DEF" = x1
  265         then
  266             echo "decided  to include file attr/xattr.h"
  267         fi
  268     fi
  269 elif test x"$LIBBURNIA_SUPP_FATTR" = xextattr
  270 then
  271     if test "x$enable_xattr" = xyes; then
  272         XATTR_DEF="-DLibisofs_with_freebsd_extattR"
  273         AC_CHECK_HEADER(sys/extattr.h, AC_CHECK_LIB(c, extattr_list_file, X=,
  274                                                     XATTR_DEF= ), XATTR_DEF= )
  275     fi
  276 fi
  277 if test x$XATTR_DEF = x-DLibisofs_with_aaip_xattR
  278 then
  279     echo "enabled  xattr, local processing of extended file attributes Linux style"
  280 elif test x$XATTR_DEF = x-DLibisofs_with_freebsd_extattR
  281 then
  282     echo "enabled  extattr, local processing of extended file attributes FreeBSD style"
  283 else
  284     echo "disabled local processing of extended file attributes"
  285 fi
  286 XATTR_DEF="$XATTR_DEF $XATTR_ADDON_DEF"
  287 
  288 AC_SUBST(XATTR_DEF)
  289 
  290 
  291 dnl ts A90409
  292 AC_ARG_ENABLE(zlib,
  293 [  --enable-zlib           Enable use of zlib by libisofs, default=yes],
  294                , enable_zlib=yes)
  295 if test "x$enable_zlib" = xyes; then
  296 dnl Check whether there is the header for zlib. 
  297 dnl If not, erase this macro which would enable use of compress2() and others.
  298 dnl Linking fails on SuSE 9.0 because zlib has compress2() but lacks  
  299 dnl compressBound(). So compressBound is the more modern thing to test.
  300 dnl The empty parameter after "compressBound" causes -lz.
  301     ZLIB_DEF="-DLibisofs_with_zliB"
  302     AC_CHECK_HEADER(zlib.h, AC_CHECK_LIB(z, compressBound, , ZLIB_DEF= ), ZLIB_DEF= )
  303 else
  304     ZLIB_DEF=
  305 fi
  306 AC_SUBST(ZLIB_DEF)
  307 
  308 dnl ts B00927
  309 AC_ARG_ENABLE(libjte,
  310 [  --enable-libjte           Enable use of libjte >= 2.0 by libisofs, default=yes],
  311                , enable_libjte=yes)
  312 if test "x$enable_libjte" = xyes; then
  313     LIBJTE_DEF="-DLibisofs_with_libjtE"
  314     AC_CHECK_HEADER(libjte/libjte.h, AC_CHECK_LIB(jte, libjte_set_checksum_algorithm, , LIBJTE_DEF= ), LIBJTE_DEF= )
  315 else
  316     LIBJTE_DEF=
  317 fi
  318 AC_SUBST(LIBJTE_DEF)
  319 
  320 # Library versioning normally serves a complex purpose.
  321 # Since libisofs obeys strict ABI backward compatibility, it needs only the
  322 # simple feature to declare function names "global:" or "local:". Only the
  323 # global ones are visible to applications at library load time.
  324 AC_ARG_ENABLE(versioned-libs,
  325 [  --enable-versioned-libs Enable strict symbol encapsulation , default=yes],
  326                , enable_versioned_libs=yes)
  327 if test x$enable_versioned_libs = xyes; then
  328     vers_libs_test=no
  329     LIBISOFS_ASSERT_VERS_LIBS
  330     if test x$vers_libs_test = xno
  331     then 
  332         echo "disabled strict symbol encapsulation (test failed)"
  333     else
  334         echo "enabled  strict symbol encapsulation"
  335     fi
  336 else
  337     echo "disabled strict symbol encapsulation"
  338 fi
  339 
  340 AC_ARG_ENABLE(ldconfig-at-install,
  341 [  --enable-ldconfig-at-install    On GNU/Linux run ldconfig, default=yes],
  342                , ldconfig_at_install=yes)
  343 if test x$ldconfig_at_install = xyes; then 
  344     dummy=dummy
  345 else
  346     LIBBURNIA_LDCONFIG_CMD="echo 'NOTE: ldconfig is disabled. If needed, configure manually for:'"
  347     echo "disabled run of ldconfig during installation on GNU/Linux"
  348 fi  
  349 AC_SUBST(LIBBURNIA_LDCONFIG_CMD)
  350 
  351 AC_CONFIG_FILES([
  352 	Makefile
  353 	doc/doxygen.conf
  354 	version.h
  355 	libisofs-1.pc
  356 	])
  357 AC_OUTPUT