Blame configure.ac

Packit Service 17f94a
# Copyright (C) 1999-2017  Erik de Castro Lopo <erikd@mega-nerd.com>.
Packit Service 17f94a
Packit Service 17f94a
dnl Require autoconf version
Packit Service 17f94a
AC_PREREQ(2.57)
Packit Service 17f94a
Packit Service 17f94a
AC_INIT([libsndfile],[1.0.28],[sndfile@mega-nerd.com],
Packit Service 17f94a
		[libsndfile],[http://www.mega-nerd.com/libsndfile/])
Packit Service 17f94a
Packit Service 17f94a
# Put config stuff in Cfg.
Packit Service 17f94a
AC_CONFIG_AUX_DIR(Cfg)
Packit Service 17f94a
AC_CONFIG_MACRO_DIR([M4])
Packit Service 17f94a
Packit Service 17f94a
AC_CONFIG_SRCDIR([src/sndfile.c])
Packit Service 17f94a
AC_CANONICAL_TARGET([])
Packit Service 17f94a
Packit Service 17f94a
AC_CONFIG_HEADERS([src/config.h])
Packit Service 17f94a
Packit Service 17f94a
AM_INIT_AUTOMAKE
Packit Service 17f94a
m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])])
Packit Service 17f94a
Packit Service 17f94a
AC_LANG([C])
Packit Service 17f94a
Packit Service 17f94a
AC_PROG_CC_STDC
Packit Service 17f94a
AC_USE_SYSTEM_EXTENSIONS
Packit Service 17f94a
AM_PROG_CC_C_O
Packit Service 17f94a
AC_PROG_CXX
Packit Service 17f94a
Packit Service 17f94a
MN_C_COMPILER_IS_CLANG
Packit Service 17f94a
MN_GCC_REALLY_IS_GCC
Packit Service 17f94a
Packit Service 17f94a
AC_PROG_SED
Packit Service 17f94a
m4_ifdef([AM_PROG_AR], [AM_PROG_AR])
Packit Service 17f94a
Packit Service 17f94a
LT_INIT
Packit Service 17f94a
LT_PROG_RC
Packit Service 17f94a
Packit Service 17f94a
AC_PROG_INSTALL
Packit Service 17f94a
AC_PROG_LN_S
Packit Service 17f94a
Packit Service 17f94a
AC_CHECK_PROG(HAVE_AUTOGEN, autogen, yes, no)
Packit Service 17f94a
AC_CHECK_PROG(HAVE_WINE, wine, yes, no)
Packit Service 17f94a
AC_CHECK_PROG(HAVE_XCODE_SELECT, xcode-select, yes, no)
Packit Service 17f94a
Packit Service 17f94a
#------------------------------------------------------------------------------------
Packit Service 17f94a
# Rules for library version information:
Packit Service 17f94a
#
Packit Service 17f94a
#  1. Start with version information of `0:0:0' for each libtool library.
Packit Service 17f94a
#  2. Update the version information only immediately before a public release of
Packit Service 17f94a
#     your software. More frequent updates are unnecessary, and only guarantee
Packit Service 17f94a
#     that the current interface number gets larger faster.
Packit Service 17f94a
#  3. If the library source code has changed at all since the last update, then
Packit Service 17f94a
#     increment revision (`c:r:a' becomes `c:r+1:a').
Packit Service 17f94a
#  4. If any interfaces have been added, removed, or changed since the last update,
Packit Service 17f94a
#     increment current, and set revision to 0.
Packit Service 17f94a
#  5. If any interfaces have been added since the last public release, then increment
Packit Service 17f94a
#     age.
Packit Service 17f94a
#  6. If any interfaces have been removed since the last public release, then set age
Packit Service 17f94a
#     to 0.
Packit Service 17f94a
Packit Service 17f94a
CLEAN_VERSION=`echo $PACKAGE_VERSION | $SED "s/p.*//"`
Packit Service 17f94a
VERSION_MINOR=`echo $CLEAN_VERSION | $SED "s/.*\.//"`
Packit Service 17f94a
Packit Service 17f94a
SHARED_VERSION_INFO="1:$VERSION_MINOR:0"
Packit Service 17f94a
Packit Service 17f94a
#------------------------------------------------------------------------------------
Packit Service 17f94a
Packit Service 17f94a
AC_HEADER_STDC
Packit Service 17f94a
Packit Service 17f94a
AC_CHECK_HEADERS(endian.h)
Packit Service 17f94a
AC_CHECK_HEADERS(byteswap.h)
Packit Service 17f94a
AC_CHECK_HEADERS(locale.h)
Packit Service 17f94a
AC_CHECK_HEADERS(sys/time.h)
Packit Service 17f94a
Packit Service 17f94a
AC_HEADER_SYS_WAIT
Packit Service 17f94a
Packit Service 17f94a
AC_CHECK_DECLS(S_IRGRP)
Packit Service 17f94a
if test x$ac_cv_have_decl_S_IRGRP = xyes ; then
Packit Service 17f94a
	AC_DEFINE_UNQUOTED([HAVE_DECL_S_IRGRP],1,[Set to 1 if S_IRGRP is defined.])
Packit Service 17f94a
else
Packit Service 17f94a
	AC_DEFINE_UNQUOTED([HAVE_DECL_S_IRGRP],0)
Packit Service 17f94a
	fi
Packit Service 17f94a
Packit Service 17f94a
AM_CONDITIONAL([LINUX_MINGW_CROSS_TEST],
Packit Service 17f94a
	[test "$build_os:$target_os:$host_os:$HAVE_WINE" = "linux-gnu:mingw32msvc:mingw32msvc:yes"])
Packit Service 17f94a
Packit Service 17f94a
gl_VISIBILITY
Packit Service 17f94a
Packit Service 17f94a
#====================================================================================
Packit Service 17f94a
# Couple of initializations here. Fill in real values later.
Packit Service 17f94a
Packit Service 17f94a
SHLIB_VERSION_ARG=""
Packit Service 17f94a
Packit Service 17f94a
#====================================================================================
Packit Service 17f94a
# Finished checking, handle options.
Packit Service 17f94a
Packit Service 17f94a
AC_ARG_ENABLE(experimental,
Packit Service 17f94a
	AS_HELP_STRING([--enable-experimental], [enable experimental code]))
