AC_INIT([xorriso], [0.4.9], [http://libburnia-project.org]) AC_PREREQ([2.50]) dnl AC_CONFIG_HEADER([config.h]) AC_CANONICAL_HOST AC_CANONICAL_TARGET LIBBURNIA_SET_FLAGS AM_INIT_AUTOMAKE([subdir-objects]) BURN_MAJOR_VERSION=0 BURN_MINOR_VERSION=7 BURN_MICRO_VERSION=7 AC_SUBST(BURN_MAJOR_VERSION) AC_SUBST(BURN_MINOR_VERSION) AC_SUBST(BURN_MICRO_VERSION) LIBISOFS_MAJOR_VERSION=0 LIBISOFS_MINOR_VERSION=6 LIBISOFS_MICRO_VERSION=27 AC_SUBST(LIBISOFS_MAJOR_VERSION) AC_SUBST(LIBISOFS_MINOR_VERSION) AC_SUBST(LIBISOFS_MICRO_VERSION) dnl The API version codes are defined in libisoburn/libisoburn.h dnl #define isoburn_header_version_* 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 libiconv, 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() AC_CHECK_MEMBER([struct tm.tm_gmtoff], [AC_DEFINE(HAVE_TM_GMTOFF, 1, [Define this if tm structure includes a tm_gmtoff entry.])], , [#include ]) dnl Check if non standard timegm() function is available AC_CHECK_DECL([timegm], [AC_DEFINE(HAVE_TIMEGM, 1, [Define this if timegm function is available])], , [#include ]) dnl Check if non standard eaccess() function is available AC_CHECK_DECL([eaccess], [AC_DEFINE(HAVE_EACCESS, 1, [Define this if eaccess function is available])], , [#include ]) THREAD_LIBS=-lpthread AC_SUBST(THREAD_LIBS) TARGET_SHIZZLE AC_SUBST(ARCH) AC_SUBST(LIBBURNIA_PKGCONFDIR) AC_SUBST(LIBBURN_ARCH_LIBS) dnl ts A90303 dnl Check the preconditions for using statvfs() in sg-dummy dnl (sg-linux and sg-freebsd use statvfs() unconditionally) STATVFS_DEF=-DLibburn_os_has_statvfS AC_CHECK_HEADER(sys/statvfs.h, X=, STATVFS_DEF=) AC_CHECK_FUNC([statvfs], X=, STATVFS_DEF=) CFLAGS="$CFLAGS $STATVFS_DEF" 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 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) 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) 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 Linking fails on SuSE 9.0 because zlib has compress2() but lacks dnl compressBound(). So compressBound is the more modern thing to test. dnl The empty parameter after "compressBound" causes -lz. ZLIB_DEF="-DLibisofs_with_zliB" AC_CHECK_HEADER(zlib.h, AC_CHECK_LIB(z, compressBound, , ZLIB_DEF= ), ZLIB_DEF= ) else ZLIB_DEF= fi AC_SUBST(ZLIB_DEF) AC_ARG_ENABLE(libcdio, [ --enable-libcdio Enable EXPERIMENTAL use of libcdio as system adapter, default=no], , enable_libcdio=no) if test x$enable_libcdio = xyes; then dnl Check whether there is libcdio-devel and libcdio-runtime. dnl If not, erase this macro LIBCDIO_DEF="-DLibburn_use_libcdiO" dnl The empty yes case obviously causes -lcdio to be linked AC_CHECK_HEADER(cdio/cdio.h, AC_CHECK_LIB(cdio, mmc_last_cmd_sense, , LIBCDIO_DEF= ), LIBCDIO_DEF= ) else LIBCDIO_DEF= fi if test x$LIBCDIO_DEF = x then if test x$enable_libcdio = xyes then echo "WARNING: could not enable use of libcdio as system adapter" fi else echo "enabled EXPERIMENTAL use of libcdio as system adapter" LIBCDIO_REQUIRED=0.83 PKG_CHECK_MODULES(LIBCDIO, libcdio >= $LIBCDIO_REQUIRED) fi AC_SUBST(LIBCDIO_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_ARG_ENABLE(dvd-obs-64k, [ --enable-dvd-obs-64k 64 KB default size for DVD/BD writing, default=no], , enable_dvd_obs=no) if test x$enable_dvd_obs_64k = xyes; then XORRISO_DVD_OBS_64K="-DXorriso_dvd_obs_default_64K" echo "enabled xorriso write size default 64 KB on DVD and BD" else XORRISO_DVD_OBS_64K= echo "disabled xorriso write size default 64 KB on DVD and BD" fi AC_SUBST(XORRISO_DVD_OBS_64K) AC_ARG_ENABLE(track-src-odirect, [ --enable-track-src-odirect Enable use of O_DIRECT with -as cdrskin, default=no], , enable_track_src_odirect=no) if test x$enable_track_src_odirect = xyes; then LIBBURN_O_DIRECT_DEF="-DLibburn_read_o_direcT" echo "enabled use of O_DIRECT with input of -as cdrskin" else LIBBURN_O_DIRECT_DEF= echo "disabled use of O_DIRECT with input of -as cdrskin" fi AC_SUBST(LIBBURN_O_DIRECT_DEF) AC_CONFIG_FILES([ Makefile version.h ]) AC_OUTPUT # xorriso.pc