AC_PREREQ(2.13) AC_INIT([libxtract], [0.11], [bugs@postlude.co.uk]) AM_INIT_AUTOMAKE($PACKAGE, $VERSION) AM_CONFIG_HEADER(config.h) AC_PROG_CC AC_PROG_INSTALL AC_ENABLE_STATIC(no) AC_ENABLE_SHARED(yes) AC_PROG_LIBTOOL #AC_ARG_WITH(fftw, AC_HELP_STRING([--with-vector], [build vector features]), # [ if test $withval = "yes"; then with_vector=yes ; # else with_vector=no ; fi ], with_vector=no) AC_CHECK_HEADERS([math.h]) AC_CHECK_PROG([DOXYGEN], [doxygen], [doc], []) AC_SUBST(DOXYGEN) AC_ARG_ENABLE(vector, [ --enable-vector Turn fft-based vector processing on], [case "${enableval}" in yes) vector=true ;; no) vector=false ;; *) AC_MSG_ERROR(bad value ${enableval} for --enable-vector) ;; esac],[vector=false]) AC_ARG_ENABLE(pd_example, [ --enable-pd_example Compile the Pure Data external example], [case "${enableval}" in yes) pd_example=true ;; no) pd_example=false ;; *) AC_MSG_ERROR(bad value ${enableval} for --enable-pd_external) ;; esac],[pd_example=false]) # libtool version: current:revision:age # # If the library source code has changed at all since the last update, then # increment revision (`c:r:a' becomes `c:r+1:a'). # # If any interfaces have been added, removed, or changed since the last update, # increment current, and set revision to 0. # # If any interfaces have been added since the last public release, then # increment age. # # If any interfaces have been removed since the last public release, then set # age to 0. XTRACT_SO_VERSION=0:0:0 CFLAGS="$CFLAGS -pedantic -ansi" LDFLAGS="$LDFLAGS -lm" AC_ARG_WITH(pd_dir, [ --with-pd-dir=path pd header path (default=/usr/local/include) ], [ CFLAGS="$CFLAGS -I$withval" echo echo "pd dir is $withval" echo ]) AC_ARG_WITH(fftw3_dir, [ --with-fftw3-dir=path fftw3 header path (default=/usr/local/include) ], [ CFLAGS="$CFLAGS -I$withval" echo echo "fftw3 dir is $withval" echo ]) dnl Are we building with fftw? #if [[ "$with_vector" = "yes" ]] ; then if [[ "$vector" = "true" ]] ; then LDFLAGS="$LDFLAGS -lfftw3f" AC_DEFINE([BUILD_VECTOR], [1], [Build the vector functions]) AC_CHECK_HEADER(fftw3.h, [have_fftw3_hdr=yes ], [ have_pd_hdr=no echo echo "no fftw3.h header found. try with option --with-fftw3-dir=/path/to/fftw3/header" echo exit ]) fi AM_CONDITIONAL(BUILD_VECTOR, test "x${vector}" = 'xtrue') dnl Are we building the PD examples? if [[ "$pd_example" = "true" ]] ; then PD_SOURCES="xtract~.c" AC_DEFINE([BUILD_PD_EXAMPLE], [1], [Build the pd example]) AC_CHECK_HEADER(m_pd.h, [have_pd_hdr=yes ], [ have_pd_hdr=no echo echo "no m_pd.h header found. try with option --with-pd-dir=/path/to/pd/src" echo exit ]) dnl At some point we need to support other platforms, and include checks dnl pd_suffix=pd_linux fi AM_CONDITIONAL(BUILD_PD_EXAMPLE, test "x${pd_example}" = 'xtrue') dnl ------------------------------------------ dnl ---- do some magic to gues the host opsys dnl ---- taken from libvorbis configure.in dnl ------------------------------------------ dnl AC_CANONICAL_HOST dnl AC_SUBST(PD_CFLAGS,"$PD_CFLAGS -DUNIX -Wall -Wimplicit -Wunused -Wmissing-prototypes -O1") dnl AC_SUBST(PD_LDFLAGS,"$PD_LDFLAGS -shared") dnl pd_ldflags="$PD_LDFLAGS -L/usr/local/lib -ldl" if test -z "$GCC"; then case $host in *-*-irix*) dnl If we're on IRIX, we wanna use cc even if gcc dnl is there (unless the user has overriden us)... if test -z "$CC"; then CC=cc fi ;; sparc-sun-solaris*) PD_CFLAGS="-xO4 -fast -w -fsimple -native -xcg92" ;; *) PD_CFLAGS="-O" ;; esac else case $host in *86-*-linux*) PD_CFLAGS="$PD_CFLAGS -DUNIX -Wall -Wimplicit -Wunused -Wmissing-prototypes -O1" PD_LDFLAGS="$PD_LDFLAGS -shared" dnl we could test for bad glibc here, but don't PD_SUFFIX=pd_linux ;; powerpc-*-linux*) PD_CFLAGS="$PD_CFLAGS -DUNIX -Wall -Wimplicit -Wunused -Wmissing-prototypes -O1 " PD_LDFLAGS="$PD_LDFLAGS -shared" PD_SUFFIX=pd_linux ;; *-*-linux*) PD_CFLAGS="$PD_CFLAGS -DUNIX -Wall -Wimplicit -Wunused -Wmissing-prototypes -O1 -fPIC" PD_LDFLAGS="$PD_LDFLAGS -shared" PD_SUFFIX=pd_linux ;; sparc-sun-*) echo "YOU HAVE A SPARC STATION, not setting any flags, not supported yet" ;; *-*-darwin*) PD_CFLAGS="$PD_CFLAGS -DUNIX -Wall -Wimplicit -Wunused -Wmissing-prototypes -O3 " PD_LDFLAGS="$PD_LDFLAGS -bundle -undefined suppress -flat_namespace" PD_SUFFIX=pd_darwin ;; *) dnl assume unix PD_CFLAGS="$PD_CFLAGS -DUNIX -Wall -Wimplicit -Wunused -Wmissing-prototypes -O1" PD_LDFLAGS="$PD_LDFLAGS -shared" PD_SUFFIX=pd_linux ;; esac fi PD_CFLAGS="$PD_CFLAGS -DPD" AC_SUBST(PD_CFLAGS) AC_SUBST(PD_LDFLAGS) AC_SUBST(PD_SUFFIX) AC_SUBST(PD_SOURCES) AC_CONFIG_FILES([doc/documentation.doxygen]) AC_OUTPUT(Makefile src/Makefile xtract/Makefile doc/Makefile examples/Makefile examples/puredata/Makefile)