Packit Service 17f94a
Packit Service 17f94a
EXPERIMENTAL_CODE=0
Packit Service 17f94a
if test x$enable_experimental = xyes ; then
Packit Service 17f94a
	EXPERIMENTAL_CODE=1
Packit Service 17f94a
	fi
Packit Service 17f94a
AC_DEFINE_UNQUOTED([ENABLE_EXPERIMENTAL_CODE],${EXPERIMENTAL_CODE}, [Set to 1 to enable experimental code.])
Packit Service 17f94a
Packit Service 17f94a
AC_ARG_ENABLE(werror,
Packit Service 17f94a
	AS_HELP_STRING([--enable-werror], [enable -Werror in all Makefiles]))
Packit Service 17f94a
Packit Service 17f94a
AC_ARG_ENABLE(stack-smash-protection,
Packit Service 17f94a
	AS_HELP_STRING([--enable-stack-smash-protection], [Enable GNU GCC stack smash protection]))
Packit Service 17f94a
Packit Service 17f94a
AC_ARG_ENABLE(gcc-pipe,
Packit Service 17f94a
	AS_HELP_STRING([--disable-gcc-pipe], [disable gcc -pipe option]))
Packit Service 17f94a
Packit Service 17f94a
AC_ARG_ENABLE(gcc-opt,
Packit Service 17f94a
	AS_HELP_STRING([--disable-gcc-opt], [disable gcc optimisations]))
Packit Service 17f94a
Packit Service 17f94a
AC_ARG_ENABLE(cpu-clip,
Packit Service 17f94a
	AS_HELP_STRING([--disable-cpu-clip], [disable tricky cpu specific clipper]))
Packit Service 17f94a
Packit Service 17f94a
AC_ARG_ENABLE(bow-docs,
Packit Service 17f94a
	AS_HELP_STRING([--enable-bow-docs], [enable black-on-white html docs]))
Packit Service 17f94a
Packit Service 17f94a
AC_ARG_ENABLE(sqlite,
Packit Service 17f94a
	AS_HELP_STRING([--disable-sqlite], [disable use of sqlite]))
Packit Service 17f94a
Packit Service 17f94a
AC_ARG_ENABLE(alsa,
Packit Service 17f94a
	AS_HELP_STRING([--disable-alsa], [disable use of ALSA]))
Packit Service 17f94a
Packit Service 17f94a
AC_ARG_ENABLE(external-libs,
Packit Service 17f94a
	AS_HELP_STRING([--disable-external-libs], [disable use of FLAC, Ogg and Vorbis [[default=no]]]))
Packit Service 17f94a
Packit Service 17f94a
AC_ARG_ENABLE(octave,
Packit Service 17f94a
	AS_HELP_STRING([--enable-octave], [disable building of GNU Octave module]))
Packit Service 17f94a
Packit Service 17f94a
AC_ARG_ENABLE([full-suite],
Packit Service 17f94a
	AS_HELP_STRING([--disable-full-suite], [disable building and installing programs, documentation, only build library [[default=no]]]))
Packit Service 17f94a
AM_CONDITIONAL([FULL_SUITE], [test "x$enable_full_suite" != "xno"])
Packit Service 17f94a
Packit Service 17f94a
AC_ARG_ENABLE(test-coverage,
Packit Service 17f94a
	AS_HELP_STRING([--enable-test-coverage], [enable test coverage]))
Packit Service 17f94a
AM_CONDITIONAL([ENABLE_TEST_COVERAGE], [test "$enable_test_coverage" = yes])
Packit Service 17f94a
Packit Service 17f94a
#====================================================================================
Packit Service 17f94a
# Check types and their sizes.
Packit Service 17f94a
Packit Service 17f94a
AC_CHECK_SIZEOF(wchar_t,4)
Packit Service 17f94a
AC_CHECK_SIZEOF(short,2)
Packit Service 17f94a
AC_CHECK_SIZEOF(int,4)
Packit Service 17f94a
AC_CHECK_SIZEOF(long,4)
Packit Service 17f94a
AC_CHECK_SIZEOF(float,4)
Packit Service 17f94a
AC_CHECK_SIZEOF(double,4)
Packit Service 17f94a
AC_CHECK_SIZEOF(void*,8)
Packit Service 17f94a
AC_CHECK_SIZEOF(size_t,4)
Packit Service 17f94a
AC_CHECK_SIZEOF(int64_t,8)
Packit Service 17f94a
AC_CHECK_SIZEOF(long long,8)
Packit Service 17f94a
Packit Service 17f94a
#====================================================================================
Packit Service 17f94a
# Find an appropriate type for sf_count_t.
Packit Service 17f94a
# On systems supporting files larger than 2 Gig, sf_count_t must be a 64 bit value.
Packit Service 17f94a
# Unfortunately there is more than one way of ensuring this so need to do some
Packit Service 17f94a
# pretty rigourous testing here.
Packit Service 17f94a
Packit Service 17f94a
# Check for common 64 bit file offset types.
Packit Service 17f94a
AC_CHECK_SIZEOF(off_t,1)
Packit Service 17f94a
Packit Service 17f94a
if test "$enable_largefile:$ac_cv_sizeof_off_t" = "no:8" ; then
Packit Service 17f94a
	echo
Packit Service 17f94a
	echo "Error : Cannot disable large file support because sizeof (off_t) == 8."
Packit Service 17f94a
	echo
Packit Service 17f94a
	exit 1
Packit Service 17f94a
	fi
Packit Service 17f94a
Packit Service 17f94a
case "$host_os" in
Packit Service 17f94a
	mingw32*)
Packit Service 17f94a
		TYPEOF_SF_COUNT_T="__int64"
Packit Service 17f94a
		SF_COUNT_MAX="0x7FFFFFFFFFFFFFFFLL"
Packit Service 17f94a
		SIZEOF_SF_COUNT_T=8
Packit Service 17f94a
		AC_DEFINE([__USE_MINGW_ANSI_STDIO],1,[Set to 1 to use C99 printf/snprintf in MinGW.])
Packit Service 17f94a
		;;
