dnl Process this file with autoconf to produce a configure script. AC_INIT AC_PREREQ(2.59) AC_CONFIG_HEADERS([config.h]) AC_CONFIG_SRCDIR([src/chunk.c]) AC_CANONICAL_HOST AC_CANONICAL_TARGET MHW_VERSION=1.4.11 AM_INIT_AUTOMAKE(mhWaveEdit,$MHW_VERSION) dnl Check for libintl AM_GNU_GETTEXT([external]) dnl Setup AM_CFLAGS OPTIM=yes AC_ARG_ENABLE(optimization, [ --disable-optimization Don't compile with any optimization options.], if test "x$enableval" = "xno"; then OPTIM=no fi ) AM_CFLAGS="-Wall -g" if test "x$OPTIM" != "xno"; then AM_CFLAGS="$AM_CFLAGS -O2"; fi AC_SUBST(AM_CFLAGS) dnl Various options AC_ARG_WITH(double-samples, [ --with-double-samples Use double precision floating point numbers for sound processing (slows down program but may increase quality for 24/32-bit samplerates).], AC_DEFINE([USE_DOUBLE_SAMPLES],[], [Use gdouble instead of gfloat as sample data type]) MHW_DOUBLE="yes") AC_DEFUN([AC_WITHOUT_CHECK_CASTS],[ if test "x$withval" = "xno" ; then AC_DEFINE(GTK_NO_CHECK_CASTS,[],[If defined, disables GTK+ type checking]) fi ]) AC_ARG_WITH(check-casts, [ --without-check-casts Do not type-check GTK casts.],AC_WITHOUT_CHECK_CASTS) AC_DEFUN([AC_ENABLE_WERROR],[ if test "x$enableval" = "xyes" ; then AM_CFLAGS="$AM_CFLAGS -Werror" fi ]) AC_ARG_ENABLE(werror, [ --enable-werror Treat warnings as errors during compilation], AC_ENABLE_WERROR) DEFAULT_DRIVER=auto AC_ARG_WITH(default-driver, [ --with-default-driver=driver Choose default sound driver (one of oss,alsa, jack,sun,pa,sdl,esound,arts,auto)], DEFAULT_DRIVER=$withval) AC_DEFINE_UNQUOTED(DEFAULT_DRIVER,"${DEFAULT_DRIVER}",[Default sound driver]) dnl Checks for programs. AC_PROG_CC AC_PROG_GCC_TRADITIONAL AC_PROG_LN_S AC_PROG_MAKE_SET dnl Checks for libraries. dnl Replace `main' with a function in -libs: AC_CHECK_LIB(ibs, main) AC_CHECK_LIB(m, round) dnl This is needed for PortAudio under GNU/Linux... AC_CHECK_LIB(pthread,pthread_create) dnl Check for libsndfile HAVE_SNDFILE=yes SKIP_SNDFILE_CHECK=no SNDFILE_LIBS="" SNDFILE_CFLAGS="" AC_DEFUN([AC_WITH_LIBSNDFILE],[ if test "x$withval" = "xno" ; then HAVE_SNDFILE=no else SNDFILE_LIBS="-L$withval/lib -lsndfile -lm" SNDFILE_CFLAGS="-I$withval/include" SKIP_SNDFILE_CHECK=yes fi ]) AC_ARG_WITH(libsndfile,[ --with-libsndfile=prefix Prefix where libsndfile is installed (optional) --without-libsndfile Don't use libsndfile library],AC_WITH_LIBSNDFILE) if test "x$HAVE_SNDFILE" = "xyes" -a "x$SKIP_SNDFILE_CHECK" = "xno"; then PKG_CHECK_MODULES(SNDFILE, sndfile, , HAVE_SNDFILE=no) fi if test "x$HAVE_SNDFILE" = "xyes" ; then AC_DEFINE(HAVE_LIBSNDFILE,[],[Use libsndfile library]) fi AC_SUBST(SNDFILE_LIBS) AC_SUBST(SNDFILE_CFLAGS) dnl Check for libsamplerate HAVE_LIBSAMPLERATE=yes SKIP_LIBSAMPLERATE_CHECK=no LIBSAMPLERATE_LIBS="" LIBSAMPLERATE_CFLAGS="" AC_DEFUN([AC_WITH_LIBSAMPLERATE],[ if test "x$withval" = "xno" ; then HAVE_LIBSAMPLERATE=no else LIBSAMPLERATE_LIBS="-L$withval/lib -lsamplerate" LIBSAMPLERATE_CFLAGS="-I$withval/include" SKIP_LIBSAMPLERATE_CHECK=yes fi ]) AC_ARG_WITH(libsamplerate,[ --with-libsamplerate=prefix Prefix where libsamplerate is installed (optional) --without-libsamplerate Don't use libsamplerate library],AC_WITH_LIBSAMPLERATE) if test "x$HAVE_LIBSAMPLERATE" = "xyes" -a "x$SKIP_LIBSAMPLERATE_CHECK" = "xno"; then PKG_CHECK_MODULES(LIBSAMPLERATE, samplerate, , HAVE_LIBSAMPLERATE=no) fi if test "x$HAVE_LIBSAMPLERATE" = "xyes" ; then AC_DEFINE(HAVE_LIBSAMPLERATE,[],[Use libsamplerate library]) fi AC_SUBST(LIBSAMPLERATE_LIBS) AC_SUBST(LIBSAMPLERATE_CFLAGS) dnl Check for PortAudio PORTAUDIO_LIBS="" MHW_HAVE_PORTAUDIO=yes AC_ARG_WITH(portaudio,[ --without-portaudio Don't use portaudio library], if test "x$withval" = "xno"; then MHW_HAVE_PORTAUDIO=no fi ) AC_CHECK_HEADER(portaudio.h,mhw_found_header=yes,mhw_found_header=no) if test "x$mhw_found_header" = "xno"; then MHW_HAVE_PORTAUDIO=no fi if test "x$MHW_HAVE_PORTAUDIO" = "xyes"; then AC_CHECK_LIB(portaudio,Pa_Initialize,MHW_HAVE_PORTAUDIO=yes,MHW_HAVE_PORTAUDIO=no) fi if test "x$MHW_HAVE_PORTAUDIO" = "xyes"; then AC_DEFINE(HAVE_PORTAUDIO,[],[Enable PortAudio sound driver]) PORTAUDIO_LIBS="-lportaudio $PORTAUDIO_LIBS" fi AC_SUBST(PORTAUDIO_LIBS) dnl Check for SDL SKIP_SDL_TEST=no MHW_HAVE_SDL=no AC_DEFUN([AC_WITHOUT_SDL],[ if test "x$withval" = "xno" ; then SKIP_SDL_TEST=yes fi ]) AC_ARG_WITH(sdl,[ --without-sdl Don't use SDL library],AC_WITHOUT_SDL) if test "x$SKIP_SDL_TEST" = "xno"; then AM_PATH_SDL(1.2.3, AC_DEFINE(HAVE_SDL,[],[Enable SDL sound driver]) MHW_HAVE_SDL=yes) fi dnl Check for AlsaLib ALSALIB_LIBS="" AC_CHECK_LIB(asound,snd_pcm_open,HAVE_ALSALIB=yes,HAVE_ALSALIB=no) AC_DEFUN([AC_WITHOUT_ALSALIB],[ if test "x$withval" = "xno" ; then HAVE_ALSALIB=no fi ]) AC_ARG_WITH(alsalib,[ --without-alsalib Don't compile ALSA-lib driver],AC_WITHOUT_ALSALIB) AC_CHECK_HEADER(alsa/asoundlib.h,mhw_found_header=yes,mhw_found_header=no) if test "x$mhw_found_header" = "xno"; then HAVE_ALSALIB="no" fi if test "x$HAVE_ALSALIB" = "xyes"; then ALSALIB_LIBS="-lasound" AC_DEFINE(HAVE_ALSALIB,[],[Enable ALSA sound driver]) fi AC_SUBST(ALSALIB_LIBS) dnl Check for OSS HAVE_OSS=yes AC_DEFUN([AC_WITHOUT_OSS],[ if test "x$withval" = "xno" ; then HAVE_OSS=no fi ]) AC_ARG_WITH(oss,[ --without-oss Don't compile OSS driver],AC_WITHOUT_OSS) dnl Check for libossaudio, needed for OSS on OpenBSD AC_CHECK_LIB(ossaudio,_oss_ioctl) mhw_found_one=no AC_CHECK_HEADERS(soundcard.h sys/soundcard.h,mhw_found_one=yes) if test "x$mhw_found_one" = "xno"; then HAVE_OSS=no fi if test "x$HAVE_OSS" = "xyes"; then AC_DEFINE(HAVE_OSS,[],[Enable OSS sound driver]) fi dnl Check for JACK MHW_HAVE_JACK=no MHW_SKIP_JACKTEST=no AC_DEFUN([AC_WITHOUT_JACK],[ if test "x$withval" = "xno" ; then MHW_SKIP_JACKTEST='yes' fi ]) AC_ARG_WITH(jack,[ --without-jack Don't compile JACK driver],AC_WITHOUT_JACK) if test "x$MHW_SKIP_JACKTEST" = "xno" then PKG_CHECK_MODULES(JACK,jack >= 0.98.0,MHW_HAVE_JACK=yes,MHW_HAVE_JACK=no) fi if test "x$MHW_HAVE_JACK" = "xyes" ; then AC_DEFINE(HAVE_JACK,[],[Enable JACK sound driver]) fi dnl Check for Esound MHW_HAVE_ESOUND=yes AC_ARG_WITH(esound,[ --without-esound Don't compile EsounD driver], if test "x$withval" = "xno"; then MHW_HAVE_ESOUND=no fi ) if test "x$MHW_HAVE_ESOUND" = "xyes" then PKG_CHECK_MODULES(ESOUND,esound >= 0.2.0,MHW_HAVE_ESOUND=yes,MHW_HAVE_ESOUND=no) fi if test "x$MHW_HAVE_ESOUND" = "xyes"; then AC_DEFINE(HAVE_ESOUND,[],[Enable EsounD sound driver]) fi dnl Check for Sun audio MHW_HAVE_SUNAUDIO=yes AC_DEFUN([AC_WITHOUT_SUNAUDIO],[ if test "x$withval" = "xno" ; then MHW_HAVE_SUNAUDIO=no fi ]) AC_ARG_WITH(sun,[ --without-sun Don't compile Sun audio driver],AC_WITHOUT_SUNAUDIO) AC_CHECK_HEADER(sys/audio.h,mhw_found_one=yes,mhw_found_one=no) if test "x$mhw_found_one" = "xno"; then MHW_HAVE_SUNAUDIO=no fi if test "x$MHW_HAVE_SUNAUDIO" = "xyes"; then AC_DEFINE(HAVE_SUN,[],[Enable Sun audio sound driver]) fi dnl Check for aRts C interface MHW_HAVE_ARTSC=yes ARTSC_LIBS="" ARTSC_CFLAGS="" AC_DEFUN([AC_WITHOUT_ARTSC],[ if test "x$withval" = "xno"; then MHW_HAVE_ARTSC=no fi ]) AC_ARG_WITH(arts, [ --without-arts Don't compile aRts driver],AC_WITHOUT_ARTSC) ARTSC_CONFIG=no if test "x$MHW_HAVE_ARTSC" = "xyes"; then AC_PATH_PROG(ARTSC_CONFIG, artsc-config, no) fi if test "x$ARTSC_CONFIG" = "xno"; then MHW_HAVE_ARTSC=no else ARTSC_CFLAGS=`$ARTSC_CONFIG --cflags` ARTSC_LIBS=`$ARTSC_CONFIG --libs` AC_DEFINE(HAVE_ARTSC,[],[Enable aRts driver]) fi AC_SUBST(ARTSC_CFLAGS) AC_SUBST(ARTSC_LIBS) dnl Check for GTK+ AC_DEFUN([AC_DISABLE_GTK2],[ if test "x$enableval" = "xno" ; then DISABLE_GTK2='yes' fi ]) AC_ARG_ENABLE(gtk2, [ --disable-gtk2 Don't use GTK+ 2, use 1.2 instead], AC_DISABLE_GTK2, DISABLE_GTK2='no') FOUND_GTK="no" dnl Check for GTK+ without gthread if test "x$FOUND_GTK" = "xno"; then if test "x$DISABLE_GTK2" != "xyes"; then AM_PATH_GTK_2_0(2.0.0,USES_GTK2="yes" FOUND_GTK="yes") fi fi if test "x$FOUND_GTK" = "xno"; then AM_PATH_GTK(1.2.5,FOUND_GTK="yes",AC_MSG_ERROR(mhWaveEdit requires GTK+ version 1.2.5 or higher...)) fi dnl Check for large file support AC_SYS_LARGEFILE AC_DEFINE(_LARGEFILE_SOURCE,[],[Defined to get fseeko/ftello prototypes]) AC_CHECK_SIZEOF(off_t) dnl Checks for header files. AC_HEADER_STDC AC_CHECK_HEADERS([sys/time.h time.h sys/ioctl.h sys/types.h unistd.h fcntl.h sched.h libintl.h locale.h]) HAVE_LADSPA=yes AC_CHECK_HEADER(ladspa.h,,HAVE_LADSPA=no) if test "x$HAVE_LADSPA" = "xyes"; then AC_CHECK_HEADER(dlfcn.h,,HAVE_LADSPA=no) fi if test "x$HAVE_LADSPA" = "xyes"; then AC_CHECK_LIB(dl,dlopen,LIBS="-ldl $LIBS",HAVE_LADSPA=no) fi if test "x$HAVE_LADSPA" = "xyes"; then AC_DEFINE(HAVE_LADSPA,[],[Enable LADSPA support]) fi dnl Checks for typedefs, structures, and compiler characteristics. AC_TYPE_SIZE_T AC_TYPE_OFF_T AC_TYPE_PID_T AC_TYPE_SIGNAL AC_HEADER_TIME AC_HEADER_DIRENT AC_HEADER_SYS_WAIT AC_C_CONST AC_C_VOLATILE dnl Check return type of unsetenv AC_MSG_CHECKING([whether unsetenv returns a value]) HAVE_INT_UNSETENV=no AC_COMPILE_IFELSE([AC_LANG_PROGRAM([ #include ],[int i; i = unsetenv("dummy"); return 0;])],HAVE_INT_UNSETENV=yes) if test "x$HAVE_INT_UNSETENV" = "xyes"; then AC_DEFINE(UNSETENV_RETVAL,[],[Defined if unsetenv returns an integer]) fi AC_MSG_RESULT([$HAVE_INT_UNSETENV]) dnl Checks for library functions. AC_FUNC_MEMCMP AC_CHECK_FUNCS([gettimeofday mkdir strerror strtod strtol sched_yield ceill setlocale fseeko ftello lrint lrintf dup2 memchr memmove memset pow putenv select sqrt strchr strrchr strstr strtoul]) AC_FUNC_CLOSEDIR_VOID AC_FUNC_FORK AC_FUNC_SELECT_ARGTYPES AC_FUNC_STAT AC_FUNC_STRTOD dnl Write output AC_CONFIG_FILES([Makefile src/Makefile po/Makefile.in m4/Makefile ]) AC_OUTPUT dnl Display configuration echo echo echo "------------------------" echo "mhWaveEdit configuration" echo "------------------------" echo echo "Version: $MHW_VERSION" echo echo "Libraries: " echo -n " GTK+ version: " if test "x$USES_GTK2" = "xyes"; then echo "2.x" else echo "1.2" fi echo " Libsndfile: $HAVE_SNDFILE" echo " Libsamplerate: $HAVE_LIBSAMPLERATE" echo echo "Sound drivers:" echo " OSS: $HAVE_OSS" echo " ALSA: $HAVE_ALSALIB" echo " JACK: $MHW_HAVE_JACK" echo " Sun: $MHW_HAVE_SUNAUDIO" echo " PortAudio: $MHW_HAVE_PORTAUDIO" echo " SDL: $MHW_HAVE_SDL" echo " EsounD: $MHW_HAVE_ESOUND" echo " aRts: $MHW_HAVE_ARTSC" echo echo "Other settings:" echo " LADSPA Support: $HAVE_LADSPA" echo -n " Floating-point samples: " if test "x$MHW_DOUBLE" = "xyes"; then echo "double precision" else echo "normal precision" fi echo echo "Type make (or gmake) to compile mhWaveEdit!"