diff options
author | Bryan Jurish <mukau@users.sourceforge.net> | 2009-02-15 20:41:13 +0000 |
---|---|---|
committer | Bryan Jurish <mukau@users.sourceforge.net> | 2009-02-15 20:41:13 +0000 |
commit | d6e8cff18b7895847b3a0890bd2a2b7c3015718e (patch) | |
tree | 2bb22496ecca31fd9a857371bd94dec1f9aeb0c7 /configure.ac | |
parent | fa91a07f8f6ced306f2a42ccfd4c30d478ee11a6 (diff) |
+ finished centralization of build logic
svn path=/trunk/externals/moocow/pdstring/; revision=10779
Diffstat (limited to 'configure.ac')
-rw-r--r-- | configure.ac | 245 |
1 files changed, 29 insertions, 216 deletions
diff --git a/configure.ac b/configure.ac index 1e0f21d..2ae2d97 100644 --- a/configure.ac +++ b/configure.ac @@ -2,62 +2,31 @@ dnl Process this file with autoconf to produce a configure script. dnl -- for a clean build, run: aclocal && autoheader && automake -a && autoconf AC_PREREQ(2.5) -dnl Some handy macros +##-- Some handy macros define([THE_PACKAGE_NAME], [pdstring]) -define([THE_PACKAGE_VERSION], [0.10]) +define([THE_PACKAGE_VERSION], [0.10-1]) define([THE_PACKAGE_AUTHOR], [moocow@ling.uni-potsdam.de]) AC_INIT(THE_PACKAGE_NAME, THE_PACKAGE_VERSION, THE_PACKAGE_AUTHOR) -dnl -dnl source & aux -dnl +##-- Additional m4 macros +AC_CONFIG_MACRO_DIR(m4) + +##-- source & aux AC_CONFIG_AUX_DIR(config) -dnl -dnl save user's CFLAGS,CPPFLAGS -dnl +##-- save user's CFLAGS,CPPFLAGS UCPPFLAGS="$CPPFLAGS" UCFLAGS="$CFLAGS" +ULDFLAGS="$LDFLAGS" -dnl -dnl use automake -dnl +##-- use automake, autoheader AM_INIT_AUTOMAKE(THE_PACKAGE_NAME, THE_PACKAGE_VERSION) - -dnl -dnl use autoheader -dnl AM_CONFIG_HEADER(src/config.h) - -dnl -dnl Programs, prefix -dnl -AC_PROG_CC -AC_PROG_INSTALL -AC_PROG_LN_S +##-- Default prefix AC_PREFIX_DEFAULT(/usr/local) -dnl -dnl Substitutions -dnl -AC_SUBST(DEFS) -AC_SUBST(AFLAGS) -AC_SUBST(DFLAGS) -AC_SUBST(IFLAGS) -AC_SUBST(LFLAGS) -AC_SUBST(OFLAGS) -AC_SUBST(WFLAGS) -AC_SUBST(LD) - -AC_SUBST(PDEXT) - -dnl version stuff (automatically exported?) -AC_SUBST(PACKAGE_VERSION) -AC_SUBST(PACKAGE_NAME) -AC_SUBST(BUGREPORT) - dnl ----- maintainer mode dnl + enables "maintainer mode" only with ./configure --enable-maintainer-mode dnl - causes make __never__ to invoke 'config/missing' (i.e. any autotools) @@ -65,15 +34,21 @@ dnl - basically a hack to avoid version mismatches in autoconf, automake, etc dnl for autobuilds from SVN dnl + maintainer should call ./configure --enable-maintainer-mode, and must keep dnl SVN sources consistent -AM_MAINTAINER_MODE +dnl AM_MAINTAINER_MODE dnl -----/maintainer mode -dnl ----- begin imported rsynth configuration stuff +##-- other flags (?) +dnl AC_ISC_POSIX + +##vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv +## Pd external checks +AX_PD_EXTERNAL +## /pd external common +##^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -dnl other flags -AC_ISC_POSIX -dnl Checks for header files. +##vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv +## Local: headers dnl AC_HEADER_STDC AC_CHECK_HEADERS([string.h], [], @@ -81,186 +56,24 @@ AC_CHECK_HEADERS([string.h], AC_MSG_WARN([could not find standard C headers -- things may get ugly]) AC_MSG_WARN([-----------------------------------------------------------------]), [/* nonempty includes: compile only */]) +## /local: headers +##^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - - -##------- PD externals: hack EXEEXT? -AC_MSG_CHECKING([how to hack automake EXEEXT conventions]) -case "${am__api_version}" in - 1.[[0-4]]*) - AC_MSG_RESULT([automake v${ap__api_version}: on install]) - buildext="" - ;; - *) - AC_MSG_RESULT([automake v${am__api_version}: on build]) - buildext="\$(EXEEXT)" - ;; -esac - -##------- Enable single-object externals? -AC_ARG_ENABLE(object-externals, - AC_HELP_STRING([--enable-object-externals], [Whether to build single-object externals (default=no)]), - [want_objext="$enableval"], - [want_objext="no"]) -AC_MSG_CHECKING([whether to build single-object externals]) - -if test "$want_objext" != "no" ; then - ##-- single-objects - AC_MSG_RESULT(yes) - AC_DEFINE(PDSTRING_OBJECT_EXTERNALS,1, - [Define this if you are building single-object externals]) -else - ##-- lib only - AC_MSG_RESULT(no) -fi - -##-- add automake conditional for object externals -AM_CONDITIONAL(WANT_OBJECT_EXTERNALS, [test "$want_objext" != "no"]) - - -dnl -dnl pd-directory/ies -dnl -AC_ARG_WITH(pd-dir, - AC_HELP_STRING([--with-pd-dir=DIR], [PD base directory (default=PREFIX/pd)]), - [pddir="$withval"], - [pddir="\${prefix}/pd"]) -pddocdir="${pddir}/doc/5.reference" -AC_SUBST(pddir) -AC_SUBST(pddocdir) - - - -AC_ARG_WITH(pd-include, - AC_HELP_STRING([--with-pd-include=DIR], [PD include directory (default=NONE)]), - [pdincludedir="$withval"], - [pdincludedir=""]) -if test -n "$pdincludedir" ; then - IFLAGS="$IFLAGS -I$pdincludedir" -fi -AC_SUBST(pdincludedir) - -AC_ARG_WITH(pd-extdir, - AC_HELP_STRING([--with-pd-extdir=DIR], [Directory for PD externals (default=PDDIR/externs)]), - [pdexternsdir="$withval"], - [pdexternsdir="$pddir/externs"]) -AC_SUBST(pdexternsdir) - -dnl -dnl Check for m_pd.h -dnl -CPPFLAGS="$CPPFLAGS $IFLAGS" -AC_CHECK_HEADER(m_pd.h,[], - AC_MSG_WARN([-----------------------------------------------------------------]) - AC_MSG_WARN([could not find PD header file 'm_pd.h' -- things might get ugly.]) - AC_MSG_WARN([-----------------------------------------------------------------]), - [/* nonempty includes: compile only */]) - - -dnl -dnl debug version? -dnl -AC_MSG_CHECKING([whether we are building a debug version]) -AC_ARG_ENABLE([debug], - AC_HELP_STRING([--enable-debug],[build debug version (default=no)])) +##-- local: debugging if test "$enable_debug" = "yes" ; then - AC_MSG_RESULT(yes) - DEBUG="yes" AC_DEFINE(ANY2BYTES_DEBUG,1, [Define this to include debugging code for the 'bytes2any' external.]) AC_DEFINE(BYTES2ANY_DEBUG,1, [Define this to include debugging code for the 'any2bytes' external.]) -else - AC_MSG_RESULT(no) - DEBUG="no" fi -AC_SUBST(DEBUG) - -if test "$GCC" = "yes"; then - WFLAGS="-Wall -Winline -W -Wno-unused" -fi - -##vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv -## compiled -AC_DEFINE_UNQUOTED(PDSTRING_DATE, "`date`", [Date this external was configured]) -AC_DEFINE_UNQUOTED(PDSTRING_USER, "$USER", [User who configured this external]) -## /compiled -##^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - - - -##vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv -## BEGIN machine-dependent variables - -LD=ld - -##-- Linux -if test `uname -s` = Linux; -then - LFLAGS="$LFFLAGS -Wl,-export-dynamic -shared" - if test "$DEBUG" = "no" -a -z "$UCFLAGS"; then - ##-- only set OFLAGS if user CFLAGS are empty - OFLAGS="-O2 -pipe" - else - OFLAGS="-g" - fi - OFLAGS="$OFLAGS -fPIC" - DFLAGS="$DFLAGS -DPIC" - PDEXT=pd_linux -fi - -##-- MacOSX (darwin) -if test `uname -s` = Darwin; -then - LD=cc - LFLAGS="$LFLAGS -bundle -undefined suppress -flat_namespace" - DFLAGS="$DFLAGS -DMACOSX" - if test "$DEBUG" = "no" -a -z "$UCFLAGS"; then - ##-- only set OFLAGS if user CFLAGS are empty - OFLAGS="-O2" - else - OFLAGS="-g" - fi - PDEXT=pd_darwin -fi - -##-- alpha -if test `uname -m` = alpha; -then - AFLAGS="-mieee -mcpu=ev56"; - OFLAGS="$CFLAGS" -fi - -##-- irix64 -if test `uname -s` = IRIX64; -then - LFLAGS="$LFLAGS -n32 -DUNIX -DIRIX -DN32 -woff 1080,1064,1185 \ - -OPT:roundoff=3 -OPT:IEEE_arithmetic=3 -OPT:cray_ivdep=true \ - -shared -rdata_shared" - OFLAGS="$CFLAGS" - PDEXT=pd_irix6 -fi - -##-- irix32 -if test `uname -s` = IRIX32; -then - LFLAGS="$LFLAGS -o32 -DUNIX -DIRIX -O2 -shared -rdata_shared" - OFLAGS="$CFLAGS" - PDEXT=pd_irix5 -fi - -EXT=$PDEXT - -## END machine-dependent variables -##^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -dnl -dnl restore user's CFLAGS -dnl -CFLAGS="$UCFLAGS" -CPPFLAGS="$UCPPFLAGS" +##-- local: restore user's CFLAGS (now done by AX_PD_EXTERNAL) +#CFLAGS="$UCFLAGS" +#CPPFLAGS="$UCPPFLAGS" +#LDFLAGS="$ULDFLAGS" +##-- local: output AC_CONFIG_LINKS([src/any2string-help.pd:src/any2bytes-help.pd]) AC_CONFIG_LINKS([src/string2any-help.pd:src/bytes2any-help.pd]) AC_OUTPUT(config/Makefile src/Makefile Makefile) |