Packit Service 17f94a
	*)
Packit Service 17f94a
		SIZEOF_SF_COUNT_T=0
Packit Service 17f94a
		if test "x$ac_cv_sizeof_off_t" = "x8" ; then
Packit Service 17f94a
			# If sizeof (off_t) is 8, no further checking is needed.
Packit Service 17f94a
			TYPEOF_SF_COUNT_T="int64_t"
Packit Service 17f94a
			SF_COUNT_MAX="0x7FFFFFFFFFFFFFFFLL"
Packit Service 17f94a
			SIZEOF_SF_COUNT_T=8
Packit Service 17f94a
		else
Packit Service 17f94a
			# Save the old sizeof (off_t) value  and then unset it to see if it
Packit Service 17f94a
			# changes when Large File Support is enabled.
Packit Service 17f94a
			pre_largefile_sizeof_off_t=$ac_cv_sizeof_off_t
Packit Service 17f94a
			unset ac_cv_sizeof_off_t
Packit Service 17f94a
Packit Service 17f94a
			AC_SYS_LARGEFILE
Packit Service 17f94a
			if test "x$ac_cv_sys_largefile_CFLAGS" = "xno" ; then
Packit Service 17f94a
				ac_cv_sys_largefile_CFLAGS=""
Packit Service 17f94a
				fi
Packit Service 17f94a
			if test "x$ac_cv_sys_largefile_LDFLAGS" = "xno" ; then
Packit Service 17f94a
				ac_cv_sys_largefile_LDFLAGS=""
Packit Service 17f94a
				fi
Packit Service 17f94a
			if test "x$ac_cv_sys_largefile_LIBS" = "xno" ; then
Packit Service 17f94a
				ac_cv_sys_largefile_LIBS=""
Packit Service 17f94a
				fi
Packit Service 17f94a
Packit Service 17f94a
			AC_CHECK_SIZEOF(off_t,1)
Packit Service 17f94a
Packit Service 17f94a
			if test "x$ac_cv_sizeof_off_t" = "x8" ; then
Packit Service 17f94a
				TYPEOF_SF_COUNT_T="int64_t"
Packit Service 17f94a
				SF_COUNT_MAX="0x7FFFFFFFFFFFFFFFLL"
Packit Service 17f94a
				SIZEOF_SF_COUNT_T=8
Packit Service 17f94a
			elif test "x$TYPEOF_SF_COUNT_T" = "xunknown" ; then
Packit Service 17f94a
				echo
Packit Service 17f94a
				echo "*** The configure process has determined that this system is capable"
Packit Service 17f94a
				echo "*** of Large File Support but has not been able to find a type which"
Packit Service 17f94a
				echo "*** is an unambiguous 64 bit file offset."
Packit Service 17f94a
				echo "*** Please contact the author to help resolve this problem."
Packit Service 17f94a
				echo
Packit Service 17f94a
				AC_MSG_ERROR([[Bad file offset type.]])
Packit Service 17f94a
				fi
Packit Service 17f94a
			fi
Packit Service 17f94a
		;;
Packit Service 17f94a
	esac
Packit Service 17f94a
Packit Service 17f94a
if test $SIZEOF_SF_COUNT_T = 4 ; then
Packit Service 17f94a
	SF_COUNT_MAX="0x7FFFFFFF"
Packit Service 17f94a
	fi
Packit Service 17f94a
Packit Service 17f94a
AC_DEFINE_UNQUOTED([TYPEOF_SF_COUNT_T],${TYPEOF_SF_COUNT_T}, [Set to long if unknown.])
Packit Service 17f94a
AC_SUBST(TYPEOF_SF_COUNT_T)
Packit Service 17f94a
Packit Service 17f94a
AC_DEFINE_UNQUOTED([SIZEOF_SF_COUNT_T],${SIZEOF_SF_COUNT_T}, [Set to sizeof (long) if unknown.])
Packit Service 17f94a
AC_SUBST(SIZEOF_SF_COUNT_T)
Packit Service 17f94a
Packit Service 17f94a
AC_DEFINE_UNQUOTED([SF_COUNT_MAX],${SF_COUNT_MAX}, [Set to maximum allowed value of sf_count_t type.])
Packit Service 17f94a
AC_SUBST(SF_COUNT_MAX)
Packit Service 17f94a
Packit Service 17f94a
AC_TYPE_SSIZE_T
Packit Service 17f94a
Packit Service 17f94a
#====================================================================================
Packit Service 17f94a
# Determine endian-ness of target processor.
Packit Service 17f94a
Packit Service 17f94a
MN_C_FIND_ENDIAN
Packit Service 17f94a
Packit Service 17f94a
AC_DEFINE_UNQUOTED(CPU_IS_BIG_ENDIAN, ${ac_cv_c_big_endian},
Packit Service 17f94a
	[Target processor is big endian.])
Packit Service 17f94a
AC_DEFINE_UNQUOTED(CPU_IS_LITTLE_ENDIAN, ${ac_cv_c_little_endian},
Packit Service 17f94a
	[Target processor is little endian.])
Packit Service 17f94a
AC_DEFINE_UNQUOTED(WORDS_BIGENDIAN, ${ac_cv_c_big_endian},
Packit Service 17f94a
	[Target processor is big endian.])
Packit Service 17f94a
Packit Service 17f94a
#====================================================================================
Packit Service 17f94a
# Check for functions.
Packit Service 17f94a
Packit Service 17f94a
AC_CHECK_FUNCS(malloc calloc realloc free)
Packit Service 17f94a
AC_CHECK_FUNCS(open read write lseek lseek64)
Packit Service 17f94a
AC_CHECK_FUNCS(fstat fstat64 ftruncate fsync)
Packit Service 17f94a
AC_CHECK_FUNCS(snprintf vsnprintf)
Packit Service 17f94a
AC_CHECK_FUNCS(gmtime gmtime_r localtime localtime_r gettimeofday)
Packit Service 17f94a
AC_CHECK_FUNCS(mmap getpagesize)
Packit Service 17f94a
AC_CHECK_FUNCS(setlocale)
Packit Service 17f94a
AC_CHECK_FUNCS(pipe waitpid)
Packit Service 17f94a
Packit Service 17f94a
AC_CHECK_LIB([m],floor)
Packit Service 17f94a
AC_CHECK_FUNCS(floor ceil fmod lround)
Packit Service 17f94a
Packit Service 17f94a
MN_C99_FUNC_LRINT
Packit Service 17f94a
MN_C99_FUNC_LRINTF
Packit Service 17f94a
Packit Service 17f94a
#====================================================================================
Packit Service 17f94a
# Check for requirements for building plugins for other languages/enviroments.
Packit Service 17f94a
Packit Service 17f94a
dnl Octave maths environment http://www.octave.org/
Packit Service 17f94a
if test x$cross_compiling = xno ; then
Packit Service 17f94a
	if test x$enable_octave = xno ; then
