|
Packit |
cb6d3d |
dnl Copyright (C) 2011-2017
|
|
Packit |
cb6d3d |
dnl Rocky Bernstein <rocky@gnu.org>
|
|
Packit |
cb6d3d |
dnl
|
|
Packit |
cb6d3d |
dnl This program is free software: you can redistribute it and/or modify
|
|
Packit |
cb6d3d |
dnl it under the terms of the GNU General Public License as published by
|
|
Packit |
cb6d3d |
dnl the Free Software Foundation, either version 3 of the License, or
|
|
Packit |
cb6d3d |
dnl (at your option) any later version.
|
|
Packit |
cb6d3d |
dnl
|
|
Packit |
cb6d3d |
dnl This program is distributed in the hope that it will be useful,
|
|
Packit |
cb6d3d |
dnl but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
Packit |
cb6d3d |
dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
Packit |
cb6d3d |
dnl GNU General Public License for more details.
|
|
Packit |
cb6d3d |
dnl
|
|
Packit |
cb6d3d |
dnl You should have received a copy of the GNU General Public License
|
|
Packit |
cb6d3d |
dnl along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
Packit |
cb6d3d |
|
|
Packit |
cb6d3d |
define(RELEASE_NUM, 94+2)
|
|
Packit |
cb6d3d |
define(PARANOIA_VERSION, 10.2)
|
|
Packit |
cb6d3d |
define(LIBCDIO_PARANOIA_VERSION_STR, $1+0.$2)
|
|
Packit |
cb6d3d |
|
|
Packit |
cb6d3d |
AC_DEFINE([PACKAGE], [libcdio-paranoia], [cdparanoia using libcdio])
|
|
Packit |
cb6d3d |
|
|
Packit |
cb6d3d |
AC_PREREQ(2.69)
|
|
Packit |
cb6d3d |
|
|
Packit |
cb6d3d |
AC_INIT([libcdio-paranoia], [LIBCDIO_PARANOIA_VERSION_STR(PARANOIA_VERSION,RELEASE_NUM)],
|
|
Packit |
cb6d3d |
[https://github.com/rocky/libcdio-paranoia/issues])
|
|
Packit |
cb6d3d |
AC_CONFIG_SRCDIR(src/cd-paranoia.c)
|
|
Packit |
cb6d3d |
AM_INIT_AUTOMAKE([foreign])
|
|
Packit |
cb6d3d |
|
|
Packit |
cb6d3d |
AC_CANONICAL_HOST
|
|
Packit |
cb6d3d |
AM_CONFIG_HEADER(config.h)
|
|
Packit |
cb6d3d |
AC_CONFIG_MACRO_DIR([m4])
|
|
Packit |
cb6d3d |
|
|
Packit |
cb6d3d |
AM_MISSING_PROG(HELP2MAN, help2man, $missing_dir)
|
|
Packit |
cb6d3d |
AM_MISSING_PROG(GIT2CL, git2cl, $missing_dir)
|
|
Packit |
cb6d3d |
AM_MAINTAINER_MODE
|
|
Packit |
cb6d3d |
|
|
Packit |
cb6d3d |
AM_SANITY_CHECK
|
|
Packit |
cb6d3d |
|
|
Packit |
cb6d3d |
AC_ARG_WITH(cd-paranoia-name,
|
|
Packit |
cb6d3d |
AC_HELP_STRING([--with-cd-paranoia-name], [name to use as the cd-paranoia program name (default cd-paranoia)]),
|
|
Packit |
cb6d3d |
cd_paranoia_name="${withval}", cd_paranoia_name="cd-paranoia")
|
|
Packit |
cb6d3d |
CDPARANOIA_NAME="$cd_paranoia_name"
|
|
Packit |
cb6d3d |
AC_SUBST(CDPARANOIA_NAME)
|
|
Packit |
cb6d3d |
|
|
Packit |
cb6d3d |
AC_ARG_WITH(versioned-libs,
|
|
Packit |
cb6d3d |
AC_HELP_STRING([--without-versioned-libs], [build versioned library symbols (default enabled if you have GNU ld)]),
|
|
Packit |
cb6d3d |
enable_versioned_libs="${withval}", enable_versioned_libs=yes)
|
|
Packit |
cb6d3d |
|
|
Packit |
cb6d3d |
AC_ARG_ENABLE(example-progs,
|
|
Packit |
cb6d3d |
AC_HELP_STRING([--disable-example-progs], [Don't build libcdio-paranoia sample programs]))
|
|
Packit |
cb6d3d |
|
|
Packit |
cb6d3d |
AC_ARG_ENABLE([cxx],
|
|
Packit |
cb6d3d |
AC_HELP_STRING([--disable-cxx], [Disable C++ bindings (default enabled)]))
|
|
Packit |
cb6d3d |
AM_CONDITIONAL([ENABLE_CXX_BINDINGS], [test "x$enable_cxx" != "xno"])
|
|
Packit |
cb6d3d |
|
|
Packit |
cb6d3d |
AC_ARG_ENABLE(cpp-progs,
|
|
Packit |
cb6d3d |
AC_HELP_STRING([--enable-cpp-progs], [make C++ example programs (default enabled)]))
|
|
Packit |
cb6d3d |
AM_CONDITIONAL(ENABLE_CPP, test x"$enable_cpp_progs" = "xyes")
|
|
Packit |
cb6d3d |
|
|
Packit |
cb6d3d |
dnl cheeck whether ld supports --version-script
|
|
Packit |
cb6d3d |
|
|
Packit |
cb6d3d |
AC_ARG_ENABLE(ld-version-script,
|
|
Packit |
cb6d3d |
AS_HELP_STRING([--disable-ld-version-script],
|
|
Packit |
cb6d3d |
[Disable linker vresion script for libraries (Defauilt is to use linker script if the linger supports it)]),
|
|
Packit |
cb6d3d |
[enable_version_script=$enableval],
|
|
Packit |
cb6d3d |
[enable_version_script=auto])
|
|
Packit |
cb6d3d |
|
|
Packit |
cb6d3d |
AM_CONDITIONAL(VERSION_SCRIPT, test "x$enable_version_script" = "xyes")
|
|
Packit |
cb6d3d |
|
|
Packit |
cb6d3d |
|
|
Packit |
cb6d3d |
# Do we have GNU ld? If we don't, we can't build versioned symbols.
|
|
Packit |
cb6d3d |
AC_ARG_ENABLE(example-progs,
|
|
Packit |
cb6d3d |
AC_HELP_STRING([--disable-example-progs], [Don't build libcdio sample programs]))
|
|
Packit |
cb6d3d |
|
|
Packit |
cb6d3d |
AM_CONDITIONAL(BUILD_EXAMPLES, test "x$enable_example_progs" != "xno")
|
|
Packit |
cb6d3d |
AM_CONDITIONAL(BUILD_VERSIONED_LIBS, test "x$enable_versioned_libs" = "xyes")
|
|
Packit |
cb6d3d |
|
|
Packit |
cb6d3d |
dnl We use C
|
|
Packit |
cb6d3d |
AC_PROG_CC
|
|
Packit |
cb6d3d |
AM_PROG_CC_C_O
|
|
Packit |
cb6d3d |
dnl We also use C++ in example programs and for CXX bindings
|
|
Packit |
cb6d3d |
AC_PROG_CXX
|
|
Packit |
cb6d3d |
|
|
Packit |
cb6d3d |
dnl Checks for programs.
|
|
Packit |
cb6d3d |
AC_AIX
|
|
Packit |
cb6d3d |
|
|
Packit |
cb6d3d |
AC_PROG_MKDIR_P
|
|
Packit |
cb6d3d |
|
|
Packit |
cb6d3d |
if test "x$GCC" != "xyes"
|
|
Packit |
cb6d3d |
then
|
|
Packit |
cb6d3d |
AC_MSG_WARN([
|
|
Packit |
cb6d3d |
*** non GNU CC compiler detected.
|
|
Packit |
cb6d3d |
*** This package has not been tested very well with non GNU compilers
|
|
Packit |
cb6d3d |
*** you should try to use 'gcc' for compiling this package.])
|
|
Packit |
cb6d3d |
else
|
|
Packit |
cb6d3d |
WARN_CFLAGS="-Wall -Wchar-subscripts -Wmissing-prototypes -Wmissing-declarations -Wunused -Wpointer-arith -Wwrite-strings -Wnested-externs -Wno-sign-compare"
|
|
Packit |
cb6d3d |
|
|
Packit |
cb6d3d |
for WOPT in $WARN_CFLAGS; do
|
|
Packit |
cb6d3d |
SAVE_CFLAGS="$CFLAGS"
|
|
Packit |
cb6d3d |
CFLAGS="$CFLAGS $WOPT"
|
|
Packit |
cb6d3d |
AC_MSG_CHECKING([whether $CC understands $WOPT])
|
|
Packit |
cb6d3d |
AC_TRY_COMPILE([], [], has_option=yes, has_option=no,)
|
|
Packit |
cb6d3d |
CFLAGS="$SAVE_CFLAGS"
|
|
Packit |
cb6d3d |
AC_MSG_RESULT($has_option)
|
|
Packit |
cb6d3d |
if test $has_option = yes; then
|
|
Packit |
cb6d3d |
warning_flags="$warning_flags $option"
|
|
Packit |
cb6d3d |
fi
|
|
Packit |
cb6d3d |
unset has_option
|
|
Packit |
cb6d3d |
unset SAVE_CFLAGS
|
|
Packit |
cb6d3d |
done
|
|
Packit |
cb6d3d |
WARNING_FLAGS="$warning_flags"
|
|
Packit |
cb6d3d |
unset warning_flags
|
|
Packit |
cb6d3d |
fi
|
|
Packit |
cb6d3d |
|
|
Packit |
cb6d3d |
PKG_CHECK_MODULES(LIBCDIO, libcdio >= 0.83, [],
|
|
Packit |
cb6d3d |
[AC_MSG_ERROR(Required libcdio library not found. Please get libcdio from http://www.gnu.org/software/libcdio/ and install it.)])
|
|
Packit |
cb6d3d |
AC_SUBST(LIBCDIO_LIBS)
|
|
Packit |
cb6d3d |
AC_SUBST(LIBCDIO_CFLAGS)
|
|
Packit |
cb6d3d |
|
|
Packit |
cb6d3d |
# We use Perl for documentation and regression tests
|
|
Packit |
cb6d3d |
AC_PATH_PROG(PERL, perl, false)
|
|
Packit |
cb6d3d |
AC_SUBST(PERL)
|
|
Packit |
cb6d3d |
AM_CONDITIONAL(HAVE_PERL, test "$PERL" != "false")
|
|
Packit |
cb6d3d |
|
|
Packit |
cb6d3d |
# We use a diff in regression testing
|
|
Packit |
cb6d3d |
AC_PATH_PROG(DIFF, diff, no)
|
|
Packit |
cb6d3d |
DIFF_OPTS=
|
|
Packit |
cb6d3d |
|
|
Packit |
cb6d3d |
if test "$DIFF" = no ; then
|
|
Packit |
cb6d3d |
AC_PATH_PROG(DIFF, cmp, no)
|
|
Packit |
cb6d3d |
else
|
|
Packit |
cb6d3d |
# Try for GNU diff options.
|
|
Packit |
cb6d3d |
# MSDOG output uses \r\n rather than \n in tests
|
|
Packit |
cb6d3d |
for diff_opt in -w --unified ; do
|
|
Packit |
cb6d3d |
if $DIFF $diff_opt ./configure ./configure > /dev/null 2>&1; then
|
|
Packit |
cb6d3d |
AC_MSG_RESULT([adding $diff_opt to diff in regression tests])
|
|
Packit |
cb6d3d |
DIFF_OPTS="$DIFF_OPTS $diff_opt"
|
|
Packit |
cb6d3d |
fi
|
|
Packit |
cb6d3d |
done
|
|
Packit |
cb6d3d |
fi
|
|
Packit |
cb6d3d |
AC_SUBST(DIFF)
|
|
Packit |
cb6d3d |
AC_SUBST(DIFF_OPTS)
|
|
Packit |
cb6d3d |
|
|
Packit |
cb6d3d |
# We use cmp, dd, and wc in cd-paranoia regression testing
|
|
Packit |
cb6d3d |
AC_PATH_PROG([CMP], [cmp], [no])
|
|
Packit |
cb6d3d |
AC_SUBST([CMP])
|
|
Packit |
cb6d3d |
|
|
Packit |
cb6d3d |
AC_PATH_PROG([DD], [dd], [no])
|
|
Packit |
cb6d3d |
AC_SUBST([DD])
|
|
Packit |
cb6d3d |
|
|
Packit |
cb6d3d |
AC_PATH_PROG([WC], [wc], [no])
|
|
Packit |
cb6d3d |
AC_SUBST([WC])
|
|
Packit |
cb6d3d |
|
|
Packit |
cb6d3d |
dnl headers
|
|
Packit |
cb6d3d |
|
|
Packit |
cb6d3d |
AC_HEADER_STDC
|
|
Packit |
cb6d3d |
AC_CHECK_HEADERS(assert.h errno.h fcntl.h glob.h limits.h pwd.h)
|
|
Packit |
cb6d3d |
AC_CHECK_HEADERS(stdarg.h stdbool.h stdio.h sys/cdio.h sys/param.h \
|
|
Packit |
cb6d3d |
sys/time.h sys/timeb.h sys/utsname.h)
|
|
Packit |
cb6d3d |
|
|
Packit |
cb6d3d |
# FreeBSD 4 has getopt in unistd.h. So we include that before
|
|
Packit |
cb6d3d |
# getopt.h
|
|
Packit |
cb6d3d |
AC_CHECK_HEADERS(unistd.h getopt.h)
|
|
Packit |
cb6d3d |
|
|
Packit |
cb6d3d |
AC_SUBST(SBPCD_H)
|
|
Packit |
cb6d3d |
AC_SUBST(TYPESIZES)
|
|
Packit |
cb6d3d |
|
|
Packit |
cb6d3d |
dnl compiler
|
|
Packit |
cb6d3d |
AC_C_BIGENDIAN
|
|
Packit |
cb6d3d |
AC_C_CONST
|
|
Packit |
cb6d3d |
AC_C_INLINE
|
|
Packit |
cb6d3d |
|
|
Packit |
cb6d3d |
dnl ISOC99_PRAGMA
|
|
Packit |
cb6d3d |
AC_MSG_CHECKING([whether $CC supports ISOC99 _Pragma()])
|
|
Packit |
cb6d3d |
AC_TRY_COMPILE([],[_Pragma("pack(1)")], [
|
|
Packit |
cb6d3d |
ISOC99_PRAGMA=yes
|
|
Packit |
cb6d3d |
AC_DEFINE(HAVE_ISOC99_PRAGMA, [], [Supports ISO _Pragma() macro])
|
|
Packit |
cb6d3d |
],ISOC99_PRAGMA=no)
|
|
Packit |
cb6d3d |
AC_MSG_RESULT($ISOC99_PRAGMA)
|
|
Packit |
cb6d3d |
|
|
Packit |
cb6d3d |
##
|
|
Packit |
cb6d3d |
## Check for S_ISSOCK() and S_ISLNK() macros
|
|
Packit |
cb6d3d |
##
|
|
Packit |
cb6d3d |
AC_MSG_CHECKING(for S_ISLNK() macro)
|
|
Packit |
cb6d3d |
AC_LINK_IFELSE([AC_LANG_PROGRAM([
|
|
Packit |
cb6d3d |
#ifdef HAVE_SYS_STAT_H
|
|
Packit |
cb6d3d |
# include <sys/stat.h>
|
|
Packit |
cb6d3d |
#endif
|
|
Packit |
cb6d3d |
],[return S_ISLNK(0);])],
|
|
Packit |
cb6d3d |
[ AC_MSG_RESULT(yes); AC_DEFINE(HAVE_S_ISLNK, [], [Define this <sys/stat.h> defines S_ISLNK()]) ],
|
|
Packit |
cb6d3d |
[ AC_MSG_RESULT(no) ])
|
|
Packit |
cb6d3d |
|
|
Packit |
cb6d3d |
AC_MSG_CHECKING([for S_ISSOCK() macro])
|
|
Packit |
cb6d3d |
AC_LINK_IFELSE([AC_LANG_PROGRAM([
|
|
Packit |
cb6d3d |
#ifdef HAVE_SYS_STAT_H
|
|
Packit |
cb6d3d |
# include <sys/stat.h>
|
|
Packit |
cb6d3d |
#endif
|
|
Packit |
cb6d3d |
],[return S_ISSOCK(0);])],
|
|
Packit |
cb6d3d |
[ AC_MSG_RESULT(yes); AC_DEFINE(HAVE_S_ISSOCK, [], [Define this <sys/stat.h> defines S_ISSOCK()]) ],
|
|
Packit |
cb6d3d |
[ AC_MSG_RESULT(no) ])
|
|
Packit |
cb6d3d |
|
|
Packit |
cb6d3d |
AC_MSG_CHECKING([for struct timespec])
|
|
Packit |
cb6d3d |
AC_COMPILE_IFELSE([AC_LANG_PROGRAM([
|
|
Packit |
cb6d3d |
#ifdef HAVE_SYS_TIME_H
|
|
Packit |
cb6d3d |
#include <sys/time.h>
|
|
Packit |
cb6d3d |
#endif
|
|
Packit |
cb6d3d |
],[struct timespec ts;])],
|
|
Packit |
cb6d3d |
[ AC_MSG_RESULT(yes); AC_DEFINE(HAVE_STRUCT_TIMESPEC, [], [Define this if you have struct timespec]) ],
|
|
Packit |
cb6d3d |
[ AC_MSG_RESULT(no) ])
|
|
Packit |
cb6d3d |
|
|
Packit |
cb6d3d |
dnl empty_array_size
|
|
Packit |
cb6d3d |
AC_MSG_CHECKING([how to create empty arrays])
|
|
Packit |
cb6d3d |
|
|
Packit |
cb6d3d |
empty_array_size="xxxx"
|
|
Packit |
cb6d3d |
AC_TRY_COMPILE([],[struct { int foo; int bar[]; } doo;], empty_array_size="")
|
|
Packit |
cb6d3d |
|
|
Packit |
cb6d3d |
if test "x$empty_array_size" = "xxxx";then
|
|
Packit |
cb6d3d |
AC_TRY_COMPILE([],[struct { int foo; int bar[0]; } doo;], empty_array_size="0")
|
|
Packit |
cb6d3d |
fi
|
|
Packit |
cb6d3d |
|
|
Packit |
cb6d3d |
if test "x$empty_array_size" = "xxxx"
|
|
Packit |
cb6d3d |
then
|
|
Packit |
cb6d3d |
AC_MSG_ERROR([compiler is unable to creaty empty arrays])
|
|
Packit |
cb6d3d |
else
|
|
Packit |
cb6d3d |
AC_DEFINE_UNQUOTED(EMPTY_ARRAY_SIZE, $empty_array_size,
|
|
Packit |
cb6d3d |
[what to put between the brackets for empty arrays])
|
|
Packit |
cb6d3d |
changequote(`,')
|
|
Packit |
cb6d3d |
msg="[${empty_array_size}]"
|
|
Packit |
cb6d3d |
changequote([,])
|
|
Packit |
cb6d3d |
AC_MSG_RESULT($msg)
|
|
Packit |
cb6d3d |
fi
|
|
Packit |
cb6d3d |
|
|
Packit |
cb6d3d |
dnl Enable the creation of shared libraries under Win32.
|
|
Packit |
cb6d3d |
AC_LIBTOOL_WIN32_DLL
|
|
Packit |
cb6d3d |
|
|
Packit |
cb6d3d |
dnl AM_PROG_LIBTOOL tests whether we have GNU ld
|
|
Packit |
cb6d3d |
dnl this must come before checking --with-versioned-libs
|
|
Packit |
cb6d3d |
dnl which requires GNU ld.
|
|
Packit |
cb6d3d |
AM_PROG_LIBTOOL
|
|
Packit |
cb6d3d |
|
|
Packit |
cb6d3d |
dnl regression tests need native-style absolute paths.
|
|
Packit |
cb6d3d |
dnl native_abs_top_srcdir is used here.
|
|
Packit |
cb6d3d |
case $srcdir in
|
|
Packit |
cb6d3d |
.) # We are building in place.
|
|
Packit |
cb6d3d |
native_abs_top_srcdir=$ac_pwd ;;
|
|
Packit |
cb6d3d |
[\\/]* | ?:[\\/]* ) # Absolute name.
|
|
Packit |
cb6d3d |
native_abs_top_srcdir=$srcdir ;;
|
|
Packit |
cb6d3d |
*) # Relative name.
|
|
Packit |
cb6d3d |
native_abs_top_srcdir=$ac_pwd/$srcdir ;;
|
|
Packit |
cb6d3d |
esac
|
|
Packit |
cb6d3d |
AC_SUBST(native_abs_top_srcdir)
|
|
Packit |
cb6d3d |
|
|
Packit |
cb6d3d |
dnl system
|
|
Packit |
cb6d3d |
|
|
Packit |
cb6d3d |
# FIXME:
|
|
Packit |
cb6d3d |
# I believe some OS's require -lm, but I don't recall for what function
|
|
Packit |
cb6d3d |
# When we find it, put it in below instead of "cos".
|
|
Packit |
cb6d3d |
AC_CHECK_LIB(m, cos, [LIBS="$LIBS -lm"; COS_LIB="-lm"])
|
|
Packit |
cb6d3d |
CFLAGS="$CFLAGS $WARN_CFLAGS"
|
|
Packit |
cb6d3d |
AC_SUBST(COS_LIB)
|
|
Packit |
cb6d3d |
|
|
Packit |
cb6d3d |
# Linux has clock_gettime in librt
|
|
Packit |
cb6d3d |
AC_CHECK_LIB(rt, clock_gettime)
|
|
Packit |
cb6d3d |
|
|
Packit |
cb6d3d |
if test "$with_gnu_ld" != yes; then
|
|
Packit |
cb6d3d |
AC_MSG_WARN([I don't see GNU ld. I'm going to assume --without-versioned-libs])
|
|
Packit |
cb6d3d |
enable_versioned_libs='no'
|
|
Packit |
cb6d3d |
fi
|
|
Packit |
cb6d3d |
# We also need GNU make to build versioned symbols.
|
|
Packit |
cb6d3d |
if test "x$enable_versioned_libs" = "xyes" ; then
|
|
Packit |
cb6d3d |
if test "x$enable_version_script" = "xyes"; then
|
|
Packit |
cb6d3d |
if test -n "$MAKE" ; then
|
|
Packit |
cb6d3d |
$MAKE --version 2>/dev/null >/dev/null
|
|
Packit |
cb6d3d |
if test "$?" -ne 0 ; then
|
|
Packit |
cb6d3d |
AC_MSG_ERROR(Either set MAKE variable to GNU make or use
|
|
Packit |
cb6d3d |
--without-versioned-libs option)
|
|
Packit |
cb6d3d |
fi
|
|
Packit |
cb6d3d |
else
|
|
Packit |
cb6d3d |
make --version 2>/dev/null >/dev/null
|
|
Packit |
cb6d3d |
if test "$?" -ne 0 ; then
|
|
Packit |
cb6d3d |
AC_MSG_ERROR(Either set MAKE variable to GNU make or use
|
|
Packit |
cb6d3d |
--without-versioned-libs option)
|
|
Packit |
cb6d3d |
fi
|
|
Packit |
cb6d3d |
fi
|
|
Packit |
cb6d3d |
else
|
|
Packit |
cb6d3d |
make --version 2>/dev/null >/dev/null
|
|
Packit |
cb6d3d |
if test "$?" -ne 0 ; then
|
|
Packit |
cb6d3d |
AC_MSG_ERROR(Either set MAKE variable to GNU make or use
|
|
Packit |
cb6d3d |
--without-versioned-libs option)
|
|
Packit |
cb6d3d |
fi
|
|
Packit |
cb6d3d |
fi
|
|
Packit |
cb6d3d |
fi
|
|
Packit |
cb6d3d |
|
|
Packit |
cb6d3d |
AM_CONDITIONAL(CYGWIN, test "x$CYGWIN" = "xyes")
|
|
Packit |
cb6d3d |
|
|
Packit |
cb6d3d |
dnl Checks for header files.
|
|
Packit |
cb6d3d |
|
|
Packit |
cb6d3d |
LIBCDIO_CDDA_LIBS='$(top_builddir)/lib/cdda_interface/libcdio_cdda.la'
|
|
Packit |
cb6d3d |
LIBCDIO_PARANOIA_CFLAGS='-I$(top_builddir)/include -I$(top_srcdir)/include/'
|
|
Packit |
cb6d3d |
LIBCDIO_PARANOIA_LIBS='$(top_builddir)/lib/paranoia/libcdio_paranoia.la'
|
|
Packit |
cb6d3d |
AC_SUBST(LIBCDIO_CDDA_LIBS)
|
|
Packit |
cb6d3d |
AC_SUBST(LIBCDIO_PARANOIA_CFLAGS)
|
|
Packit |
cb6d3d |
AC_SUBST(LIBCDIO_PARANOIA_LIBS)
|
|
Packit |
cb6d3d |
|
|
Packit |
cb6d3d |
dnl Libtool flag for strict linkage
|
|
Packit |
cb6d3d |
LT_NO_UNDEFINED=
|
|
Packit |
cb6d3d |
|
|
Packit |
cb6d3d |
case $host_os in
|
|
Packit |
cb6d3d |
aix*)
|
|
Packit |
cb6d3d |
## Don't use AIX driver until starts to really work
|
|
Packit |
cb6d3d |
## cd_drivers="${cd_drivers}, AIX"
|
|
Packit |
cb6d3d |
## AC_DEFINE([HAVE_AIX_CDROM], [1],
|
|
Packit |
cb6d3d |
## [Define 1 if you have AIX CD-ROM support])
|
|
Packit |
cb6d3d |
;;
|
|
Packit |
cb6d3d |
darwin[[6-9]].*|darwin1[[0-4]].*)
|
|
Packit |
cb6d3d |
AC_CHECK_HEADERS(IOKit/IOKitLib.h CoreFoundation/CFBase.h,
|
|
Packit |
cb6d3d |
[have_iokit_h="yes"])
|
|
Packit |
cb6d3d |
if test "x$have_iokit_h" = "xyes" ; then
|
|
Packit |
cb6d3d |
AC_DEFINE([HAVE_DARWIN_CDROM], [1],
|
|
Packit |
cb6d3d |
[Define 1 if you have Darwin OS X-type CD-ROM support])
|
|
Packit |
cb6d3d |
DARWIN_PKG_LIB_HACK="-Wl,-framework,CoreFoundation -Wl,-framework,IOKit"
|
|
Packit |
cb6d3d |
|
|
Packit |
cb6d3d |
dnl Prior to Mac OS X 10.4 (Tiger), DiskArbitration was a private framework.
|
|
Packit |
cb6d3d |
dnl It's now public, and it's needed to do cd/dvd unmount/eject.
|
|
Packit |
cb6d3d |
AC_MSG_CHECKING([for DiskArbitration framework])
|
|
Packit |
cb6d3d |
ac_save_LIBS="$LIBS" LIBS="$LIBS -framework CoreFoundation -framework DiskArbitration"
|
|
Packit |
cb6d3d |
AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include <DiskArbitration/DiskArbitration.h>]], [[]])],
|
|
Packit |
cb6d3d |
[have_diskarbitration_framework=yes], [have_diskarbitration_framework=no])
|
|
Packit |
cb6d3d |
LIBS="$ac_save_LIBS"
|
|
Packit |
cb6d3d |
AC_MSG_RESULT([$have_diskarbitration_framework])
|
|
Packit |
cb6d3d |
if test x"$have_diskarbitration_framework" = x"yes"; then
|
|
Packit |
cb6d3d |
AC_DEFINE([HAVE_DISKARBITRATION], 1, [Define to 1 if you have the Apple DiskArbitration framework])
|
|
Packit |
cb6d3d |
DARWIN_PKG_LIB_HACK="$DARWIN_PKG_LIB_HACK -Wl,-framework,DiskArbitration"
|
|
Packit |
cb6d3d |
fi
|
|
Packit |
cb6d3d |
|
|
Packit |
cb6d3d |
AC_SUBST(DARWIN_PKG_LIB_HACK)
|
|
Packit |
cb6d3d |
LIBCDIO_LIBS="$LIBCDIO_LIBS $DARWIN_PKG_LIB_HACK"
|
|
Packit |
cb6d3d |
cd_drivers="${cd_drivers}, Darwin"
|
|
Packit |
cb6d3d |
fi
|
|
Packit |
cb6d3d |
;;
|
|
Packit |
cb6d3d |
linux*|uclinux)
|
|
Packit |
cb6d3d |
AC_CHECK_HEADERS(linux/version.h linux/major.h)
|
|
Packit |
cb6d3d |
AC_CHECK_HEADERS(linux/cdrom.h, [have_linux_cdrom_h="yes"])
|
|
Packit |
cb6d3d |
if test "x$have_linux_cdrom_h" = "xyes" ; then
|
|
Packit |
cb6d3d |
AC_TRY_COMPILE(,[
|
|
Packit |
cb6d3d |
#include <linux/cdrom.h>
|
|
Packit |
cb6d3d |
struct cdrom_generic_command test;
|
|
Packit |
cb6d3d |
int has_timeout=sizeof(test.timeout);],
|
|
Packit |
cb6d3d |
[AC_DEFINE([HAVE_LINUX_CDROM_TIMEOUT], [1],
|
|
Packit |
cb6d3d |
[Define 1 if timeout is in cdrom_generic_command struct])])
|
|
Packit |
cb6d3d |
AC_DEFINE([HAVE_LINUX_CDROM], [1],
|
|
Packit |
cb6d3d |
[Define 1 if you have Linux-type CD-ROM support])
|
|
Packit |
cb6d3d |
cd_drivers="${cd_drivers}, GNU/Linux"
|
|
Packit |
cb6d3d |
fi
|
|
Packit |
cb6d3d |
;;
|
|
Packit |
cb6d3d |
bsdi*)
|
|
Packit |
cb6d3d |
AC_CHECK_HEADERS(dvd.h, [have_bsdi_dvd_h="yes"])
|
|
Packit |
cb6d3d |
if test "x$have_bsdi_dvd_h" = "xyes" ; then
|
|
Packit |
cb6d3d |
AC_DEFINE([HAVE_BSDI_CDROM], [1],
|
|
Packit |
cb6d3d |
[Define 1 if you have BSDI-type CD-ROM support])
|
|
Packit |
cb6d3d |
LIBS="$LIBS -ldvd -lcdrom"
|
|
Packit |
cb6d3d |
LIBCDIO_LIBS="$LIBCDIO_LIBS -lcdrom"
|
|
Packit |
cb6d3d |
cd_drivers="${cd_drivers}, BSDI"
|
|
Packit |
cb6d3d |
fi
|
|
Packit |
cb6d3d |
;;
|
|
Packit |
cb6d3d |
sunos*|sun*|solaris*)
|
|
Packit |
cb6d3d |
AC_DEFINE([HAVE_SOLARIS_CDROM], [1],
|
|
Packit |
cb6d3d |
[Define 1 if you have Solaris CD-ROM support])
|
|
Packit |
cb6d3d |
cd_drivers="${cd_drivers}, Solaris"
|
|
Packit |
cb6d3d |
;;
|
|
Packit |
cb6d3d |
cygwin*)
|
|
Packit |
cb6d3d |
AC_DEFINE([CYGWIN], [1],
|
|
Packit |
cb6d3d |
[Define 1 if you are compiling using cygwin])
|
|
Packit |
cb6d3d |
AC_DEFINE([HAVE_WIN32_CDROM], [1],
|
|
Packit |
cb6d3d |
[Define 1 if you have MinGW CD-ROM support])
|
|
Packit |
cb6d3d |
LIBS="$LIBS -lwinmm"
|
|
Packit |
cb6d3d |
LT_NO_UNDEFINED="-no-undefined"
|
|
Packit |
cb6d3d |
cd_drivers="${cd_drivers}, MinGW"
|
|
Packit |
cb6d3d |
AC_DEFINE([NEED_TIMEZONEVAR], [1],
|
|
Packit |
cb6d3d |
[Define 1 if you need timezone defined to get timzone
|
|
Packit |
cb6d3d |
defined as a variable. In cygwin it is a function too])
|
|
Packit |
cb6d3d |
;;
|
|
Packit |
cb6d3d |
mingw*)
|
|
Packit |
cb6d3d |
AC_CHECK_HEADERS(windows.h)
|
|
Packit |
cb6d3d |
AC_DEFINE([MINGW32], [1],
|
|
Packit |
cb6d3d |
[Define 1 if you are compiling using MinGW])
|
|
Packit |
cb6d3d |
AC_DEFINE([HAVE_WIN32_CDROM], [1],
|
|
Packit |
cb6d3d |
[Define 1 if you have MinGW CD-ROM support])
|
|
Packit |
cb6d3d |
LIBS="$LIBS -lwinmm"
|
|
Packit |
cb6d3d |
LT_NO_UNDEFINED="-no-undefined"
|
|
Packit |
cb6d3d |
cd_drivers="${cd_drivers}, MinGW "
|
|
Packit |
cb6d3d |
;;
|
|
Packit |
cb6d3d |
freebsd[[4-9]].*|freebsd10.*|dragonfly*|kfreebsd*)
|
|
Packit |
cb6d3d |
AC_DEFINE([HAVE_FREEBSD_CDROM], [1],
|
|
Packit |
cb6d3d |
[Define 1 if you have FreeBSD CD-ROM support])
|
|
Packit |
cb6d3d |
LIBS="$LIBS -lcam"
|
|
Packit |
cb6d3d |
cd_drivers="${cd_drivers}, FreeBSD "
|
|
Packit |
cb6d3d |
;;
|
|
Packit |
cb6d3d |
netbsd*|openbsd*)
|
|
Packit |
cb6d3d |
AC_DEFINE([HAVE_NETBSD_CDROM], [1],
|
|
Packit |
cb6d3d |
[Define 1 if you have NetBSD CD-ROM support])
|
|
Packit |
cb6d3d |
# LIBS="$LIBS -lcam"
|
|
Packit |
cb6d3d |
cd_drivers="${cd_drivers}, NetBSD "
|
|
Packit |
cb6d3d |
;;
|
|
Packit |
cb6d3d |
os2*)
|
|
Packit |
cb6d3d |
AC_DEFINE([HAVE_OS2_CDROM], [1],
|
|
Packit |
cb6d3d |
[Define 1 if you have OS/2 CD-ROM support])
|
|
Packit |
cb6d3d |
LT_NO_UNDEFINED="-no-undefined"
|
|
Packit |
cb6d3d |
LDFLAGS="$LDFLAGS -Zbin-files"
|
|
Packit |
cb6d3d |
cd_drivers="${cd_drivers}, OS2 "
|
|
Packit |
cb6d3d |
;;
|
|
Packit |
cb6d3d |
*)
|
|
Packit |
cb6d3d |
AC_MSG_WARN([Don't have OS CD-reading support for ${host_os}...])
|
|
Packit |
cb6d3d |
AC_MSG_WARN([Will use generic support.])
|
|
Packit |
cb6d3d |
;;
|
|
Packit |
cb6d3d |
esac
|
|
Packit |
cb6d3d |
|
|
Packit |
cb6d3d |
AC_SUBST(LT_NO_UNDEFINED)
|
|
Packit |
cb6d3d |
AC_SUBST(DARWIN_PKG_LIB_HACK)
|
|
Packit |
cb6d3d |
|
|
Packit |
cb6d3d |
LIBCDIO_PARANOIA_SOURCE_PATH="`pwd`"
|
|
Packit |
cb6d3d |
AC_DEFINE_UNQUOTED(LIBCDIO_PARANOIA_SOURCE_PATH, "$LIBCDIO_SOURCE_PATH",
|
|
Packit |
cb6d3d |
[Full path to libcdio-paranoia top_sourcedir.])
|
|
Packit |
cb6d3d |
AC_SUBST(LIBCDIO_PARANOIA_SOURCE_PATH)
|
|
Packit |
cb6d3d |
|
|
Packit |
cb6d3d |
AC_CHECK_FUNCS( [bzero chdir drand48 ftruncate geteuid getgid \
|
|
Packit |
cb6d3d |
getuid getpwuid gettimeofday lstat memcpy memset \
|
|
Packit |
cb6d3d |
rand seteuid setegid snprintf setenv unsetenv tzset \
|
|
Packit |
cb6d3d |
sleep usleep vsnprintf readlink realpath gmtime_r \
|
|
Packit |
cb6d3d |
localtime_r clock_gettime] )
|
|
Packit |
cb6d3d |
|
|
Packit |
cb6d3d |
dnl
|
|
Packit |
cb6d3d |
dnl Output configuration files
|
|
Packit |
cb6d3d |
dnl
|
|
Packit |
cb6d3d |
## AC_CONFIG_FILES([ po/Makefile.in\
|
|
Packit |
cb6d3d |
AC_CONFIG_FILES([
|
|
Packit |
cb6d3d |
Makefile \
|
|
Packit |
cb6d3d |
doc/Makefile \
|
|
Packit |
cb6d3d |
doc/doxygen/Doxyfile \
|
|
Packit |
cb6d3d |
doc/en/Makefile \
|
|
Packit |
cb6d3d |
doc/en/cd-paranoia.1 \
|
|
Packit |
cb6d3d |
doc/ja/Makefile \
|
|
Packit |
cb6d3d |
doc/ja/cd-paranoia.1 \
|
|
Packit |
cb6d3d |
example/Makefile \
|
|
Packit |
cb6d3d |
example/C++/Makefile \
|
|
Packit |
cb6d3d |
include/Makefile \
|
|
Packit |
cb6d3d |
include/cdio/Makefile \
|
|
Packit |
cb6d3d |
include/cdio/paranoia/Makefile \
|
|
Packit |
cb6d3d |
include/cdio/paranoia/version.h \
|
|
Packit |
cb6d3d |
lib/Makefile \
|
|
Packit |
cb6d3d |
lib/cdda_interface/Makefile \
|
|
Packit |
cb6d3d |
lib/paranoia/Makefile \
|
|
Packit |
cb6d3d |
libcdio_cdda.pc \
|
|
Packit |
cb6d3d |
libcdio_paranoia.pc \
|
|
Packit |
cb6d3d |
src/Makefile \
|
|
Packit |
cb6d3d |
src/usage.txt \
|
|
Packit |
cb6d3d |
test/data/Makefile
|
|
Packit |
cb6d3d |
test/cdda_interface/Makefile
|
|
Packit |
cb6d3d |
test/cdda_interface/toc.c
|
|
Packit |
cb6d3d |
test/Makefile
|
|
Packit |
cb6d3d |
])
|
|
Packit |
cb6d3d |
|
|
Packit |
cb6d3d |
# AC_CONFIG_FILES([po/Makefile])
|
|
Packit |
cb6d3d |
AC_CONFIG_FILES([test/check_paranoia.sh], [chmod +x test/check_paranoia.sh])
|
|
Packit |
cb6d3d |
AC_CONFIG_FILES([test/endian.sh], [chmod +x test/endian.sh])
|
|
Packit |
cb6d3d |
AC_OUTPUT
|
|
Packit |
cb6d3d |
|
|
Packit |
cb6d3d |
AC_MSG_NOTICE([
|
|
Packit |
cb6d3d |
Building C++ programs: $(test "x$enable_cxx" != "xno" && echo yes || echo no)])
|