Blame configure.ac

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)])