Packit Service 17f94a
		AM_CONDITIONAL(BUILD_OCTAVE_MOD, false)
Packit Service 17f94a
	else
Packit Service 17f94a
		AC_OCTAVE_BUILD
Packit Service 17f94a
		fi
Packit Service 17f94a
else
Packit Service 17f94a
	AM_CONDITIONAL(BUILD_OCTAVE_MOD, false)
Packit Service 17f94a
	fi
Packit Service 17f94a
Packit Service 17f94a
#====================================================================================
Packit Service 17f94a
# Check for Ogg, Vorbis and FLAC.
Packit Service 17f94a
Packit Service 17f94a
HAVE_EXTERNAL_XIPH_LIBS=0
Packit Service 17f94a
EXTERNAL_XIPH_CFLAGS=""
Packit Service 17f94a
EXTERNAL_XIPH_LIBS=""
Packit Service 17f94a
Packit Service 17f94a
# Check for pkg-config outside the if statement.
Packit Service 17f94a
PKG_PROG_PKG_CONFIG
Packit Service 17f94a
m4_ifdef([PKG_INSTALLDIR], [PKG_INSTALLDIR], AC_SUBST([pkgconfigdir], ${libdir}/pkgconfig))
Packit Service 17f94a
Packit Service 17f94a
if test -n "$PKG_CONFIG" ; then
Packit Service 17f94a
	if test x$enable_external_libs = xno ; then
Packit Service 17f94a
		AC_MSG_WARN([[*** External libs (FLAC, Ogg, Vorbis) disabled. ***]])
Packit Service 17f94a
	else
Packit Service 17f94a
		PKG_CHECK_MOD_VERSION(FLAC, flac >= 1.3.1, ac_cv_flac=yes, ac_cv_flac=no)
Packit Service 17f94a
Packit Service 17f94a
		# Make sure the FLAC_CFLAGS value is sane.
Packit Service 17f94a
		FLAC_CFLAGS=`echo $FLAC_CFLAGS | $SED "s|include/FLAC|include|"`
Packit Service 17f94a
Packit Service 17f94a
		PKG_CHECK_MOD_VERSION(OGG, ogg >= 1.1.3, ac_cv_ogg=yes, ac_cv_ogg=no)
Packit Service 17f94a
Packit Service 17f94a
		if test x$enable_experimental = xyes ; then
Packit Service 17f94a
			PKG_CHECK_MOD_VERSION(SPEEX, speex >= 1.2, ac_cv_speex=yes, ac_cv_speex=no)
Packit Service 17f94a
		else
Packit Service 17f94a
			SPEEX_CFLAGS=""
Packit Service 17f94a
			SPEEX_LIBS=""
Packit Service 17f94a
			fi
Packit Service 17f94a
Packit Service 17f94a
		# Vorbis versions earlier than 1.2.3 have bugs that cause the libsndfile
Packit Service 17f94a
		# test suite to fail on MIPS, PowerPC and others.
Packit Service 17f94a
		# See: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=549899
Packit Service 17f94a
		PKG_CHECK_MOD_VERSION(VORBIS, vorbis >= 1.2.3, ac_cv_vorbis=yes, ac_cv_vorbis=no)
Packit Service 17f94a
		PKG_CHECK_MOD_VERSION(VORBISENC, vorbisenc >= 1.2.3, ac_cv_vorbisenc=yes, ac_cv_vorbisenc=no)
Packit Service 17f94a
		enable_external_libs=yes
Packit Service 17f94a
		fi
Packit Service 17f94a
Packit Service 17f94a
	if test x$ac_cv_flac$ac_cv_ogg$ac_cv_vorbis$ac_cv_vorbisenc = "xyesyesyesyes" ; then
Packit Service 17f94a
		HAVE_EXTERNAL_XIPH_LIBS=1
Packit Service 17f94a
		enable_external_libs=yes
Packit Service 17f94a
Packit Service 17f94a
		EXTERNAL_XIPH_CFLAGS="$FLAC_CFLAGS $OGG_CFLAGS $VORBIS_CFLAGS $VORBISENC_CFLAGS $SPEEX_CFLAGS"
Packit Service 17f94a
		EXTERNAL_XIPH_LIBS="$FLAC_LIBS $OGG_LIBS $VORBIS_LIBS $VORBISENC_LIBS $SPEEX_LIBS "
Packit Service 17f94a
	else
Packit Service 17f94a
		echo
Packit Service 17f94a
		AC_MSG_WARN([[*** One or more of the external libraries (ie libflac, libogg and]])
Packit Service 17f94a
		AC_MSG_WARN([[*** libvorbis) is either missing (possibly only the development]])
Packit Service 17f94a
		AC_MSG_WARN([[*** headers) or is of an unsupported version.]])
Packit Service 17f94a
		AC_MSG_WARN([[***]])
Packit Service 17f94a
		AC_MSG_WARN([[*** Unfortunately, for ease of maintenance, the external libs]])
Packit Service 17f94a
		AC_MSG_WARN([[*** are an all or nothing affair.]])
Packit Service 17f94a
		echo
Packit Service 17f94a
		enable_external_libs=no
Packit Service 17f94a
		fi
Packit Service 17f94a
	fi
