235 lines
7.1 KiB
Plaintext
235 lines
7.1 KiB
Plaintext
|
AC_INIT([libisoburn], [0.4.1], [http://libburnia-project.org])
|
||
|
AC_PREREQ([2.50])
|
||
|
dnl AC_CONFIG_HEADER([config.h])
|
||
|
|
||
|
AC_CANONICAL_HOST
|
||
|
AC_CANONICAL_TARGET
|
||
|
|
||
|
AM_INIT_AUTOMAKE([subdir-objects])
|
||
|
|
||
|
dnl Hint: Search list for version code aspects:
|
||
|
dnl /AC_INIT(
|
||
|
dnl /ISOBURN_.*_VERSION
|
||
|
dnl /LT_.*
|
||
|
dnl /LIB.*_REQUIRED
|
||
|
|
||
|
dnl The API version codes are defined in libisoburn/libisoburn.h
|
||
|
dnl #define isoburn_header_version_*
|
||
|
dnl configure.ac only rules the libtool revision numbering about
|
||
|
dnl LT_CURREN, LT_AGE, LT_REVISION where SONAME becomes LT_CURRENT - LT_AGE
|
||
|
dnl
|
||
|
dnl These three are only copies to provide libtool with unused LT_RELEASE
|
||
|
ISOBURN_MAJOR_VERSION=0
|
||
|
ISOBURN_MINOR_VERSION=4
|
||
|
ISOBURN_MICRO_VERSION=1
|
||
|
|
||
|
dnl ISOBURN_VERSION=$ISOBURN_MAJOR_VERSION.$ISOBURN_MINOR_VERSION.$ISOBURN_MICRO_VERSION
|
||
|
|
||
|
AC_SUBST(ISOBURN_MAJOR_VERSION)
|
||
|
AC_SUBST(ISOBURN_MINOR_VERSION)
|
||
|
AC_SUBST(ISOBURN_MICRO_VERSION)
|
||
|
dnl AC_SUBST(ISOBURN_VERSION)
|
||
|
|
||
|
dnl Libtool versioning
|
||
|
dnl Generate libisoburn.so.1.x.y
|
||
|
dnl SONAME will become LT_CURRENT - LT_AGE
|
||
|
dnl
|
||
|
dnl ts A90628
|
||
|
dnl ### This is the release version 0.4.0 = libisoburn.so.1.29.0
|
||
|
dnl This is the development version after above stable release
|
||
|
dnl LT_CURRENT++, LT_AGE++ have not happened happened yet.
|
||
|
dnl ### LT_CURRENT++, LT_AGE++ has happened meanwhile.
|
||
|
dnl
|
||
|
dnl SONAME = 30 - 29 = 1 . Library name = libisoburn.so.1.29.0
|
||
|
LT_RELEASE=$ISOBURN_MAJOR_VERSION.$ISOBURN_MINOR_VERSION
|
||
|
LT_CURRENT=30
|
||
|
LT_AGE=29
|
||
|
LT_REVISION=0
|
||
|
LT_CURRENT_MINUS_AGE=`expr $LT_CURRENT - $LT_AGE`
|
||
|
|
||
|
AC_SUBST(LT_RELEASE)
|
||
|
AC_SUBST(LT_CURRENT)
|
||
|
AC_SUBST(LT_REVISION)
|
||
|
AC_SUBST(LT_AGE)
|
||
|
AC_SUBST(LT_CURRENT_MINUS_AGE)
|
||
|
|
||
|
AC_PREFIX_DEFAULT([/usr/local])
|
||
|
test "$prefix" = "NONE" && prefix=$ac_default_prefix
|
||
|
|
||
|
AM_MAINTAINER_MODE
|
||
|
|
||
|
AM_PROG_CC_C_O
|
||
|
AC_C_CONST
|
||
|
AC_C_INLINE
|
||
|
AC_C_BIGENDIAN
|
||
|
|
||
|
dnl Large file support
|
||
|
AC_SYS_LARGEFILE
|
||
|
AC_FUNC_FSEEKO
|
||
|
AC_CHECK_FUNC([fseeko])
|
||
|
if test ! $ac_cv_func_fseeko; then
|
||
|
AC_ERROR([Libburn requires largefile support.])
|
||
|
fi
|
||
|
|
||
|
dnl If iconv(3) is in an extra lib, then it gets added to variable LIBS.
|
||
|
dnl If not, then no -liconv will be added.
|
||
|
AC_CHECK_LIB(iconv, iconv, , )
|
||
|
dnl GNU iconv has no function iconv() but libiconv() and a macro iconv()
|
||
|
AC_CHECK_LIB(iconv, libiconv, , )
|
||
|
|
||
|
AC_PROG_LIBTOOL
|
||
|
AC_SUBST(LIBTOOL_DEPS)
|
||
|
LIBTOOL="$LIBTOOL --silent"
|
||
|
|
||
|
AC_PROG_INSTALL
|
||
|
|
||
|
AC_CHECK_HEADERS()
|
||
|
|
||
|
THREAD_LIBS=-lpthread
|
||
|
AC_SUBST(THREAD_LIBS)
|
||
|
|
||
|
TARGET_SHIZZLE
|
||
|
AC_SUBST(ARCH)
|
||
|
AC_SUBST(LIBBURNIA_PKGCONFDIR)
|
||
|
AC_SUBST(LIBBURN_ARCH_LIBS)
|
||
|
|
||
|
|
||
|
dnl Determine target directory for libisoburn-*.pc
|
||
|
dnl Important: Must be performed _after_ TARGET_SHIZZLE
|
||
|
dnl
|
||
|
LIBBURNIA_SET_PKGCONFIG
|
||
|
|
||
|
|
||
|
AC_ARG_ENABLE(libreadline,
|
||
|
[ --enable-libreadline Enable use of libreadline by xorriso, default=yes],
|
||
|
, enable_libreadline=yes)
|
||
|
if test x$enable_libreadline = xyes; then
|
||
|
dnl Check whether there is readline-devel and readline-runtime.
|
||
|
dnl If not, erase this macro which would enable use of readline(),add_history()
|
||
|
READLINE_DEF="-DXorriso_with_readlinE"
|
||
|
dnl The empty yes case obviously causes -lreadline to be linked
|
||
|
AC_CHECK_HEADER(readline/readline.h, AC_CHECK_LIB(readline, readline, , READLINE_DEF= ), READLINE_DEF= )
|
||
|
dnl The X= in the yes case prevents that -lreadline gets linked twice
|
||
|
AC_CHECK_HEADER(readline/history.h, AC_CHECK_LIB(readline, add_history, X= , READLINE_DEF= ), READLINE_DEF= )
|
||
|
else
|
||
|
READLINE_DEF=
|
||
|
fi
|
||
|
AC_SUBST(READLINE_DEF)
|
||
|
|
||
|
dnl ts A90329
|
||
|
dnl ACL and xattr do not need to be enabled in libisoburn or xorriso source
|
||
|
dnl but without AC_CHECK_LIB() xorriso will not be linked with -lacl .
|
||
|
dnl On my Linux this does work with an ACL enabled libisofs but in general
|
||
|
dnl it seems not be right.
|
||
|
dnl So for now it seems to be best to do the same configuration for libisoburn
|
||
|
dnl and xorriso as for libisofs.
|
||
|
|
||
|
AC_ARG_ENABLE(libacl,
|
||
|
[ --enable-libacl Enable use of libacl by libisofs, default=yes],
|
||
|
, enable_libacl=yes)
|
||
|
if test x$enable_libacl = xyes; then
|
||
|
dnl Check whether there is libacl-devel and libacl-runtime.
|
||
|
dnl If not, erase this macro which would enable use of acl_to_text and others
|
||
|
LIBACL_DEF="-DLibisofs_with_aaip_acL"
|
||
|
dnl The empty yes case obviously causes -lacl to be linked
|
||
|
AC_CHECK_HEADER(sys/acl.h, AC_CHECK_LIB(acl, acl_to_text, , LIBACL_DEF= ), LIBACL_DEF= )
|
||
|
else
|
||
|
LIBACL_DEF=
|
||
|
fi
|
||
|
AC_SUBST(LIBACL_DEF)
|
||
|
|
||
|
|
||
|
AC_ARG_ENABLE(xattr,
|
||
|
[ --enable-xattr Enable use of xattr by libisofs, default=yes],
|
||
|
, enable_xattr=yes)
|
||
|
if test x$enable_xattr = xyes; then
|
||
|
dnl Check whether there is the header for Linux xattr.
|
||
|
dnl If not, erase this macro which would enable use of listxattr and others
|
||
|
XATTR_DEF="-DLibisofs_with_aaip_xattR"
|
||
|
AC_CHECK_HEADER(attr/xattr.h, AC_CHECK_LIB(c, listxattr, X= , XATTR_DEF= ), XATTR_DEF= )
|
||
|
else
|
||
|
XATTR_DEF=
|
||
|
fi
|
||
|
AC_SUBST(XATTR_DEF)
|
||
|
|
||
|
|
||
|
dnl ts A90409
|
||
|
dnl Same situation as with xattr and ACL: libisoburn does not depend directly
|
||
|
dnl on zlib. But if it is enabled in libisofs then it seems wise to link it
|
||
|
dnl with libisoburn apps.
|
||
|
AC_ARG_ENABLE(zlib,
|
||
|
[ --enable-zlib Enable use of zlib by libisofs, default=yes],
|
||
|
, enable_zlib=yes)
|
||
|
if test x$enable_zlib = xyes; then
|
||
|
dnl Check whether there is the header for zlib.
|
||
|
dnl If not, erase this macro which would enable use of compress2() and others.
|
||
|
dnl The empty parameter after "compress2" causes -lz.
|
||
|
ZLIB_DEF="-DLibisofs_with_zliB"
|
||
|
AC_CHECK_HEADER(zlib.h, AC_CHECK_LIB(z, compress2, , ZLIB_DEF= ), ZLIB_DEF= )
|
||
|
else
|
||
|
ZLIB_DEF=
|
||
|
fi
|
||
|
AC_SUBST(ZLIB_DEF)
|
||
|
|
||
|
|
||
|
AC_ARG_ENABLE(external-filters,
|
||
|
[ --enable-external-filters Enable use of external filter programs by xorriso, default=yes],
|
||
|
, enable_external_filters=yes)
|
||
|
if test x"$enable_external_filters" = xyes; then
|
||
|
EXTF_DEF="-DXorriso_allow_external_filterS"
|
||
|
echo "enabled xorriso external filter programs"
|
||
|
else
|
||
|
EXTF_DEF=
|
||
|
echo "disabled xorriso external filter programs"
|
||
|
fi
|
||
|
AC_SUBST(EXTF_DEF)
|
||
|
|
||
|
AC_ARG_ENABLE(external-filters-setuid,
|
||
|
[ --enable-external-filters-setuid Enable xorriso external filter programs under setuid, default=no],
|
||
|
, enable_external_filters_setuid=no)
|
||
|
if test x$enable_external_filters_setuid = xyes; then
|
||
|
EXTF_SUID_DEF="-DXorriso_allow_extf_suiD"
|
||
|
echo "enabled xorriso external filter programs under setuid"
|
||
|
else
|
||
|
EXTF_SUID_DEF=
|
||
|
echo "disabled xorriso external filter programs under setuid"
|
||
|
fi
|
||
|
AC_SUBST(EXTF_SUID_DEF)
|
||
|
|
||
|
|
||
|
AC_CHECK_HEADER(libburn/libburn.h)
|
||
|
AC_CHECK_HEADER(libisofs/libisofs.h)
|
||
|
|
||
|
dnl Check for proper library versions
|
||
|
LIBBURN_REQUIRED=0.7.0
|
||
|
LIBISOFS_REQUIRED=0.6.22
|
||
|
PKG_CHECK_MODULES(LIBBURN, libburn-1 >= $LIBBURN_REQUIRED)
|
||
|
PKG_CHECK_MODULES(LIBISOFS, libisofs-1 >= $LIBISOFS_REQUIRED)
|
||
|
|
||
|
dnl Add compiler-specific flags
|
||
|
|
||
|
dnl See if the user wants aggressive optimizations of the code
|
||
|
AC_ARG_ENABLE(debug,
|
||
|
[ --enable-debug Disable aggressive optimizations [default=yes]],
|
||
|
, enable_debug=yes)
|
||
|
if test x$enable_debug != xyes; then
|
||
|
if test x$GCC = xyes; then
|
||
|
CFLAGS="$CFLAGS -O3"
|
||
|
CFLAGS="$CFLAGS -fexpensive-optimizations"
|
||
|
fi
|
||
|
CFLAGS="$CFLAGS -DNDEBUG"
|
||
|
else
|
||
|
if test x$GCC = xyes; then
|
||
|
CFLAGS="$CFLAGS -g -pedantic -Wall"
|
||
|
fi
|
||
|
CFLAGS="$CFLAGS -DDEBUG"
|
||
|
fi
|
||
|
|
||
|
AC_CONFIG_FILES([
|
||
|
Makefile
|
||
|
doc/doxygen.conf
|
||
|
version.h
|
||
|
libisoburn-1.pc
|
||
|
])
|
||
|
AC_OUTPUT
|