1dnl Process this file with autoconf to produce a configure script. 2 3dnl Boilerplate code. 4 5AC_INIT(src/audiere.h) 6AC_CONFIG_AUX_DIR(config) 7 8AC_CANONICAL_SYSTEM 9 10VERSION=1.9.4 11PACKAGE="audiere" 12 13AC_SUBST(VERSION) 14AC_SUBST(PACKAGE) 15 16AM_INIT_AUTOMAKE($PACKAGE, $VERSION) 17 18dnl Checks for options. 19 20AC_ARG_ENABLE(debug, 21 AC_HELP_STRING(--enable-debug, build debug), 22 CFLAGS="$CFLAGS -g" 23 CXXFLAGS="$CXXFLAGS -g" 24 AC_DEFINE(DEBUG)) 25 26AC_ARG_ENABLE(opt, 27 AC_HELP_STRING(--enable-opt, build with optimizations), 28 CFLAGS="$CFLAGS -O2" 29 CXXFLAGS="$CXXFLAGS -O2") 30 31dnl Checks for programs. 32 33AC_PROG_CC 34AC_PROG_CPP 35AC_PROG_CXX 36AC_PROG_CXXCPP 37AC_PROG_MAKE_SET 38AM_PROG_LIBTOOL 39 40dnl We test with C++ libraries, so use the C++ compiler... 41AC_LANG(C++) 42 43dnl Checks for libraries. 44 45dnl If building on Cygwin, don't let windows.h define min() or max() 46case $host in 47 *cygwin*) 48 CXXFLAGS="-DWIN32_LEAN_AND_MEAN -DNOMINMAX -DADR_DECL= -DADR_CALL= $CXXFLAGS" 49 ;; 50esac 51 52dnl If building with gcc, build with all warnings except "class has virtual 53dnl functions but non-virtual destructor". 54if test "x$GXX" = "xyes" ; then 55 CXXFLAGS="$CXXFLAGS -Wall -Wno-non-virtual-dtor" 56fi 57if test "x$GCC" = "xyes" ; then 58 CFLAGS="$CFLAGS -Wall -Wno-non-virtual-dtor" 59fi 60 61dnl Look for pthreads 62AC_CHECK_LIB(pthread, pthread_create, 63 LIBS="-lpthread $LIBS" 64 EXTRA_LIBS="-lpthread $EXTRA_LIBS" 65 , 66 AC_MSG_ERROR(could not find pthread library)) 67 68dnl Look for FLAC 69AC_CHECK_LIB(no_FLAC, FLAC__seekable_stream_decoder_process_single, 70 LIBS="-lFLAC -lm $LIBS" 71 EXTRA_LIBS="-lFLAC -lm $EXTRA_LIBS" 72 HAVE_FLAC=true 73 , 74 AC_MSG_WARN([libFLAC not found. Install FLAC from http://flac.sourceforge.net/]) 75 AC_MSG_WARN([Disabling FLAC support.]) 76 AC_DEFINE(NO_FLAC) 77 , 78 -lm) 79AM_CONDITIONAL(HAVE_FLAC, test "x$HAVE_FLAC" = "xtrue") 80 81dnl Look for DUMB 82AC_CHECK_LIB(dumb, duh_start_renderer, 83 LIBS="-ldumb $LIBS" 84 EXTRA_LIBS="-ldumb $EXTRA_LIBS" 85 HAVE_DUMB=true 86 , 87 AC_MSG_WARN([libdumb not found. Install DUMB from http://dumb.sourceforge.net/]) 88 AC_MSG_WARN([Disabling DUMB support.]) 89 AC_DEFINE(NO_DUMB)) 90AM_CONDITIONAL(HAVE_DUMB, test "x$HAVE_DUMB" = "xtrue") 91 92dnl Look for libcdaudio 93AC_CHECK_LIB(cdaudio, cd_init_device, 94 LIBS="-lcdaudio $LIBS" 95 EXTRA_LIBS="-lcdaudio $EXTRA_LIBS" 96 HAVE_LIBCDAUDIO=true 97 , 98 AC_MSG_WARN([libcdaudio not found. Install it from http://libcdaudio.sf.net/]) 99 AC_MSG_WARN([CD audio support might still be possible through another means such as winmm.])) 100AM_CONDITIONAL(HAVE_LIBCDAUDIO, test "x$HAVE_LIBCDAUDIO" = "xtrue") 101 102dnl Look for the POSIX realtime clock 103AC_SEARCH_LIBS(clock_gettime, rt, 104 AC_DEFINE(HAVE_CLOCK_GETTIME)) 105 106dnl Look for SGI audio 107AC_CHECK_LIB(audio, alNewConfig, 108 HAVE_AL=true 109 AC_DEFINE(HAVE_AL) 110 LIBS="-laudio $LIBS" 111 EXTRA_LIBS="-laudio $EXTRA_LIBS") 112AM_CONDITIONAL(HAVE_AL, test "x$HAVE_AL" = "xtrue") 113 114dnl Look for wxWindows 115AC_PATH_PROG(WX_CONFIG, wx-config, no, $PATH:/usr/local/bin) 116if [[ "$WX_CONFIG" = "no" ]] ; then 117 AC_MSG_WARN([wxWindows not found, not building wxPlayer. 118 See http://www.wxwindows.org/]) 119else 120 old_CXXFLAGS="$CXXFLAGS" 121 old_LIBS="$LIBS" 122 WXFLAGS=`$WX_CONFIG --cxxflags` 123 WXLIBS=`$WX_CONFIG --libs` 124 CXXFLAGS="$WXFLAGS $CXXFLAGS" 125 LIBS="$WXLIBS $LIBS" 126 127 AC_MSG_CHECKING(if small wxWindows application links) 128 AC_LINK_IFELSE(AC_LANG_SOURCE([ 129 #include <wx/wx.h> 130 class App : public wxApp { 131 public: 132 bool OnInit() { 133 return false; 134 } 135 }; 136 IMPLEMENT_APP(App) 137 ]) 138 , 139 AC_MSG_RESULT(yes) 140 HAVE_WXWINDOWS=true 141 AC_DEFINE(HAVE_WXWINDOWS) 142 WX_LIBS=`$WX_CONFIG --libs` 143 WX_CPPFLAGS=`$WX_CONFIG --cxxflags` 144 AC_SUBST(WX_LIBS) 145 AC_SUBST(WX_CPPFLAGS) 146 , 147 AC_MSG_RESULT(no) 148 AC_MSG_WARN([wx-config found but linking with wxWindows failed. 149Maybe wxWindows was compiled with another compiler?])) 150 151 CXXFLAGS="$old_CXXFLAGS" 152 LIBS="$old_LIBS" 153fi 154 155AM_CONDITIONAL(HAVE_WXWINDOWS, test "x$HAVE_WXWINDOWS" = "xtrue") 156 157dnl Checks for header files. 158 159AC_HEADER_STDC 160AC_CHECK_HEADER(unistd.h) 161AC_CHECK_HEADER(sys/soundcard.h, 162 HAVE_OSS=true 163 AC_DEFINE(HAVE_OSS)) 164AM_CONDITIONAL(HAVE_OSS, test "x$HAVE_OSS" = "xtrue") 165 166AC_CHECK_HEADER(vorbis/vorbisfile.h, 167 HAVE_OGG=true 168 LIBS="-lvorbisfile -lvorbis -logg $LIBS" 169 EXTRA_LIBS="-lvorbisfile -lvorbis -logg $EXTRA_LIBS" 170 , 171 AC_MSG_WARN([Could not find vorbisfile header. You do not appear to have libvorbis installed. 172Get libvorbis from http://www.vorbis.com/]) 173 AC_MSG_WARN([Disabling Ogg Vorbis support.]) 174 AC_DEFINE(NO_OGG)) 175AM_CONDITIONAL(HAVE_OGG, test "x$HAVE_OGG" = "xtrue") 176 177AC_CHECK_HEADER(speex.h, 178 HAVE_SPEEX=true 179 LIBS="-lspeex $LIBS" 180 EXTRA_LIBS="-lspeex $EXTRA_LIBS" 181 , 182 AC_MSG_WARN([Could not find speex header. You do not appear to have libspeex installed. 183Get libspeex from http://www.speex.org/]) 184 AC_MSG_WARN([Disabling speex support.]) 185 AC_DEFINE(NO_SPEEX)) 186AM_CONDITIONAL(HAVE_SPEEX, test "x$HAVE_SPEEX" = "xtrue") 187 188AC_CHECK_HEADER(dsound.h, 189 HAVE_DSOUND=true 190 AC_DEFINE(HAVE_DSOUND) 191 LIBS="-ldsound -lole32 -lrpcrt4 $LIBS" 192 EXTRA_LIBS="-ldsound -lole32 -lrpcrt4 $EXTRA_LIBS") 193AM_CONDITIONAL(HAVE_DSOUND, test "x$HAVE_DSOUND" = "xtrue") 194 195AC_CHECK_HEADER(mmsystem.h, 196 HAVE_WINMM=true 197 AC_DEFINE(HAVE_WINMM) 198 LIBS="-lwinmm $LIBS" 199 EXTRA_LIBS="-lwinmm $EXTRA_LIBS" 200 ,, 201 [#include <windows.h>]) 202AM_CONDITIONAL(HAVE_WINMM, test "x$HAVE_WINMM" = "xtrue") 203 204dnl Checks for typedefs, structures, and compiler characteristics. 205 206AC_C_BIGENDIAN 207 208dnl Output makefiles. 209 210AC_SUBST(WORDS_BIGENDIAN) 211AC_SUBST(EXTRA_LIBS) 212AC_OUTPUT( 213 audiere-config 214 Makefile 215 doc/Makefile 216 examples/Makefile 217 examples/simple/Makefile 218 examples/wxPlayer/Makefile 219 src/Makefile 220 src/mpaudec/Makefile 221 test/Makefile 222 test/buffer/Makefile 223 test/callback/Makefile 224 test/device/Makefile 225 test/formats/Makefile 226 test/interactive/Makefile 227 test/performance/Makefile, 228 [chmod a+x audiere-config]) 229