Packit Service 17f94a
Packit Service 17f94a
AC_DEFINE_UNQUOTED([HAVE_EXTERNAL_XIPH_LIBS], $HAVE_EXTERNAL_XIPH_LIBS, [Will be set to 1 if flac, ogg and vorbis are available.])
Packit Service 17f94a
Packit Service 17f94a
#====================================================================================
Packit Service 17f94a
# Check for libsqlite3 (only used in regtest).
Packit Service 17f94a
Packit Service 17f94a
ac_cv_sqlite3=no
Packit Service 17f94a
if test x$enable_sqlite != xno ; then
Packit Service 17f94a
	PKG_CHECK_MOD_VERSION(SQLITE3, sqlite3 >= 3.2, ac_cv_sqlite3=yes, ac_cv_sqlite3=no)
Packit Service 17f94a
	fi
Packit Service 17f94a
Packit Service 17f94a
if test x$ac_cv_sqlite3 = "xyes" ; then
Packit Service 17f94a
	HAVE_SQLITE3=1
Packit Service 17f94a
else
Packit Service 17f94a
	HAVE_SQLITE3=0
Packit Service 17f94a
	fi
Packit Service 17f94a
Packit Service 17f94a
AC_DEFINE_UNQUOTED([HAVE_SQLITE3],$HAVE_SQLITE3,[Set to 1 if you have libsqlite3.])
Packit Service 17f94a
AM_CONDITIONAL([HAVE_SQLITE3], [test "x$ac_cv_sqlite3" = "xyes"])
Packit Service 17f94a
Packit Service 17f94a
#====================================================================================
Packit Service 17f94a
# Determine if the processor can do clipping on float to int conversions.
Packit Service 17f94a
Packit Service 17f94a
if test x$enable_cpu_clip != "xno" ; then
Packit Service 17f94a
	MN_C_CLIP_MODE
Packit Service 17f94a
else
Packit Service 17f94a
	echo "checking processor clipping capabilities... disabled"
Packit Service 17f94a
	ac_cv_c_clip_positive=0
Packit Service 17f94a
	ac_cv_c_clip_negative=0
Packit Service 17f94a
	fi
Packit Service 17f94a
Packit Service 17f94a
AC_DEFINE_UNQUOTED(CPU_CLIPS_POSITIVE, ${ac_cv_c_clip_positive},
Packit Service 17f94a
	[Target processor clips on positive float to int conversion.])
Packit Service 17f94a
AC_DEFINE_UNQUOTED(CPU_CLIPS_NEGATIVE, ${ac_cv_c_clip_negative},
Packit Service 17f94a
	[Target processor clips on negative float to int conversion.])
Packit Service 17f94a
Packit Service 17f94a
#====================================================================================
Packit Service 17f94a
# Target OS specific stuff.
Packit Service 17f94a
Packit Service 17f94a
OS_SPECIFIC_CFLAGS=""
Packit Service 17f94a
OS_SPECIFIC_LINKS=""
Packit Service 17f94a
os_is_win32=0
Packit Service 17f94a
os_is_openbsd=0
Packit Service 17f94a
use_windows_api=0
Packit Service 17f94a
case "$host_os" in
Packit Service 17f94a
	darwin* | rhapsody*)
Packit Service 17f94a
		if test x$HAVE_XCODE_SELECT = xyes ; then
Packit Service 17f94a
			developer_path=`xcode-select --print-path`
Packit Service 17f94a
		else
Packit Service 17f94a
			developer_path="/Developer"
Packit Service 17f94a
			fi
Packit Service 17f94a
		OS_SPECIFIC_LINKS="-framework CoreAudio -framework AudioToolbox -framework CoreFoundation"
Packit Service 17f94a
		;;
Packit Service 17f94a
	mingw*)
Packit Service 17f94a
		os_is_win32=1
Packit Service 17f94a
		use_windows_api=1
Packit Service 17f94a
		OS_SPECIFIC_LINKS="-lwinmm"
Packit Service 17f94a
		;;
Packit Service 17f94a
	openbsd*)
Packit Service 17f94a
		os_is_openbsd=1
Packit Service 17f94a
		;;
Packit Service 17f94a
	esac
Packit Service 17f94a
Packit Service 17f94a
AC_DEFINE_UNQUOTED(OS_IS_WIN32, ${os_is_win32}, [Set to 1 if compiling for Win32])
Packit Service 17f94a
AC_DEFINE_UNQUOTED(OS_IS_OPENBSD, ${os_is_openbsd}, [Set to 1 if compiling for OpenBSD])
Packit Service 17f94a
AC_DEFINE_UNQUOTED(USE_WINDOWS_API, ${use_windows_api}, [Set to 1 to use the native windows API])
Packit Service 17f94a
AM_CONDITIONAL(USE_WIN_VERSION_FILE, test ${use_windows_api} -eq 1)
Packit Service 17f94a
Packit Service 17f94a
#====================================================================================
Packit Service 17f94a
# Check for ALSA.
Packit Service 17f94a
Packit Service 17f94a
ALSA_LIBS=""
Packit Service 17f94a
Packit Service 17f94a
if test x$enable_alsa != xno ; then
Packit Service 17f94a
	AC_CHECK_HEADERS(alsa/asoundlib.h)
Packit Service 17f94a
	if test x$ac_cv_header_alsa_asoundlib_h = xyes ; then
Packit Service 17f94a
		ALSA_LIBS="-lasound"
Packit Service 17f94a
		enable_alsa=yes
Packit Service 17f94a
		fi
Packit Service 17f94a
	fi
Packit Service 17f94a
Packit Service 17f94a
#====================================================================================
Packit Service 17f94a
# Check for OpenBSD's sndio.
Packit Service 17f94a
Packit Service 17f94a
SNDIO_LIBS=""
Packit Service 17f94a
HAVE_SNDIO_H=0
Packit Service 17f94a
case "$host_os" in
Packit Service 17f94a
	openbsd*)
Packit Service 17f94a
		AC_CHECK_HEADERS(sndio.h)
Packit Service 17f94a
		if test x$ac_cv_header_sndio_h = xyes ; then
Packit Service 17f94a
			SNDIO_LIBS="-lsndio"
Packit Service 17f94a
			HAVE_SNDIO_H=1
Packit Service 17f94a
			fi
Packit Service 17f94a
		;;
Packit Service 17f94a
	*)
Packit Service 17f94a
		;;
Packit Service 17f94a
	esac
