Commit 3adfa9cb authored by thomas's avatar thomas
Browse files

adjusted properties and autoconf stuff

git-svn-id: https://svn.grrrr.org/ext/trunk@1228 4d9ac71a-51e6-0310-8455-cad1006bcd31
parent bb78c01a
#
# automake template
# added by tim blechmann
# modified by Thomas Grill
#
SUBDIRS = source # tutorial
# EXTRA_DIST = flext.doxy
\ No newline at end of file
## automake template# added by tim blechmann# modified by Thomas Grill# SUBDIRS = source # tutorial # EXTRA_DIST = flext.doxy
\ No newline at end of file
......
#! /bin/sh
# MacOS has no libtoolize... use glibtoolize instead
glibtoolize --force && \
aclocal && \
automake --foreign --add-missing && \
autoconf
#! /bin/sh ( ( ( test ".$(which libtoolize)" == "." || libtoolize --force ) || ( # MacOS has no libtoolize... use glibtoolize instead test ".$(which glibtoolize)" == "." || glibtoolize --force ) ) && aclocal && automake --foreign --add-missing && autoconf ) || ( echo Bootstrapping failed false )
\ No newline at end of file
......
#! /bin/bash
# flext - C++ layer for Max/MSP and pd (pure data) externals
#
# Copyright (c) 2001-2005 Thomas Grill (gr@grrrr.org)
# For information on usage and redistribution, and for a DISCLAIMER OF ALL
# WARRANTIES, see the file, "license.txt," in this distribution.
#
# more information on http://grrrr.org/ext
# ------------------------------------------------------------------------
#
# To build flext or flext-based externals simply run this script.
# Running it without arguments will print some help to the console.
#
# ------------------------------------------------------------------------
flext=${0%/*}/
if [ "$flext" = "$0"/ ]; then flext=./ ; fi
# Arguments:
# $1 - system (pd/max)
# $2 - compiler (msvc/gcc/mingw/cygwin/bcc/icc)
# $3 - target (build/clean/install)
unamesys=$(uname -s)
case $unamesys in
Linux) platform=lnx;;
Darwin) platform=mac;;
CYGWIN*|MINGW*) platform=win;;
*) echo Platform $unamesys not supported; exit;;
esac
rtsys=$1
compiler=$2
target=$3
# --- The subbatch knows which make utility to use ---
subbatch=${flext}buildsys/build-${compiler}.sh
if
[ -n "$platform" -a -n "$rtsys" -a -n "$compiler" -a -f $subbatch ]
then
sh $subbatch $platform $rtsys $target $4 $5 $6 $7 $8 $9
else
echo
echo SYNTAX: build.sh [system] [compiler] {target}
echo system ..... pd / max
echo compiler ... msvc / gcc / mingw / cygwin / bcc / icc
echo target ..... build \(default\) / clean / install
echo
echo Please make sure that your make program and compiler can be accessed with the
echo system path and that all relevant environment variables are properly set.
echo
echo For further information read flext/build.txt
echo
fi
#! /bin/bash # flext - C++ layer for Max/MSP and pd (pure data) externals # # Copyright (c) 2001-2005 Thomas Grill (gr@grrrr.org) # For information on usage and redistribution, and for a DISCLAIMER OF ALL # WARRANTIES, see the file, "license.txt," in this distribution. # # more information on http://grrrr.org/ext # ------------------------------------------------------------------------ # # To build flext or flext-based externals simply run this script. # Running it without arguments will print some help to the console. # # ------------------------------------------------------------------------ flext=${0%/*}/ if [ "$flext" = "$0"/ ]; then flext=./ ; fi # Arguments: # $1 - system (pd/max) # $2 - compiler (msvc/gcc/mingw/cygwin/bcc/icc) # $3 - target (build/clean/install) unamesys=$(uname -s) case $unamesys in Linux) platform=lnx;; Darwin) platform=mac;; CYGWIN*|MINGW*) platform=win;; *) echo Platform $unamesys not supported; exit;; esac rtsys=$1 compiler=$2 target=$3 # --- The subbatch knows which make utility to use --- subbatch=${flext}buildsys/build-${compiler}.sh if [ -n "$platform" -a -n "$rtsys" -a -n "$compiler" -a -f $subbatch ] then sh $subbatch $platform $rtsys $target $4 $5 $6 $7 $8 $9 else echo echo SYNTAX: build.sh [system] [compiler] {target} echo system ..... pd / max echo compiler ... msvc / gcc / mingw / cygwin / bcc / icc echo target ..... build \(default\) / clean / install echo echo Please make sure that your make program and compiler can be accessed with the echo system path and that all relevant environment variables are properly set. echo echo For further information read flext/build.txt echo fi
\ No newline at end of file
......
#
# autoconf template
# modified by Thomas Grill
#
# flext API version (current:release:age)
# API_VERSION=0:0:0
AC_INIT([flext],[0.5.1],[gr@grrrr.org])
AM_INIT_AUTOMAKE
# configure options
AC_ARG_ENABLE(system,
AS_HELP_STRING(--enable-system,[realtime system [default=pd]]),
[SYSTEM=$enableval],
[SYSTEM=pd]
)
AC_ARG_WITH(sysdir,
AS_HELP_STRING(--with-sysdir,[path to pd or max headers]),
[sysdir=$withval],
AC_MSG_ERROR(path to system headers required $withval)
)
if test $SYSTEM == max; then
AC_DEFINE(FLEXT_SYS,1)
# check for MaxAPI.h in pd folder
AC_CHECK_FILE([$sysdir/max-includes/MaxAPI.h],,AC_MSG_ERROR([Cannot find $sysdir/max-includes/MaxAPI.h]))
AC_CHECK_FILE([$sysdir/max-includes/MaxAudioAPI.h],,AC_MSG_ERROR([Cannot find $sysdir/max-includes/MaxAudioAPI.h]))
INCLUDEDIR+=" -I$sysdir/max-includes -I$sysdir/msp-includes"
elif test $SYSTEM == pd; then
AC_DEFINE(FLEXT_SYS,2)
# check for g_canvas.h in pd folder
AC_CHECK_FILE([$sysdir/g_canvas.h],,AC_MSG_ERROR([Cannot find $sysdir/g_canvas.h]))
INCLUDEDIR+=" -I$sysdir"
else
AC_MSG_ERROR([system must be pd or max])
fi
AC_ARG_WITH(stkdir,
AS_HELP_STRING(--with-stkdir,[path to STK headers]),
[
AC_CHECK_FILE([$withval/Stk.h],,AC_MSG_ERROR([$withval/Stk.h not found]))
stkdir=$withval
INCLUDEDIR+=" -I$withval"
]
)
AM_CONDITIONAL([STK],[test "$stkdir"])
AC_ARG_WITH(sndobjdir,
AS_HELP_STRING(--with-sndobjdir,[path to SndObj headers]),
[
AC_CHECK_FILE([$withval/SndObj.h],,AC_MSG_ERROR([$withval/SndObj.h not found]))
sndobjdir=$withval
INCLUDEDIR+=" -I$withval"
]
)
AM_CONDITIONAL([SNDOBJ],[test "$sndobjdir"])
# if CFLAGS aren't set by the user, set them to an empty string
# otherwise AC_PROG_CC sets them to "-O2 -g"
test ".$CFLAGS" = "." && CFLAGS=" "
test ".$CXXFLAGS" = "." && CXXFLAGS=" "
# Checks for programs.
AC_PROG_CC
AC_PROG_CXX
AC_PROG_LIBTOOL
AC_PROG_INSTALL
AC_PROG_MAKE_SET
AM_ENABLE_STATIC
AM_ENABLE_STATIC
AC_LANG(C++)
# Checks for libraries.
# Checks for header files.
# Checks for typedefs, structures, and compiler characteristics.
AC_C_CONST
AC_C_INLINE
AC_TYPE_SIZE_T
AC_STRUCT_TM
# Checks for library functions.
# system specific
if test $(uname -s) == Linux; then
true
elif test $(uname -s) == Darwin; then
FRAMEWORKS="ApplicationServices vecLib"
elif test $(uname -s) == MINGW32_NT-5.0; then
EXT_CFLAGS+=" -mms-bitfields -mno-cygwin"
elif test $(uname -s) == CYGWIN_NT-5.0; then
EXT_CFLAGS+=" -mms-bitfields -mno-cygwin"
fi
# set compilation flags
OPT_FLAGS=-O2
DBG_FLAGS="-DFLEXT_DEBUG -g"
AC_ARG_ENABLE(optimize,
AS_HELP_STRING(--enable-optimize,[enables optimized architecture specific builds for pentium4, pentium3, G4, G5, etc.]),
[
OPT_FLAGS+=" -mtune=$enableval"
case $enableval in
pentium | pentium2 | athlon | pentium-mmx)
OPT_FLAGS+=" -march=$enableval";;
pentium3 | pentium3m | pentium4 | pentium4m | pentium-m | prescott | nocona | athlon-xp | athlon-mp | athlon64 | opteron)
OPT_FLAGS+=" -march=$enableval -mfpmath=sse";
AC_DEFINE(FLEXT_USE_SIMD);;
G3)
OPT_FLAGS+=" -mcpu=$enableval";;
G5 | G4)
OPT_FLAGS+=" -mcpu=$enableval -faltivec";
AC_DEFINE(FLEXT_USE_SIMD);;
*)
;;
esac
]
)
AC_SUBST(INCLUDEDIR)
AC_SUBST(SYSTEM)
AC_SUBST(OPT_FLAGS)
AC_SUBST(DBG_FLAGS)
# AC_SUBST(API_VERSION)
AC_SUBST(stkdir)
AC_SUBST(sndobjdir)
AC_SUBST(FRAMEWORKS)
AC_OUTPUT([
Makefile
source/Makefile
])
# tutorial/Makefile
# tutorial/adv1/Makefile
# tutorial/adv2/Makefile
# tutorial/adv3/Makefile
# tutorial/attr1/Makefile
# tutorial/attr2/Makefile
# tutorial/attr3/Makefile
# tutorial/bind1/Makefile
# tutorial/buffer1/Makefile
# tutorial/lib1/Makefile
# tutorial/signal1/Makefile
# tutorial/signal2/Makefile
# tutorial/simple1/Makefile
# tutorial/simple2/Makefile
# tutorial/simple3/Makefile
# tutorial/sndobj1/Makefile
# tutorial/stk1/Makefile
# tutorial/stk2/Makefile
# tutorial/thread1/Makefile
# tutorial/thread2/Makefile
# tutorial/timer1/Makefile
# tutorial/pd/Makefile
# tutorial/maxmsp/Makefile
# # autoconf template # modified by Thomas Grill # # flext API version (current:release:age) # API_VERSION=0:0:0 AC_INIT([flext],[0.5.1],[gr@grrrr.org]) AM_INIT_AUTOMAKE # configure options AC_ARG_ENABLE(system, AS_HELP_STRING(--enable-system,[realtime system [default=pd]]), [SYSTEM=$enableval], [SYSTEM=pd] ) AC_ARG_WITH(sysdir, AS_HELP_STRING(--with-sysdir,[path to pd or max headers]), [sysdir=$withval], AC_MSG_ERROR(path to system headers required $withval) ) if test $SYSTEM == max; then AC_DEFINE(FLEXT_SYS,1) # check for MaxAPI.h in pd folder AC_CHECK_FILE([$sysdir/max-includes/MaxAPI.h],,AC_MSG_ERROR([Cannot find $sysdir/max-includes/MaxAPI.h])) AC_CHECK_FILE([$sysdir/max-includes/MaxAudioAPI.h],,AC_MSG_ERROR([Cannot find $sysdir/max-includes/MaxAudioAPI.h])) INCLUDEDIR+=" -I$sysdir/max-includes -I$sysdir/msp-includes" elif test $SYSTEM == pd; then AC_DEFINE(FLEXT_SYS,2) # check for g_canvas.h in pd folder AC_CHECK_FILE([$sysdir/g_canvas.h],,AC_MSG_ERROR([Cannot find $sysdir/g_canvas.h])) INCLUDEDIR+=" -I$sysdir" else AC_MSG_ERROR([system must be pd or max]) fi AC_ARG_WITH(atomic_ops, AS_HELP_STRING(--with-atomic_ops,[path to atomic_ops library (needed for gcc version < 4.1)]), [ AC_CHECK_FILE([$withval/atomic_ops.h],,AC_MSG_ERROR([Cannot find $withval/atomic_ops.h])) INCLUDEDIR+=" -I$withval" AC_DEFINE(USE_ATOMIC_OPS) ] ) AC_ARG_WITH(stkdir, AS_HELP_STRING(--with-stkdir,[path to STK headers]), [ AC_CHECK_FILE([$withval/Stk.h],,AC_MSG_ERROR([Cannot find $withval/Stk.h])) stkdir=$withval INCLUDEDIR+=" -I$withval" ] ) AM_CONDITIONAL([STK],[test "$stkdir"]) AC_ARG_WITH(sndobjdir, AS_HELP_STRING(--with-sndobjdir,[path to SndObj headers]), [ AC_CHECK_FILE([$withval/SndObj.h],,AC_MSG_ERROR([Cannot find $withval/SndObj.h])) sndobjdir=$withval INCLUDEDIR+=" -I$withval" ] ) AM_CONDITIONAL([SNDOBJ],[test "$sndobjdir"]) # if CFLAGS aren't set by the user, set them to an empty string # otherwise AC_PROG_CC sets them to "-O2 -g" test ".$CFLAGS" = "." && CFLAGS=" " test ".$CXXFLAGS" = "." && CXXFLAGS=" " # Checks for programs. AC_PROG_CC AC_PROG_CXX AC_PROG_LIBTOOL AC_PROG_INSTALL AC_PROG_MAKE_SET AM_ENABLE_STATIC AM_ENABLE_STATIC AC_LANG(C++) # Checks for libraries. # Checks for header files. # Checks for typedefs, structures, and compiler characteristics. AC_C_CONST AC_C_INLINE AC_TYPE_SIZE_T AC_STRUCT_TM # Checks for library functions. # system specific if test $(uname -s) == Linux; then true elif test $(uname -s) == Darwin; then FRAMEWORKS="ApplicationServices vecLib" elif ( test $(uname -s) == CYGWIN_NT-5.0 ) || ( test $(uname -s) == CYGWIN_NT-5.1 ) ; then EXT_CFLAGS+=" -mms-bitfields -mno-cygwin" fi # set compilation flags OPT_FLAGS=-O2 DBG_FLAGS="-DFLEXT_DEBUG -g" AC_ARG_ENABLE(optimize, AS_HELP_STRING(--enable-optimize,[enables optimized architecture specific builds for pentium4, pentium3, G4, G5, etc.]), [ OPT_FLAGS+=" -mtune=$enableval" case $enableval in pentium | pentium2 | athlon | pentium-mmx) OPT_FLAGS+=" -march=$enableval";; pentium3 | pentium3m | pentium4 | pentium4m | pentium-m | prescott | nocona | athlon-xp | athlon-mp | athlon64 | opteron) OPT_FLAGS+=" -march=$enableval -mfpmath=sse"; AC_DEFINE(FLEXT_USE_SIMD);; G3) OPT_FLAGS+=" -mcpu=$enableval";; G5 | G4) OPT_FLAGS+=" -mcpu=$enableval -faltivec"; AC_DEFINE(FLEXT_USE_SIMD);; *) ;; esac ] ) AC_SUBST(INCLUDEDIR) AC_SUBST(SYSTEM) AC_SUBST(OPT_FLAGS) AC_SUBST(DBG_FLAGS) # AC_SUBST(API_VERSION) AC_SUBST(stkdir) AC_SUBST(sndobjdir) AC_SUBST(FRAMEWORKS) AC_OUTPUT([ Makefile source/Makefile ]) # tutorial/Makefile # tutorial/adv1/Makefile # tutorial/adv2/Makefile # tutorial/adv3/Makefile # tutorial/attr1/Makefile # tutorial/attr2/Makefile # tutorial/attr3/Makefile # tutorial/bind1/Makefile # tutorial/buffer1/Makefile # tutorial/lib1/Makefile # tutorial/signal1/Makefile # tutorial/signal2/Makefile # tutorial/simple1/Makefile # tutorial/simple2/Makefile # tutorial/simple3/Makefile # tutorial/sndobj1/Makefile # tutorial/stk1/Makefile # tutorial/stk2/Makefile # tutorial/thread1/Makefile # tutorial/thread2/Makefile # tutorial/timer1/Makefile # tutorial/pd/Makefile # tutorial/maxmsp/Makefile
\ No newline at end of file
......
#
# automake template
# added by tim blechmann
# added by Thomas Grill
# static libraries
lib_LIBRARIES = libflext-@SYSTEM@_s.a libflext-@SYSTEM@_sd.a libflext-@SYSTEM@_t.a libflext-@SYSTEM@_td.a
# shared libraries
lib_LTLIBRARIES = libflext-@SYSTEM@.la libflext-@SYSTEM@_d.la
SRCS_FLEXT = \
flbase.cpp \
flext.cpp \
flbuf.cpp \
fldsp.cpp \
fllib.cpp \
flxlet.cpp \
flattr.cpp \
flattr_ed.cpp \
flsupport.cpp \
flutil.cpp \
flthr.cpp \
fltimer.cpp \
flsimd.cpp \
flout.cpp \
flatom.cpp \
flatom_pr.cpp \
flatom_part.cpp \
flitem.cpp \
flmeth.cpp \
flmsg.cpp \
flproxy.cpp \
flqueue.cpp \
flbind.cpp \
flmap.cpp
nobase_pkginclude_HEADERS = \
flprefix.h \
flstdc.h \
flbase.h \
flclass.h \
flext.h \
flsupport.h \
flmap.h \
fldsp.h \
flinternal.h \
flcontainers.h \
fldefs.h \
fldefs_hdr.h \
fldefs_setup.h \
fldefs_methcb.h \
fldefs_meththr.h \
fldefs_methadd.h \
fldefs_methbind.h \
fldefs_methcall.h \
fldefs_attrcb.h \
fldefs_attrvar.h \
fldefs_attradd.h \
lockfree/prefix.hpp \
lockfree/branch_hints.hpp \
lockfree/cas.hpp \
lockfree/atomic_int.hpp \
lockfree/atomic_ptr.hpp \
lockfree/fifo.hpp \
lockfree/stack.hpp
# handling for stk / sndobj
SRCS_STK = flstk.cpp
HDRS_STK = flstk.cpp
SRCS_SNDOBJ = flsndobj.cpp
HDRS_SNDOBJ = flsndobj.cpp
if SNDOBJ
SRCS_FLEXT += $(SRCS_SNDOBJ)
nobase_pkginclude_HEADERS += $(HDRS_SNDOBJ)
LIB_SNDOBJ = -lsndobj
endif
if STK
SRCS_FLEXT += $(SRCS_STK)
nobase_pkginclude_HEADERS += $(HDRS_STK)
LIB_STK = -lstk
endif
libflext_@SYSTEM@_s_a_SOURCES = $(SRCS_FLEXT)
libflext_@SYSTEM@_sd_a_SOURCES = $(SRCS_FLEXT)
libflext_@SYSTEM@_t_a_SOURCES = $(SRCS_FLEXT)
libflext_@SYSTEM@_td_a_SOURCES = $(SRCS_FLEXT)
libflext_@SYSTEM@_la_SOURCES = $(SRCS_FLEXT)
libflext_@SYSTEM@_d_la_SOURCES = $(SRCS_FLEXT)
libflext_@SYSTEM@_s_a_CXXFLAGS = @OPT_FLAGS@ @INCLUDEDIR@
libflext_@SYSTEM@_sd_a_CXXFLAGS = @DBG_FLAGS@ @INCLUDEDIR@
libflext_@SYSTEM@_t_a_CXXFLAGS = @OPT_FLAGS@ @INCLUDEDIR@ -DFLEXT_THREADS
libflext_@SYSTEM@_td_a_CXXFLAGS = @DBG_FLAGS@ @INCLUDEDIR@ -DFLEXT_THREADS
libflext_@SYSTEM@_la_CXXFLAGS = @OPT_FLAGS@ @INCLUDEDIR@ -DFLEXT_SHARED
libflext_@SYSTEM@_d_la_CXXFLAGS = @DBG_FLAGS@ @INCLUDEDIR@ -DFLEXT_SHARED
libflext_@SYSTEM@_la_LDFLAGS = $(patsubst %,-framework %,@FRAMEWORKS@)
libflext_@SYSTEM@_d_la_LDFLAGS = $(patsubst %,-framework %,@FRAMEWORKS@)
## automake template# added by tim blechmann# added by Thomas Grill # static librarieslib_LIBRARIES = libflext-@SYSTEM@_s.a libflext-@SYSTEM@_sd.a libflext-@SYSTEM@_t.a libflext-@SYSTEM@_td.a # shared libraries lib_LTLIBRARIES = libflext-@SYSTEM@.la libflext-@SYSTEM@_d.la SRCS_FLEXT = \ flbase.cpp \ flext.cpp \ flbuf.cpp \ fldsp.cpp \ fllib.cpp \ flxlet.cpp \ flattr.cpp \ flattr_ed.cpp \ flsupport.cpp \ flutil.cpp \ flthr.cpp \ fltimer.cpp \ flsimd.cpp \ flout.cpp \ flatom.cpp \ flatom_pr.cpp \ flatom_part.cpp \ flitem.cpp \ flmeth.cpp \ flmsg.cpp \ flproxy.cpp \ flqueue.cpp \ flbind.cpp \ flmap.cpp nobase_pkginclude_HEADERS = \ flprefix.h \ flstdc.h \ flbase.h \ flclass.h \ flext.h \ flsupport.h \ flmap.h \ fldsp.h \ flinternal.h \ flcontainers.h \ fldefs.h \ fldefs_hdr.h \ fldefs_setup.h \ fldefs_methcb.h \ fldefs_meththr.h \ fldefs_methadd.h \ fldefs_methbind.h \ fldefs_methcall.h \ fldefs_attrcb.h \ fldefs_attrvar.h \ fldefs_attradd.h \ lockfree/prefix.hpp \ lockfree/branch_hints.hpp \ lockfree/cas.hpp \ lockfree/atomic_int.hpp \ lockfree/atomic_ptr.hpp \ lockfree/fifo.hpp \ lockfree/stack.hpp # handling for stk / sndobj SRCS_STK = flstk.cpp HDRS_STK = flstk.cpp SRCS_SNDOBJ = flsndobj.cpp HDRS_SNDOBJ = flsndobj.cpp if SNDOBJ SRCS_FLEXT += $(SRCS_SNDOBJ) nobase_pkginclude_HEADERS += $(HDRS_SNDOBJ) LIB_SNDOBJ = -lsndobj endif if STK SRCS_FLEXT += $(SRCS_STK) nobase_pkginclude_HEADERS += $(HDRS_STK) LIB_STK = -lstk endif libflext_@SYSTEM@_s_a_SOURCES = $(SRCS_FLEXT) libflext_@SYSTEM@_sd_a_SOURCES = $(SRCS_FLEXT) libflext_@SYSTEM@_t_a_SOURCES = $(SRCS_FLEXT) libflext_@SYSTEM@_td_a_SOURCES = $(SRCS_FLEXT) libflext_@SYSTEM@_la_SOURCES = $(SRCS_FLEXT) libflext_@SYSTEM@_d_la_SOURCES = $(SRCS_FLEXT) libflext_@SYSTEM@_s_a_CXXFLAGS = @OPT_FLAGS@ @INCLUDEDIR@ libflext_@SYSTEM@_sd_a_CXXFLAGS = @DBG_FLAGS@ @INCLUDEDIR@ libflext_@SYSTEM@_t_a_CXXFLAGS = @OPT_FLAGS@ @INCLUDEDIR@ -DFLEXT_THREADS libflext_@SYSTEM@_td_a_CXXFLAGS = @DBG_FLAGS@ @INCLUDEDIR@ -DFLEXT_THREADS libflext_@SYSTEM@_la_CXXFLAGS = @OPT_FLAGS@ @INCLUDEDIR@ -DFLEXT_SHARED libflext_@SYSTEM@_d_la_CXXFLAGS = @DBG_FLAGS@ @INCLUDEDIR@ -DFLEXT_SHARED libflext_@SYSTEM@_la_LDFLAGS = $(patsubst %,-framework %,@FRAMEWORKS@) libflext_@SYSTEM@_d_la_LDFLAGS = $(patsubst %,-framework %,@FRAMEWORKS@)
\ No newline at end of file
......
......@@ -241,7 +241,7 @@ private:
{
FLEXT_ASSERT(t);
th = t;
SetMsg(NULL,NULL,NULL);
SetMsg(NULL,0,NULL);
}
void Idle(bool (*idlefun)(int argc,const t_atom *argv),int argc,const t_atom *argv)
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment