diff options
author | IOhannes m zmölnig <zmoelnig@users.sourceforge.net> | 2005-05-17 15:05:38 +0000 |
---|---|---|
committer | IOhannes m zmölnig <zmoelnig@users.sourceforge.net> | 2005-05-17 15:05:38 +0000 |
commit | 449602d8e113b392e0904a23ef068e97a3ab502e (patch) | |
tree | 52879d5099bf531da4c769019f79efdb85898c95 /src | |
parent | fb8fb9cdcd454b519d688afe96250afa6133a9e1 (diff) |
added configure.ac
configure.in is no deprecated!
svn path=/trunk/externals/zexy/; revision=2993
Diffstat (limited to 'src')
-rw-r--r-- | src/configure.ac | 249 |
1 files changed, 249 insertions, 0 deletions
diff --git a/src/configure.ac b/src/configure.ac new file mode 100644 index 0000000..b0e4b2a --- /dev/null +++ b/src/configure.ac @@ -0,0 +1,249 @@ +dnl Process this file with autoconf to produce a configure script. +AC_INIT(zexy.c) + +dnl for now i can test ICC only on linux +dnl LATER we might want to use it for other platforms (namely:windoze) too + +if test `uname -s` = Linux; +then + AC_ARG_ENABLE(icc, [ --enable-icc enable ICC-support]) + if test "$enable_icc" = "yes"; then + CC=icc + LD=icc + fi +fi + + +dnl Checks for programs. +AC_PROG_CC + +AC_SUBST(STK) +AC_SUBST(CFLAGS) +AC_SUBST(DFLAGS) +AC_SUBST(LFLAGS) +AC_SUBST(EXT) +AC_SUBST(LD) +AC_SUBST(STRIPFLAGS) +AC_SUBST(ZEXY_VERSION) +AC_SUBST(REFERENCEPATH) +AC_SUBST(PDLIBDIR) +AC_SUBST(INCLUDES) +AC_SUBST(SOURCES) + + +AC_ARG_WITH(pdversion, [ --with-pdversion=<ver> enforce a certain pd-version (e.g. 0.37)]) +AC_ARG_ENABLE(lpt, [ --enable-lpt enable parallelport-support]) +#AC_ARG_ENABLE(icc, [ --enable-icc enable ICC-support]) + + +if test $includedir +then + for id in $includedir + do + if test -d $id + then + INCLUDES="-I$id $INCLUDES" + fi + done +fi + +dnl Checks for libraries. +dnl Replace `main' with a function in -lc: +AC_CHECK_LIB(c, main) +dnl Replace `main' with a function in -lm: +AC_CHECK_LIB(m, main) +dnl Replace `main' with a function in -lpthread: +dnl AC_CHECK_LIB(pthread, main) +dnl Replace `main' with a function in -lstk: +dnl AC_CHECK_LIB(stk, main, STK=yes) + +dnl Checks for header files. +AC_HEADER_STDC +AC_CHECK_HEADERS(stdlib.h stdio.h string.h math.h time.h sys/time.h) + +dnl Checks for typedefs, structures, and compiler characteristics. +AC_HEADER_TIME + +dnl Checks for library functions. +AC_FUNC_MMAP +AC_CHECK_FUNCS(select socket strerror) + +dnl ifwe don't have $LD set, we set it to "ld" +LD=${LD:-ld} + +DFLAGS="-DZEXY_LIBRARY" + +dnl +dnl OK, checks for machines are here now +dnl +if test `uname -s` = Linux; +then + LFLAGS="-export_dynamic -shared" + EXT=pd_linux + STRIPFLAGS="--strip-unneeded" + if test "$enable_icc" = "yes"; then + CC=icc + fi + + if test $CC = "icc" + then + LD=$CC + LFLAGS="-ip -ipo_obj "$LFLAGS + CFLAGS="-ip -ipo_obj "$CFLAGS + else + : + fi +fi + +dnl This should use '-bundle_loader /path/to/pd/bin/pd' instead of'-undefined suppress' +dnl then strip might do something +if test `uname -s` = Darwin; +then + LD=cc + LFLAGS="-bundle -undefined suppress -flat_namespace" + EXT=pd_darwin + STRIPFLAGS= + if test "$enable_lpt" = "yes"; then + AC_MSG_ERROR("lpt not supported on this platform"); + fi + if test "$enable_lpt" = ""; then + AC_MSG_WARN("lpt not supported on this platform - disabling"); + enable_lpt="no"; + fi +fi +if test `uname | sed -e 's/^MINGW.*/NT/'` = NT; +then + LD=gcc + INCLUDES="-I@prefix@/src" + DFLAGS="-DMSW -DNT" + LFLAGS="-shared @prefix@/bin/pd.dll" + EXT=dll +else + PDLIBDIR="/lib/pd" + LIBS="-lc -lm" +fi +if test `uname -s` = IRIX64; +then + LFLAGS="-n32 -DUNIX -DIRIX -DN32 -woff 1080,1064,1185 \ + -OPT:roundoff=3 -OPT:IEEE_arithmetic=3 -OPT:cray_ivdep=true \ + -shared -rdata_shared" + EXT=pd_irix6 + dnl DFLAGS="-DUNIX -DIRIX6" + STRIPFLAGS="--strip-unneeded" + if test "$enable_lpt" = "yes"; then + AC_MSG_ERROR("lpt not supported on this platform"); + fi + if test "$enable_lpt" = ""; then + AC_MSG_WARN("lpt not supported on this platform - disabling"); + enable_lpt="no"; + fi +fi + +if test `uname -s` = IRIX32; +then + LFLAGS="-o32 -DUNIX -DIRIX -O2 + -shared -rdata_shared" + EXT=pd_irix5 + dnl DFLAGS="-DUNIX -DIRIX5" + STRIPFLAGS="--strip-unneeded" + if test "$enable_lpt" = "yes"; then + AC_MSG_ERROR("lpt not supported on this platform"); + fi + if test "$enable_lpt" = ""; then + AC_MSG_WARN("lpt not supported on this platform - disabling"); + enable_lpt="no"; + fi +fi + +dnl Checks for pd-version, to set the correct help-path +AC_MSG_CHECKING("pd\>=0.37") + +if test "$with_pdversion" != "" +then +echo -n "($with_pdversion)... " + PD_VERSION="$with_pdversion" +else +cat > conftest.c << EOF +#include <stdio.h> +#include "m_pd.h" +int main(){ + printf("%d.%d\n", PD_MAJOR_VERSION, PD_MINOR_VERSION); + return 0; +} +EOF + if $CC $INCLUDES -o conftest.o conftest.c > /dev/null 2>&1 + then + PD_VERSION=`./conftest.o` + else + PD_VERSION="" + fi +fi + +let PD_MAJORVERSION=`echo $PD_VERSION | cut -d"." -f1`+0 +let PD_MINORVERSION=`echo $PD_VERSION | cut -d"." -f2`+0 + +if test "$PD_MAJORVERSION" -gt 0 || test "$PD_MINORVERSION" -ge 37 +then + REFERENCEPATH=extra/help- + echo "yes" +else + REFERENCEPATH=doc/5.reference/ + echo "no" +fi + +dnl check for zexy-version (but why...) +AC_MSG_CHECKING("zexy-version") +cat > conftest.c << EOF +#include <stdio.h> +#include "zexy.h" +int main(){ + printf("%s\n", VERSION); + return 0; +} +EOF + +if $CC $INCLUDES $DFLAGS -o conftest.o conftest.c > /dev/null 2>&1 +then + ZEXY_VERSION=`./conftest.o` + echo "$ZEXY_VERSION" +else + ZEXY_VERSION="X" + echo "(unknown)" +fi + + +dnl check for LPT +AC_MSG_CHECKING("parallel-port") +if test "$enable_lpt" != "no" +then + if test "$enable_lpt" = "yes" + then + DFLAGS="$DFLAGS -DZ_WANT_LPT" + echo "yes (forced)" + else +cat > conftest.c << EOF +# include <sys/io.h> +int main(){ + ioperm(0x3bc, 8, 1); + outb(0, 0x3bc); + ioperm(0x3bc, 8, 0); + return 0; +} +EOF + + if $CC $INCLUDES -o conftest.o conftest.c > /dev/null 2>&1 + then + DFLAGS="$DFLAGS -DZ_WANT_LPT" + echo "yes" + else + echo "no" + fi + fi +else + echo "no (ignored)" +fi + +AC_OUTPUT(Makefile) + +rm -f conftest.* +./makesource.sh |