Packit Service 17f94a
Packit Service 17f94a
AC_DEFINE_UNQUOTED([HAVE_SNDIO_H],${HAVE_SNDIO_H},[Set to 1 if <sndio.h> is available.])
Packit Service 17f94a
Packit Service 17f94a
#====================================================================================
Packit Service 17f94a
# Test for sanity when cross-compiling.
Packit Service 17f94a
Packit Service 17f94a
if test $ac_cv_sizeof_short != 2 ; then
Packit Service 17f94a
	AC_MSG_WARN([[******************************************************************]])
Packit Service 17f94a
	AC_MSG_WARN([[*** sizeof (short) != 2.                                          ]])
Packit Service 17f94a
	AC_MSG_WARN([[******************************************************************]])
Packit Service 17f94a
	fi
Packit Service 17f94a
Packit Service 17f94a
if test $ac_cv_sizeof_int != 4 ; then
Packit Service 17f94a
	AC_MSG_WARN([[******************************************************************]])
Packit Service 17f94a
	AC_MSG_WARN([[*** sizeof (int) != 4                                             ]])
Packit Service 17f94a
	AC_MSG_WARN([[******************************************************************]])
Packit Service 17f94a
	fi
Packit Service 17f94a
Packit Service 17f94a
if test $ac_cv_sizeof_float != 4 ; then
Packit Service 17f94a
	AC_MSG_WARN([[******************************************************************]])
Packit Service 17f94a
	AC_MSG_WARN([[*** sizeof (float) != 4.                                          ]])
Packit Service 17f94a
	AC_MSG_WARN([[******************************************************************]])
Packit Service 17f94a
	fi
Packit Service 17f94a
Packit Service 17f94a
if test $ac_cv_sizeof_double != 8 ; then
Packit Service 17f94a
	AC_MSG_WARN([[******************************************************************]])
Packit Service 17f94a
	AC_MSG_WARN([[*** sizeof (double) != 8.                                         ]])
Packit Service 17f94a
	AC_MSG_WARN([[******************************************************************]])
Packit Service 17f94a
	fi
Packit Service 17f94a
Packit Service 17f94a
if test x"$ac_cv_prog_HAVE_AUTOGEN" = "xno" ; then
Packit Service 17f94a
	AC_MSG_WARN([[Touching files in directory tests/.]])
Packit Service 17f94a
	touch tests/*.c tests/*.h
Packit Service 17f94a
	fi
Packit Service 17f94a
Packit Service 17f94a
#====================================================================================
Packit Service 17f94a
# Settings for the HTML documentation.
Packit Service 17f94a
Packit Service 17f94a
if test x$enable_bow_docs = "xyes" ; then
Packit Service 17f94a
	HTML_BGCOLOUR="white"
Packit Service 17f94a
	HTML_FGCOLOUR="black"
Packit Service 17f94a
else
Packit Service 17f94a
	HTML_BGCOLOUR="black"
Packit Service 17f94a
	HTML_FGCOLOUR="white"
Packit Service 17f94a
	fi
Packit Service 17f94a
Packit Service 17f94a
#====================================================================================
Packit Service 17f94a
# Now use the information from the checking stage.
Packit Service 17f94a
Packit Service 17f94a
win32_target_dll=0
Packit Service 17f94a
COMPILER_IS_GCC=0
Packit Service 17f94a
Packit Service 17f94a
if test x$ac_cv_c_compiler_gnu = xyes ; then
Packit Service 17f94a
	MN_ADD_CFLAGS(-std=gnu99)
Packit Service 17f94a
Packit Service 17f94a
	MN_GCC_VERSION
Packit Service 17f94a
Packit Service 17f94a
	if test "x$GCC_MAJOR_VERSION$GCC_MINOR_VERSION" = "x42" ; then
Packit Service 17f94a
		AC_MSG_WARN([****************************************************************])
Packit Service 17f94a
		AC_MSG_WARN([** GCC version 4.2 warns about the inline keyword for no good **])
Packit Service 17f94a
		AC_MSG_WARN([** reason but the maintainers do not see it as a bug.         **])
Packit Service 17f94a
		AC_MSG_WARN([** See http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33995      **])
Packit Service 17f94a
		AC_MSG_WARN([** Using -fgnu-inline to avoid this stupidity.                **])
Packit Service 17f94a
		AC_MSG_WARN([****************************************************************])
Packit Service 17f94a
		MN_ADD_CFLAGS([-fgnu89-inline])
Packit Service 17f94a
		fi
Packit Service 17f94a
Packit Service 17f94a
	CFLAGS="$CFLAGS -Wall"
Packit Service 17f94a
	CXXFLAGS="$CXXFLAGS -Wall"
Packit Service 17f94a
Packit Service 17f94a
	MN_ADD_CFLAGS([-Wextra])
Packit Service 17f94a
	MN_ADD_CFLAGS([-Wdeclaration-after-statement])
Packit Service 17f94a
	MN_ADD_CFLAGS([-Wpointer-arith])
Packit Service 17f94a
Packit Service 17f94a
	AC_LANG_PUSH([C++])
Packit Service 17f94a
	MN_ADD_CXXFLAGS([-Wextra])
Packit Service 17f94a
	MN_ADD_CXXFLAGS([-Wpointer-arith])
Packit Service 17f94a
	AC_LANG_POP([C++])
Packit Service 17f94a
Packit Service 17f94a
	if test x$enable_stack_smash_protection = "xyes" ; then
Packit Service 17f94a
		XIPH_GCC_STACK_PROTECTOR
Packit Service 17f94a
		XIPH_GXX_STACK_PROTECTOR
Packit Service 17f94a
		fi
Packit Service 17f94a
Packit Service 17f94a
	if test x$enable_test_coverage = "xyes" ; then
Packit Service 17f94a
		# MN_ADD_CFLAGS([-ftest-coverage])
Packit Service 17f94a
		MN_ADD_CFLAGS([-coverage])
Packit Service 17f94a
		fi
Packit Service 17f94a
Packit Service 17f94a
	dnl some distributions (such as Gentoo) have _FORTIFY_SOURCE always
Packit Service 17f94a
	dnl enabled. We test for this situation in order to prevent polluting
Packit Service 17f94a
	dnl the console with messages of macro redefinitions.
Packit Service 17f94a
	AX_ADD_FORTIFY_SOURCE
Packit Service 17f94a
Packit Service 17f94a
	common_flags="-Wcast-align -Wcast-qual -Wshadow -Wwrite-strings -Wundef -Wuninitialized -Winit-self"
Packit Service 17f94a
Packit Service 17f94a
	# -Winline -Wconversion "
Packit Service 17f94a
	CFLAGS="$CFLAGS     $common_flags -Wbad-function-cast -Wnested-externs -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations -Waggregate-return -Wvla"
Packit Service 17f94a
	CXXFLAGS="$CXXFLAGS $common_flags -Wctor-dtor-privacy -Wnon-virtual-dtor -Woverloaded-virtual -Wreorder -Wsign-promo"
Packit Service 17f94a
Packit Service 17f94a
	if test "x$enable_gcc_opt" = "xno" ; then
Packit Service 17f94a
		temp_CFLAGS=`echo $CFLAGS | $SED "s/O2/O0/"`
Packit Service 17f94a
		CFLAGS=$temp_CFLAGS
Packit Service 17f94a
		AC_MSG_WARN([[*** Compiler optimisations switched off. ***]])
Packit Service 17f94a
		fi
Packit Service 17f94a
Packit Service 17f94a
	# OS specific tweaks.
Packit Service 17f94a
	case "$host_os" in
Packit Service 17f94a
		darwin* | rhapsody*)
Packit Service 17f94a
			# Disable -Wall, -pedantic and -Wshadow for Apple Darwin/Rhapsody.
Packit Service 17f94a
			# System headers on these systems are broken.
Packit Service 17f94a
			temp_CFLAGS=`echo $CFLAGS | $SED "s/-Wall -pedantic//" | $SED "s/-Wshadow//" | $SED "s/-Waggregate-return//"`
Packit Service 17f94a
			CFLAGS=$temp_CFLAGS
Packit Service 17f94a
			SHLIB_VERSION_ARG="-Wl,-exported_symbols_list -Wl,\$(srcdir)/Symbols.darwin"
Packit Service 17f94a
			;;
Packit Service 17f94a
		linux*|kfreebsd*-gnu*|gnu*)
Packit Service 17f94a
			SHLIB_VERSION_ARG="-Wl,--version-script=\$(srcdir)/Symbols.gnu-binutils"
Packit Service 17f94a
			;;
Packit Service 17f94a
		mingw*)
Packit Service 17f94a
			SHLIB_VERSION_ARG="-Wc,-static-libgcc -Wl,\$(srcdir)/libsndfile-1.def"
Packit Service 17f94a
			win32_target_dll=1
Packit Service 17f94a
			if test x"$enable_shared" = xno ; then
Packit Service 17f94a
				win32_target_dll=0
Packit Service 17f94a
				fi
Packit Service 17f94a
			;;
Packit Service 17f94a
		os2*)
Packit Service 17f94a
			SHLIB_VERSION_ARG="-Wl,-export-symbols \$(srcdir)/Symbols.os2"
Packit Service 17f94a
			;;
Packit Service 17f94a
		*)
Packit Service 17f94a
			;;
Packit Service 17f94a
		esac
Packit Service 17f94a
	if test x$enable_gcc_pipe != "xno" ; then
Packit Service 17f94a
	 	CFLAGS="$CFLAGS -pipe"
Packit Service 17f94a
	 	fi
Packit Service 17f94a
Packit Service 17f94a
	COMPILER_IS_GCC=1
Packit Service 17f94a
	fi
Packit Service 17f94a
Packit Service 17f94a
if test x$enable_werror = "xyes" ; then
Packit Service 17f94a
	MN_ADD_CFLAGS([-Werror])
Packit Service 17f94a
Packit Service 17f94a
	AC_LANG_PUSH([C++])
Packit Service 17f94a
	MN_ADD_CXXFLAGS([-Werror])
Packit Service 17f94a
	AC_LANG_POP([C++])
Packit Service 17f94a
	fi
Packit Service 17f94a
Packit Service 17f94a
Packit Service 17f94a
AC_DEFINE_UNQUOTED([WIN32_TARGET_DLL], ${win32_target_dll}, [Set to 1 if windows DLL is being built.])
Packit Service 17f94a
AC_DEFINE_UNQUOTED([COMPILER_IS_GCC], ${COMPILER_IS_GCC}, [Set to 1 if the compile is GNU GCC.])
Packit Service 17f94a
Packit Service 17f94a
CFLAGS="$CFLAGS $OS_SPECIFIC_CFLAGS"
Packit Service 17f94a
Packit Service 17f94a
if test x"$CFLAGS" = x ; then
Packit Service 17f94a
	echo "Error in configure script. CFLAGS has been screwed up."
Packit Service 17f94a
	exit
Packit Service 17f94a
	fi
Packit Service 17f94a
Packit Service 17f94a
HOST_TRIPLET="${host_cpu}-${host_vendor}-${host_os}"
Packit Service 17f94a
Packit Service 17f94a
AC_DEFINE_UNQUOTED([HOST_TRIPLET], "${HOST_TRIPLET}", [The host triplet of the compiled binary.])
Packit Service 17f94a
Packit Service 17f94a
if test "$HOST_TRIPLET" = "x86_64-w64-mingw32" ; then
Packit Service 17f94a
	OS_SPECIFIC_LINKS=" -static-libgcc $OS_SPECIFIC_LINKS"
Packit Service 17f94a
	fi
Packit Service 17f94a
Packit Service 17f94a
WIN_RC_VERSION=`echo $PACKAGE_VERSION | $SED -e "s/p.*//" -e "s/\./,/g"`
Packit Service 17f94a
Packit Service 17f94a
Packit Service 17f94a
if test "$enable_static" = no ; then
Packit Service 17f94a
	SRC_BINDIR=src/.libs/
Packit Service 17f94a
	TEST_BINDIR=tests/.libs/
Packit Service 17f94a
else
Packit Service 17f94a
	SRC_BINDIR=src/
Packit Service 17f94a
	TEST_BINDIR=tests/
Packit Service 17f94a
	fi
Packit Service 17f94a
Packit Service 17f94a
#-------------------------------------------------------------------------------
Packit Service 17f94a
Packit Service 17f94a
AC_SUBST(HOST_TRIPLET)
Packit Service 17f94a
Packit Service 17f94a
AC_SUBST(HTML_BGCOLOUR)
Packit Service 17f94a
AC_SUBST(HTML_FGCOLOUR)
Packit Service 17f94a
Packit Service 17f94a
AC_SUBST(SHLIB_VERSION_ARG)
Packit Service 17f94a
AC_SUBST(SHARED_VERSION_INFO)
Packit Service 17f94a
AC_SUBST(CLEAN_VERSION)
Packit Service 17f94a
AC_SUBST(WIN_RC_VERSION)
Packit Service 17f94a
Packit Service 17f94a
AC_SUBST(HAVE_EXTERNAL_XIPH_LIBS)
Packit Service 17f94a
AC_SUBST(OS_SPECIFIC_CFLAGS)
Packit Service 17f94a
AC_SUBST(OS_SPECIFIC_LINKS)
Packit Service 17f94a
AC_SUBST(ALSA_LIBS)
Packit Service 17f94a
AC_SUBST(SNDIO_LIBS)
Packit Service 17f94a
Packit Service 17f94a
AC_SUBST(EXTERNAL_XIPH_CFLAGS)
Packit Service 17f94a
AC_SUBST(EXTERNAL_XIPH_LIBS)
Packit Service 17f94a
AC_SUBST(SRC_BINDIR)
Packit Service 17f94a
AC_SUBST(TEST_BINDIR)
Packit Service 17f94a
Packit Service 17f94a
dnl The following line causes the libtool distributed with the source
Packit Service 17f94a
dnl to be replaced if the build system has a more recent version.
Packit Service 17f94a
AC_SUBST(LIBTOOL_DEPS)
Packit Service 17f94a
Packit Service 17f94a
AC_CONFIG_FILES([ \
Packit Service 17f94a
	src/Makefile man/Makefile examples/Makefile tests/Makefile regtest/Makefile \
Packit Service 17f94a
	M4/Makefile doc/Makefile Win32/Makefile Octave/Makefile programs/Makefile \
Packit Service 17f94a
	Makefile \
Packit Service 17f94a
	src/version-metadata.rc tests/test_wrapper.sh tests/pedantic-header-test.sh \
Packit Service 17f94a
	doc/libsndfile.css Scripts/build-test-tarball.mk libsndfile.spec sndfile.pc \
Packit Service 17f94a
	src/sndfile.h \
Packit Service 17f94a
	echo-install-dirs
Packit Service 17f94a
	])
Packit Service 17f94a
AC_OUTPUT
Packit Service 17f94a
Packit Service 17f94a
# Make sure these are executable.
Packit Service 17f94a
chmod u+x tests/test_wrapper.sh Scripts/build-test-tarball.mk echo-install-dirs
Packit Service 17f94a
Packit Service 17f94a
#====================================================================================
Packit Service 17f94a
Packit Service 17f94a
AC_MSG_RESULT([
Packit Service 17f94a
-=-=-=-=-=-=-=-=-=-= Configuration Complete =-=-=-=-=-=-=-=-=-=-
Packit Service 17f94a
Packit Service 17f94a
  Configuration summary :
Packit Service 17f94a
Packit Service 17f94a
    libsndfile version : .................. ${VERSION}
Packit Service 17f94a
Packit Service 17f94a
    Host CPU : ............................ ${host_cpu}
Packit Service 17f94a
    Host Vendor : ......................... ${host_vendor}
Packit Service 17f94a
    Host OS : ............................. ${host_os}
Packit Service 17f94a
Packit Service 17f94a
    Experimental code : ................... ${enable_experimental:-no}
Packit Service 17f94a
    Using ALSA in example programs : ...... ${enable_alsa:-no}
Packit Service 17f94a
    External FLAC/Ogg/Vorbis : ............ ${enable_external_libs:-no}
Packit Service 17f94a
])
Packit Service 17f94a
Packit Service 17f94a
if test -z "$PKG_CONFIG" ; then
Packit Service 17f94a
	echo "    *****************************************************************"
Packit Service 17f94a
	echo "    ***          The pkg-config program is missing.               ***"
Packit Service 17f94a
	echo "    *** External FLAC/Ogg/Vorbis libs cannot be found without it. ***"
Packit Service 17f94a
	echo "    ***       http://pkg-config.freedesktop.org/wiki/             ***"
Packit Service 17f94a
	echo "    *****************************************************************"
Packit Service 17f94a
	echo
Packit Service 17f94a
	fi
Packit Service 17f94a
Packit Service 17f94a
echo "  Tools :"
Packit Service 17f94a
echo
Packit Service 17f94a
echo "    Compiler is Clang : ................... ${mn_cv_c_compiler_clang}"
Packit Service 17f94a
echo "    Compiler is GCC : ..................... ${ac_cv_c_compiler_gnu}"
Packit Service 17f94a
Packit Service 17f94a
if test x$ac_cv_c_compiler_gnu = xyes ; then
Packit Service 17f94a
	echo "    GCC version : ......................... ${GCC_VERSION}"
Packit Service 17f94a
	if test $GCC_MAJOR_VERSION -lt 3 ; then
Packit Service 17f94a
		echo "\n"
Packit Service 17f94a
		echo "    ** This compiler version allows applications to write"
Packit Service 17f94a
		echo "    ** to static strings within the library."
Packit Service 17f94a
		echo "    ** Compile with GCC version 3.X or above to avoid this problem."
Packit Service 17f94a
		fi
Packit Service 17f94a
	fi
Packit Service 17f94a
echo "    Sanitizer enabled : ................... ${enable_sanitizer:-no}"
Packit Service 17f94a
echo "    Stack smash protection : .............. ${enable_stack_smash_protection:-no}"
Packit Service 17f94a
Packit Service 17f94a
./echo-install-dirs
Packit Service 17f94a
Packit Service 17f94a
# Remove symlink created by Scripts/android-configure.sh.
Packit Service 17f94a
rm -f gdbclient