From 216da4973fc523fc207d5d0f5986da227e7e6665 Mon Sep 17 00:00:00 2001 From: Thomas Grill Date: Wed, 6 Jul 2005 16:08:20 +0000 Subject: changed initialization functions accordingly FIFO code with mutex lock c++ conformance fix fixes for Codewarrior updates for OSX extracted maps into flmap.h fix for BCC made flext::Forward threadsafe don't install build system yet digest one-element list messages as single atoms updated tutorials fixes for MSVC6 documentation slimmed object data structures simplified message analysis corrected flext version to 0.4.5 added X86-64 code for lockfree fifos preparation of release upgraded version number svn path=/trunk/; revision=3292 --- externals/grill/flext/Doxyfile | 273 +++++++++++++++++++++ externals/grill/flext/build.sh | 2 +- externals/grill/flext/build.txt | 7 +- .../grill/flext/buildsys/lnx/gnumake-gcc-flext.inc | 10 +- .../grill/flext/buildsys/lnx/gnumake-icc-flext.inc | 10 +- .../grill/flext/buildsys/mac/gnumake-gcc-flext.inc | 10 +- .../grill/flext/buildsys/win/max/gnumake-mingw.inc | 4 +- externals/grill/flext/flext.doxy | 228 ----------------- externals/grill/flext/flext.mcp | Bin 935395 -> 935395 bytes externals/grill/flext/flext.vcproj | 6 +- externals/grill/flext/notes.txt | 2 +- externals/grill/flext/source/flbase.h | 21 +- externals/grill/flext/source/flbind.cpp | 2 +- externals/grill/flext/source/flclass.h | 16 +- externals/grill/flext/source/flcontainers.h | 43 +++- externals/grill/flext/source/fldoxygen.h | 6 +- externals/grill/flext/source/flext.h | 2 +- externals/grill/flext/source/flitem.cpp | 2 +- externals/grill/flext/source/flmap.h | 2 +- externals/grill/flext/source/flprefix.h | 4 +- externals/grill/flext/source/flsupport.h | 8 +- externals/grill/flext/source/flthr.cpp | 8 +- externals/grill/flext/tutorial/signal2/main.cpp | 4 +- 23 files changed, 381 insertions(+), 289 deletions(-) create mode 100644 externals/grill/flext/Doxyfile delete mode 100644 externals/grill/flext/flext.doxy (limited to 'externals') diff --git a/externals/grill/flext/Doxyfile b/externals/grill/flext/Doxyfile new file mode 100644 index 00000000..63e8b61d --- /dev/null +++ b/externals/grill/flext/Doxyfile @@ -0,0 +1,273 @@ +# Doxyfile 1.4.3 + +#--------------------------------------------------------------------------- +# Project related configuration options +#--------------------------------------------------------------------------- +PROJECT_NAME = flext +PROJECT_NUMBER = 0.5.0 +OUTPUT_DIRECTORY = ./doc +CREATE_SUBDIRS = NO +OUTPUT_LANGUAGE = English +USE_WINDOWS_ENCODING = NO +BRIEF_MEMBER_DESC = YES +REPEAT_BRIEF = YES +ABBREVIATE_BRIEF = "The $name class" \ + "The $name widget" \ + "The $name file" \ + is \ + provides \ + specifies \ + contains \ + represents \ + a \ + an \ + the +ALWAYS_DETAILED_SEC = NO +INLINE_INHERITED_MEMB = NO +FULL_PATH_NAMES = YES +STRIP_FROM_PATH = /Applications/util/ +STRIP_FROM_INC_PATH = +SHORT_NAMES = NO +JAVADOC_AUTOBRIEF = NO +MULTILINE_CPP_IS_BRIEF = NO +DETAILS_AT_TOP = NO +INHERIT_DOCS = YES +DISTRIBUTE_GROUP_DOC = NO +SEPARATE_MEMBER_PAGES = NO +TAB_SIZE = 8 +ALIASES = +OPTIMIZE_OUTPUT_FOR_C = NO +OPTIMIZE_OUTPUT_JAVA = NO +SUBGROUPING = YES +#--------------------------------------------------------------------------- +# Build related configuration options +#--------------------------------------------------------------------------- +EXTRACT_ALL = YES +EXTRACT_PRIVATE = YES +EXTRACT_STATIC = YES +EXTRACT_LOCAL_CLASSES = YES +EXTRACT_LOCAL_METHODS = NO +HIDE_UNDOC_MEMBERS = NO +HIDE_UNDOC_CLASSES = NO +HIDE_FRIEND_COMPOUNDS = NO +HIDE_IN_BODY_DOCS = NO +INTERNAL_DOCS = NO +CASE_SENSE_NAMES = NO +HIDE_SCOPE_NAMES = NO +SHOW_INCLUDE_FILES = YES +INLINE_INFO = YES +SORT_MEMBER_DOCS = YES +SORT_BRIEF_DOCS = NO +SORT_BY_SCOPE_NAME = NO +GENERATE_TODOLIST = YES +GENERATE_TESTLIST = YES +GENERATE_BUGLIST = YES +GENERATE_DEPRECATEDLIST= YES +ENABLED_SECTIONS = +MAX_INITIALIZER_LINES = 30 +SHOW_USED_FILES = YES +SHOW_DIRECTORIES = YES +FILE_VERSION_FILTER = +#--------------------------------------------------------------------------- +# configuration options related to warning and progress messages +#--------------------------------------------------------------------------- +QUIET = NO +WARNINGS = YES +WARN_IF_UNDOCUMENTED = YES +WARN_IF_DOC_ERROR = YES +WARN_NO_PARAMDOC = NO +WARN_FORMAT = "$file:$line: $text" +WARN_LOGFILE = +#--------------------------------------------------------------------------- +# configuration options related to the input files +#--------------------------------------------------------------------------- +INPUT = \ + /Users/thomas/Develop/pdmax/flext/source +FILE_PATTERNS = *.c \ + *.cc \ + *.cxx \ + *.cpp \ + *.c++ \ + *.d \ + *.java \ + *.ii \ + *.ixx \ + *.ipp \ + *.i++ \ + *.inl \ + *.h \ + *.hh \ + *.hxx \ + *.hpp \ + *.h++ \ + *.idl \ + *.odl \ + *.cs \ + *.php \ + *.php3 \ + *.inc \ + *.m \ + *.mm \ + *.dox \ + *.C \ + *.CC \ + *.C++ \ + *.II \ + *.I++ \ + *.H \ + *.HH \ + *.H++ \ + *.CS \ + *.PHP \ + *.PHP3 \ + *.M \ + *.MM +RECURSIVE = NO +EXCLUDE = +EXCLUDE_SYMLINKS = NO +EXCLUDE_PATTERNS = +EXAMPLE_PATH = +EXAMPLE_PATTERNS = * +EXAMPLE_RECURSIVE = NO +IMAGE_PATH = +INPUT_FILTER = +FILTER_PATTERNS = +FILTER_SOURCE_FILES = NO +#--------------------------------------------------------------------------- +# configuration options related to source browsing +#--------------------------------------------------------------------------- +SOURCE_BROWSER = NO +INLINE_SOURCES = NO +STRIP_CODE_COMMENTS = YES +REFERENCED_BY_RELATION = NO +REFERENCES_RELATION = NO +USE_HTAGS = NO +VERBATIM_HEADERS = YES +#--------------------------------------------------------------------------- +# configuration options related to the alphabetical class index +#--------------------------------------------------------------------------- +ALPHABETICAL_INDEX = NO +COLS_IN_ALPHA_INDEX = 5 +IGNORE_PREFIX = +#--------------------------------------------------------------------------- +# configuration options related to the HTML output +#--------------------------------------------------------------------------- +GENERATE_HTML = YES +HTML_OUTPUT = html +HTML_FILE_EXTENSION = .html +HTML_HEADER = +HTML_FOOTER = +HTML_STYLESHEET = +HTML_ALIGN_MEMBERS = YES +GENERATE_HTMLHELP = YES +CHM_FILE = +HHC_LOCATION = +GENERATE_CHI = NO +BINARY_TOC = NO +TOC_EXPAND = NO +DISABLE_INDEX = NO +ENUM_VALUES_PER_LINE = 4 +GENERATE_TREEVIEW = NO +TREEVIEW_WIDTH = 250 +#--------------------------------------------------------------------------- +# configuration options related to the LaTeX output +#--------------------------------------------------------------------------- +GENERATE_LATEX = YES +LATEX_OUTPUT = latex +LATEX_CMD_NAME = latex +MAKEINDEX_CMD_NAME = makeindex +COMPACT_LATEX = NO +PAPER_TYPE = a4wide +EXTRA_PACKAGES = +LATEX_HEADER = +PDF_HYPERLINKS = YES +USE_PDFLATEX = YES +LATEX_BATCHMODE = NO +LATEX_HIDE_INDICES = NO +#--------------------------------------------------------------------------- +# configuration options related to the RTF output +#--------------------------------------------------------------------------- +GENERATE_RTF = NO +RTF_OUTPUT = rtf +COMPACT_RTF = NO +RTF_HYPERLINKS = NO +RTF_STYLESHEET_FILE = +RTF_EXTENSIONS_FILE = +#--------------------------------------------------------------------------- +# configuration options related to the man page output +#--------------------------------------------------------------------------- +GENERATE_MAN = NO +MAN_OUTPUT = man +MAN_EXTENSION = .3 +MAN_LINKS = NO +#--------------------------------------------------------------------------- +# configuration options related to the XML output +#--------------------------------------------------------------------------- +GENERATE_XML = NO +XML_OUTPUT = xml +XML_SCHEMA = +XML_DTD = +XML_PROGRAMLISTING = YES +#--------------------------------------------------------------------------- +# configuration options for the AutoGen Definitions output +#--------------------------------------------------------------------------- +GENERATE_AUTOGEN_DEF = NO +#--------------------------------------------------------------------------- +# configuration options related to the Perl module output +#--------------------------------------------------------------------------- +GENERATE_PERLMOD = NO +PERLMOD_LATEX = NO +PERLMOD_PRETTY = YES +PERLMOD_MAKEVAR_PREFIX = +#--------------------------------------------------------------------------- +# Configuration options related to the preprocessor +#--------------------------------------------------------------------------- +ENABLE_PREPROCESSING = YES +MACRO_EXPANSION = YES +EXPAND_ONLY_PREDEF = NO +SEARCH_INCLUDES = YES +INCLUDE_PATH = +INCLUDE_FILE_PATTERNS = +PREDEFINED = FLEXT_SYS=2 \ + FLEXT_SHARED \ + __DOXYGEN__ +EXPAND_AS_DEFINED = +SKIP_FUNCTION_MACROS = YES +#--------------------------------------------------------------------------- +# Configuration::additions related to external references +#--------------------------------------------------------------------------- +TAGFILES = +GENERATE_TAGFILE = +ALLEXTERNALS = NO +EXTERNAL_GROUPS = YES +PERL_PATH = /usr/bin/perl +#--------------------------------------------------------------------------- +# Configuration options related to the dot tool +#--------------------------------------------------------------------------- +CLASS_DIAGRAMS = YES +HIDE_UNDOC_RELATIONS = YES +HAVE_DOT = NO +CLASS_GRAPH = YES +COLLABORATION_GRAPH = YES +GROUP_GRAPHS = YES +UML_LOOK = NO +TEMPLATE_RELATIONS = NO +INCLUDE_GRAPH = YES +INCLUDED_BY_GRAPH = YES +CALL_GRAPH = NO +GRAPHICAL_HIERARCHY = YES +DIRECTORY_GRAPH = YES +DOT_IMAGE_FORMAT = png +DOT_PATH = +DOTFILE_DIRS = +MAX_DOT_GRAPH_WIDTH = 1024 +MAX_DOT_GRAPH_HEIGHT = 1024 +MAX_DOT_GRAPH_DEPTH = 1000 +DOT_TRANSPARENT = NO +DOT_MULTI_TARGETS = NO +GENERATE_LEGEND = YES +DOT_CLEANUP = YES +#--------------------------------------------------------------------------- +# Configuration::additions related to the search engine +#--------------------------------------------------------------------------- +SEARCHENGINE = NO diff --git a/externals/grill/flext/build.sh b/externals/grill/flext/build.sh index 1e8d4d61..c467fd45 100644 --- a/externals/grill/flext/build.sh +++ b/externals/grill/flext/build.sh @@ -41,7 +41,7 @@ subbatch=${flext}buildsys/build-${compiler}.sh if [ -n "$platform" -a -n "$rtsys" -a -n "$compiler" -a -f $subbatch ] then - bash $subbatch $platform $rtsys $target $4 $5 $6 $7 $8 $9 + sh $subbatch $platform $rtsys $target $4 $5 $6 $7 $8 $9 else echo echo SYNTAX: build.sh [system] [compiler] {target} diff --git a/externals/grill/flext/build.txt b/externals/grill/flext/build.txt index 3f1073d2..fd7be6c8 100644 --- a/externals/grill/flext/build.txt +++ b/externals/grill/flext/build.txt @@ -45,7 +45,7 @@ Useful combinations of the above are under Windows: pd msvc, using nmake pd cygwin, using gnumake -pd mingw, using gnumake +pd mingw, using gnumake (from the CMD prompt, not msys!) max msvc, using nmake pd bcc, using bmake @@ -144,9 +144,10 @@ A missing combination does not necessarily mean that it won't work. win-pd-msvc, single/multi/shared win-pd-bcc, single/multi/shared -win-pd-mingw, single/multi/shared -win-pd-cygwin, +win-pd-mingw, single/multi/shared (from CMD prompt, not MSYS) +win-pd-cygwin, --- NOT WORKING (compiles but crashes) ---- win-max-msvc, single/multi/shared +win-max-mingw, --- NOT WORKING (wrong structure packing) ---- mac-pd-gcc, single/multi/shared diff --git a/externals/grill/flext/buildsys/lnx/gnumake-gcc-flext.inc b/externals/grill/flext/buildsys/lnx/gnumake-gcc-flext.inc index 33af6a1c..be34b094 100644 --- a/externals/grill/flext/buildsys/lnx/gnumake-gcc-flext.inc +++ b/externals/grill/flext/buildsys/lnx/gnumake-gcc-flext.inc @@ -61,10 +61,10 @@ else endif install $(patsubst %,$(SRCDIR)/%,$(HDRS)) $(FLEXTINC) # transfer build system - cp -rf buildsys $(FLEXTSYS) - install build.sh $(FLEXTSYS) - chmod -R a+rx $(FLEXTSYS) +# cp -rf buildsys $(FLEXTSYS) +# install build.sh $(FLEXTSYS) +# chmod -R a+rx $(FLEXTSYS) # make convenience script - echo bash $(FLEXTSYS)/build.sh $$\* > $(FLEXTBIN)/flext-build.sh - chmod a+rx $(FLEXTBIN)/flext-build.sh +# echo bash $(FLEXTSYS)/build.sh $$\* > $(FLEXTBIN)/flext-build.sh +# chmod a+rx $(FLEXTBIN)/flext-build.sh diff --git a/externals/grill/flext/buildsys/lnx/gnumake-icc-flext.inc b/externals/grill/flext/buildsys/lnx/gnumake-icc-flext.inc index 03d0191e..c133baed 100644 --- a/externals/grill/flext/buildsys/lnx/gnumake-icc-flext.inc +++ b/externals/grill/flext/buildsys/lnx/gnumake-icc-flext.inc @@ -61,10 +61,10 @@ else endif install $(patsubst %,$(SRCDIR)/%,$(HDRS)) $(FLEXTINC) # transfer build system - cp -rf buildsys $(FLEXTSYS) - install build.sh $(FLEXTSYS) - chmod -R a+rx $(FLEXTSYS) +# cp -rf buildsys $(FLEXTSYS) +# install build.sh $(FLEXTSYS) +# chmod -R a+rx $(FLEXTSYS) # make convenience script - echo bash $(FLEXTSYS)/build.sh $$\* > $(FLEXTBIN)/flext-build.sh - chmod a+rx $(FLEXTBIN)/flext-build.sh +# echo bash $(FLEXTSYS)/build.sh $$\* > $(FLEXTBIN)/flext-build.sh +# chmod a+rx $(FLEXTBIN)/flext-build.sh diff --git a/externals/grill/flext/buildsys/mac/gnumake-gcc-flext.inc b/externals/grill/flext/buildsys/mac/gnumake-gcc-flext.inc index eab21cac..2dad1981 100644 --- a/externals/grill/flext/buildsys/mac/gnumake-gcc-flext.inc +++ b/externals/grill/flext/buildsys/mac/gnumake-gcc-flext.inc @@ -93,9 +93,9 @@ endif install $(patsubst %,$(SRCDIR)/%,$(HDRS)) $(FLEXTINC) endif # transfer build system - cp -rf buildsys $(FLEXTSYS) - install build.sh $(FLEXTSYS) - chmod -R a+rx $(FLEXTSYS) +# cp -rf buildsys $(FLEXTSYS) +# install build.sh $(FLEXTSYS) +# chmod -R a+rx $(FLEXTSYS) # make convenience script - echo bash $(FLEXTSYS)/build.sh $$\* > $(FLEXTBIN)/flext-build.sh - chmod a+rx $(FLEXTBIN)/flext-build.sh +# echo bash $(FLEXTSYS)/build.sh $$\* > $(FLEXTBIN)/flext-build.sh +# chmod a+rx $(FLEXTBIN)/flext-build.sh diff --git a/externals/grill/flext/buildsys/win/max/gnumake-mingw.inc b/externals/grill/flext/buildsys/win/max/gnumake-mingw.inc index 6d4e46f7..ccf14536 100644 --- a/externals/grill/flext/buildsys/win/max/gnumake-mingw.inc +++ b/externals/grill/flext/buildsys/win/max/gnumake-mingw.inc @@ -1,5 +1,7 @@ DEFS += -DFLEXT_SYS=1 -CFLAGS += -fpack-struct=2 -D_WIN32_WINNT=0x501 + +# fpack-struct should align to 2 bytes... can't specify that... +CFLAGS += -fpack-struct -D_WIN32_WINNT=0x501 INCPATH += -I$(MAXSDKPATH)/max-includes -I$(MAXSDKPATH)/msp-includes LIBPATH += -L$(MAXSDKPATH)/max-includes -L$(MAXSDKPATH)/msp-includes diff --git a/externals/grill/flext/flext.doxy b/externals/grill/flext/flext.doxy deleted file mode 100644 index bd564300..00000000 --- a/externals/grill/flext/flext.doxy +++ /dev/null @@ -1,228 +0,0 @@ -# Doxyfile 1.4.3 - -#--------------------------------------------------------------------------- -# Project related configuration options -#--------------------------------------------------------------------------- -PROJECT_NAME = flext -PROJECT_NUMBER = "version 0.5.0" -OUTPUT_DIRECTORY = c:/data/pdmax/flext/doc/ -CREATE_SUBDIRS = NO -OUTPUT_LANGUAGE = English -USE_WINDOWS_ENCODING = YES -BRIEF_MEMBER_DESC = YES -REPEAT_BRIEF = YES -ABBREVIATE_BRIEF = -ALWAYS_DETAILED_SEC = NO -INLINE_INHERITED_MEMB = NO -FULL_PATH_NAMES = NO -STRIP_FROM_PATH = -STRIP_FROM_INC_PATH = -SHORT_NAMES = NO -JAVADOC_AUTOBRIEF = NO -MULTILINE_CPP_IS_BRIEF = NO -DETAILS_AT_TOP = YES -INHERIT_DOCS = YES -DISTRIBUTE_GROUP_DOC = NO -SEPARATE_MEMBER_PAGES = NO -TAB_SIZE = 8 -ALIASES = -OPTIMIZE_OUTPUT_FOR_C = YES -OPTIMIZE_OUTPUT_JAVA = NO -SUBGROUPING = YES -#--------------------------------------------------------------------------- -# Build related configuration options -#--------------------------------------------------------------------------- -EXTRACT_ALL = NO -EXTRACT_PRIVATE = NO -EXTRACT_STATIC = NO -EXTRACT_LOCAL_CLASSES = NO -EXTRACT_LOCAL_METHODS = NO -HIDE_UNDOC_MEMBERS = YES -HIDE_UNDOC_CLASSES = YES -HIDE_FRIEND_COMPOUNDS = NO -HIDE_IN_BODY_DOCS = NO -INTERNAL_DOCS = YES -CASE_SENSE_NAMES = YES -HIDE_SCOPE_NAMES = NO -SHOW_INCLUDE_FILES = YES -INLINE_INFO = YES -SORT_MEMBER_DOCS = YES -SORT_BRIEF_DOCS = NO -SORT_BY_SCOPE_NAME = NO -GENERATE_TODOLIST = YES -GENERATE_TESTLIST = YES -GENERATE_BUGLIST = YES -GENERATE_DEPRECATEDLIST= YES -ENABLED_SECTIONS = -MAX_INITIALIZER_LINES = 30 -SHOW_USED_FILES = YES -SHOW_DIRECTORIES = YES -FILE_VERSION_FILTER = -#--------------------------------------------------------------------------- -# configuration options related to warning and progress messages -#--------------------------------------------------------------------------- -QUIET = NO -WARNINGS = YES -WARN_IF_UNDOCUMENTED = NO -WARN_IF_DOC_ERROR = YES -WARN_NO_PARAMDOC = NO -WARN_FORMAT = "$file:$line: $text" -WARN_LOGFILE = -#--------------------------------------------------------------------------- -# configuration options related to the input files -#--------------------------------------------------------------------------- -INPUT = c:/data/pdmax/flext/source/ -FILE_PATTERNS = *.cpp \ - *.h -RECURSIVE = NO -EXCLUDE = -EXCLUDE_SYMLINKS = NO -EXCLUDE_PATTERNS = -EXAMPLE_PATH = -EXAMPLE_PATTERNS = -EXAMPLE_RECURSIVE = NO -IMAGE_PATH = -INPUT_FILTER = -FILTER_PATTERNS = -FILTER_SOURCE_FILES = NO -#--------------------------------------------------------------------------- -# configuration options related to source browsing -#--------------------------------------------------------------------------- -SOURCE_BROWSER = YES -INLINE_SOURCES = NO -STRIP_CODE_COMMENTS = YES -REFERENCED_BY_RELATION = YES -REFERENCES_RELATION = YES -USE_HTAGS = NO -VERBATIM_HEADERS = NO -#--------------------------------------------------------------------------- -# configuration options related to the alphabetical class index -#--------------------------------------------------------------------------- -ALPHABETICAL_INDEX = YES -COLS_IN_ALPHA_INDEX = 5 -IGNORE_PREFIX = -#--------------------------------------------------------------------------- -# configuration options related to the HTML output -#--------------------------------------------------------------------------- -GENERATE_HTML = YES -HTML_OUTPUT = flext-doc -HTML_FILE_EXTENSION = .html -HTML_HEADER = -HTML_FOOTER = -HTML_STYLESHEET = -HTML_ALIGN_MEMBERS = YES -GENERATE_HTMLHELP = YES -CHM_FILE = ..\flext-doc.chm -HHC_LOCATION = "c:\programme\prog\html help workshop\hhc.exe" -GENERATE_CHI = NO -BINARY_TOC = NO -TOC_EXPAND = NO -DISABLE_INDEX = NO -ENUM_VALUES_PER_LINE = 4 -GENERATE_TREEVIEW = NO -TREEVIEW_WIDTH = 250 -#--------------------------------------------------------------------------- -# configuration options related to the LaTeX output -#--------------------------------------------------------------------------- -GENERATE_LATEX = NO -LATEX_OUTPUT = latex -LATEX_CMD_NAME = latex -MAKEINDEX_CMD_NAME = makeindex -COMPACT_LATEX = NO -PAPER_TYPE = a4 -EXTRA_PACKAGES = -LATEX_HEADER = -PDF_HYPERLINKS = NO -USE_PDFLATEX = NO -LATEX_BATCHMODE = NO -LATEX_HIDE_INDICES = NO -#--------------------------------------------------------------------------- -# configuration options related to the RTF output -#--------------------------------------------------------------------------- -GENERATE_RTF = NO -RTF_OUTPUT = rtf -COMPACT_RTF = YES -RTF_HYPERLINKS = YES -RTF_STYLESHEET_FILE = -RTF_EXTENSIONS_FILE = -#--------------------------------------------------------------------------- -# configuration options related to the man page output -#--------------------------------------------------------------------------- -GENERATE_MAN = NO -MAN_OUTPUT = man -MAN_EXTENSION = .3 -MAN_LINKS = NO -#--------------------------------------------------------------------------- -# configuration options related to the XML output -#--------------------------------------------------------------------------- -GENERATE_XML = NO -XML_OUTPUT = xml -XML_SCHEMA = -XML_DTD = -XML_PROGRAMLISTING = YES -#--------------------------------------------------------------------------- -# configuration options for the AutoGen Definitions output -#--------------------------------------------------------------------------- -GENERATE_AUTOGEN_DEF = NO -#--------------------------------------------------------------------------- -# configuration options related to the Perl module output -#--------------------------------------------------------------------------- -GENERATE_PERLMOD = NO -PERLMOD_LATEX = NO -PERLMOD_PRETTY = YES -PERLMOD_MAKEVAR_PREFIX = -#--------------------------------------------------------------------------- -# Configuration options related to the preprocessor -#--------------------------------------------------------------------------- -ENABLE_PREPROCESSING = YES -MACRO_EXPANSION = YES -EXPAND_ONLY_PREDEF = YES -SEARCH_INCLUDES = YES -INCLUDE_PATH = -INCLUDE_FILE_PATTERNS = -PREDEFINED = FLEXT_THREADS \ - MAXMSP \ - NT \ - PD \ - unix \ - FLEXT_ATTRIBUTES -EXPAND_AS_DEFINED = -SKIP_FUNCTION_MACROS = YES -#--------------------------------------------------------------------------- -# Configuration::additions related to external references -#--------------------------------------------------------------------------- -TAGFILES = -GENERATE_TAGFILE = -ALLEXTERNALS = NO -EXTERNAL_GROUPS = YES -PERL_PATH = /usr/bin/perl -#--------------------------------------------------------------------------- -# Configuration options related to the dot tool -#--------------------------------------------------------------------------- -CLASS_DIAGRAMS = YES -HIDE_UNDOC_RELATIONS = YES -HAVE_DOT = NO -CLASS_GRAPH = YES -COLLABORATION_GRAPH = YES -GROUP_GRAPHS = YES -UML_LOOK = NO -TEMPLATE_RELATIONS = YES -INCLUDE_GRAPH = YES -INCLUDED_BY_GRAPH = YES -CALL_GRAPH = NO -GRAPHICAL_HIERARCHY = YES -DIRECTORY_GRAPH = YES -DOT_IMAGE_FORMAT = png -DOT_PATH = -DOTFILE_DIRS = -MAX_DOT_GRAPH_WIDTH = 1024 -MAX_DOT_GRAPH_HEIGHT = 1024 -MAX_DOT_GRAPH_DEPTH = 0 -DOT_TRANSPARENT = NO -DOT_MULTI_TARGETS = NO -GENERATE_LEGEND = YES -DOT_CLEANUP = YES -#--------------------------------------------------------------------------- -# Configuration::additions related to the search engine -#--------------------------------------------------------------------------- -SEARCHENGINE = NO diff --git a/externals/grill/flext/flext.mcp b/externals/grill/flext/flext.mcp index acb3760d..8455ff79 100644 Binary files a/externals/grill/flext/flext.mcp and b/externals/grill/flext/flext.mcp differ diff --git a/externals/grill/flext/flext.vcproj b/externals/grill/flext/flext.vcproj index bf4a298c..791f2797 100644 --- a/externals/grill/flext/flext.vcproj +++ b/externals/grill/flext/flext.vcproj @@ -794,13 +794,13 @@ copy F:\prog\max\flext\max-msvc\flext.max.dll f:\prog\dll Name="doc" Filter=""> + RelativePath=".\build.txt"> + RelativePath="changes.txt"> + RelativePath="source\fldoxygen.h"> diff --git a/externals/grill/flext/notes.txt b/externals/grill/flext/notes.txt index d5669606..e4dcb3cf 100644 --- a/externals/grill/flext/notes.txt +++ b/externals/grill/flext/notes.txt @@ -42,7 +42,7 @@ TODO LIST: - optimizations for object initialization and messaging - speed up message handling (usage of other containers?) - SIMD for gcc -- lock-free code for 64-bit architectures +- lock-free code for old AMD 64-bit architectures - update documentation - add log messages for debugging version diff --git a/externals/grill/flext/source/flbase.h b/externals/grill/flext/source/flbase.h index b487a63e..d20f1866 100644 --- a/externals/grill/flext/source/flbase.h +++ b/externals/grill/flext/source/flbase.h @@ -94,12 +94,9 @@ class FLEXT_SHARE FLEXT_CLASSDEF(flext_obj): { public: - /*! \defgroup FLEXT_OBJCLASS Object base class - @{ - */ // --- creation ------------------------------------------------------- - /*! \defgroup FLEXT_O_CREATION Creation/Destruction functionality + /*! \defgroup FLEXT_OBJ_CREATION Object creation/destruction functionality @{ */ @@ -129,11 +126,11 @@ class FLEXT_SHARE FLEXT_CLASSDEF(flext_obj): //! Virtual function called at destruction (before the destructor) virtual void Exit(); - //! @} FLEXT_O_CREATION + //! @} FLEXT_OBJ_CREATION // --- info ------------------------------------------------------- - /*! \defgroup FLEXT_O_INFO Get various information + /*! \defgroup FLEXT_OBJ_INFO Get various information @{ */ @@ -161,11 +158,11 @@ class FLEXT_SHARE FLEXT_CLASSDEF(flext_obj): bool HasAttributes() const; - //! @} FLEXT_O_INFO + //! @} FLEXT_OBJ_INFO // --- help ------------------------------------------------------- - /*! \defgroup FLEXT_O_HELP Help/assistance functionality + /*! \defgroup FLEXT_OBJ_HELP Help/assistance functionality \remark This is still PD only @{ */ @@ -178,12 +175,12 @@ class FLEXT_SHARE FLEXT_CLASSDEF(flext_obj): //! Define the help reference symbol for a class void DefineHelp(const char *ref,const char *dir = NULL,bool addtilde = false) { DefineHelp(thisClassId(),ref,dir,addtilde); } - //! @} + //! @} FLEXT_OBJ_HELP // --- internal stuff ------------------------------------------------------- - /*! \defgroup FLEXT_O_INTERNAL Internal stuff + /*! \defgroup FLEXT_OBJ_INTERNAL Internal stuff \internal @{ */ @@ -262,9 +259,7 @@ class FLEXT_SHARE FLEXT_CLASSDEF(flext_obj): //! Get the canvas arguments void CanvasArgs(AtomList &args) const; - //! @} FLEXT_O_INTERNAL - - //! @} FLEXT_OBJCLASS + //! @} FLEXT_OBJ_INTERNAL }; diff --git a/externals/grill/flext/source/flbind.cpp b/externals/grill/flext/source/flbind.cpp index 7611fc59..8f78c300 100644 --- a/externals/grill/flext/source/flbind.cpp +++ b/externals/grill/flext/source/flbind.cpp @@ -188,7 +188,7 @@ bool flext_base::UnbindMethod(const t_symbol *sym,bool (*fun)(flext_base *,t_sym Item *it = set.find(sym); if(fun) { // check if function matches - for(; it && static_cast(it)->fun != fun; it = it->nxt); + for(; it && static_cast(it)->fun != fun; it = it->nxt) {} } item = static_cast(it); } diff --git a/externals/grill/flext/source/flclass.h b/externals/grill/flext/source/flclass.h index e8b68e69..ff9e8a26 100644 --- a/externals/grill/flext/source/flclass.h +++ b/externals/grill/flext/source/flclass.h @@ -506,6 +506,15 @@ public: // xxx internal stuff xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx +public: // needed by VC++ 6 + + enum xlettype { + xlet_none = 0, + xlet_float,xlet_int,xlet_sym,xlet_list,xlet_any, + xlet_LIST,xlet_ANY, // use AtomList and AtomAnything + xlet_sig + }; + protected: FLEXT_CLASSDEF(flext_base)(); @@ -516,13 +525,6 @@ protected: virtual bool Init(); - enum xlettype { - xlet_none = 0, - xlet_float,xlet_int,xlet_sym,xlet_list,xlet_any, - xlet_LIST,xlet_ANY, // use AtomList and AtomAnything - xlet_sig - }; - /*! \defgroup FLEXT_C_ATTR Attribute handling methods (object scope) @{ */ diff --git a/externals/grill/flext/source/flcontainers.h b/externals/grill/flext/source/flcontainers.h index 0e248ffb..76442d15 100644 --- a/externals/grill/flext/source/flcontainers.h +++ b/externals/grill/flext/source/flcontainers.h @@ -307,8 +307,49 @@ public: } inline size_t Size() const { return oc; } + #else -#error Platform not supported + // no lock free code available for this compiler/platform + + inline void Push(Cell *c) + { +#ifdef FLEXT_THREADS + mutex.Lock(); +#endif + c->link = (Cell *)top; + top = c; + ++oc; +#ifdef FLEXT_THREADS + mutex.Unlock(); +#endif + } + + inline Cell *Pop() + { + if(top) { + Cell *r; +#ifdef FLEXT_THREADS + mutex.Lock(); +#endif + r = (Cell *)top; + top = r->link; + --oc; +#ifdef FLEXT_THREADS + mutex.Unlock(); +#endif + return r; + } + else + return NULL; + } + + inline size_t Size() const { return oc; } + +private: +#ifdef FLEXT_THREADS + flext::ThrMutex mutex; +#endif + #endif private: diff --git a/externals/grill/flext/source/fldoxygen.h b/externals/grill/flext/source/fldoxygen.h index 51579520..96343528 100644 --- a/externals/grill/flext/source/fldoxygen.h +++ b/externals/grill/flext/source/fldoxygen.h @@ -14,7 +14,7 @@ Currently there exist two widely used modular systems for real-time audio that can be extended by self-written objects (so called "externals"):
-Max/MSP (http://www.cycling74.com) and Pure Data (http://www.pure-data.org). +Max/MSP (http://www.cycling74.com) and Pure Data (http://www.pure-data.org) . Both come with APIs that are not very different (as they share their origin), but as well not quite the same. Flext seeks to provide a unifying interface for the APIs of those real-time systems while also @@ -48,7 +48,7 @@ Currently, flext supports
  • PD on Windows with Microsoft Visual C++, Borland C++ and gcc(cygwin) compilers
  • PD on Linux with gcc -
  • PD on Mac OSX with gcc (makefile or Project Builder) +
  • PD on Mac OSX with gcc (makefile or Xcode)
  • Max/MSP on Mac OS9 and OSX with Metrowerks CodeWarrior
@@ -78,7 +78,7 @@ referenced works and their license texts. \section DOWNLOAD Download -Download the latest flext version from http://www.parasitaere-kapazitaeten.net/ext/flext .
+Download the latest flext version from http://grrrr.org/ext/flext .
Alternatively, you can check out the cvs version from http://sourceforge.net/projects/pure-data . \section USAGE Usage diff --git a/externals/grill/flext/source/flext.h b/externals/grill/flext/source/flext.h index f58447e5..a55e2b67 100644 --- a/externals/grill/flext/source/flext.h +++ b/externals/grill/flext/source/flext.h @@ -26,7 +26,7 @@ WARRANTIES, see the file, "license.txt," in this distribution. #define FLEXT_VERSION 500 //! \brief flext version string -#define FLEXT_VERSTR "0.5.0pre" +#define FLEXT_VERSTR "0.5.0" //! @} diff --git a/externals/grill/flext/source/flitem.cpp b/externals/grill/flext/source/flitem.cpp index 52657c75..1ae65fa8 100755 --- a/externals/grill/flext/source/flitem.cpp +++ b/externals/grill/flext/source/flitem.cpp @@ -124,4 +124,4 @@ flext_base::ItemCont *flext_base::GetClassArr(t_classid c,int ix) if(!cont) map.insert(c,cont = new ItemCont); return cont; } -*/ \ No newline at end of file +*/ diff --git a/externals/grill/flext/source/flmap.h b/externals/grill/flext/source/flmap.h index 0d3f623d..601f1df7 100644 --- a/externals/grill/flext/source/flmap.h +++ b/externals/grill/flext/source/flmap.h @@ -188,7 +188,7 @@ private: template class TablePtrMap : -#if defined(_MSC_VER) && _MSC_VER < 1300 +#if (defined(_MSC_VER) && _MSC_VER < 1300) || defined(__BORLANDC__) || defined(__MWERKS__) public // necessary for VC6 #endif TableAnyMap diff --git a/externals/grill/flext/source/flprefix.h b/externals/grill/flext/source/flprefix.h index 4b3e96fb..68d9e120 100755 --- a/externals/grill/flext/source/flprefix.h +++ b/externals/grill/flext/source/flprefix.h @@ -364,7 +364,9 @@ WARRANTIES, see the file, "license.txt," in this distribution. exported functions refer to the first instance loaded! Therefore different class names are used so that the correct type of flext function is called. */ -#if defined(FLEXT_SHARED) +#ifdef __DOXYGEN__ + #define FLEXT_CLASSDEF(CL) CL +#elif defined(FLEXT_SHARED) #define FLEXT_CLASSDEF(CL) CL##_shared #elif defined(FLEXT_THREADS) #define FLEXT_CLASSDEF(CL) CL##_multi diff --git a/externals/grill/flext/source/flsupport.h b/externals/grill/flext/source/flsupport.h index 9d91ee9c..a439b47b 100644 --- a/externals/grill/flext/source/flsupport.h +++ b/externals/grill/flext/source/flsupport.h @@ -53,8 +53,10 @@ public: //! Overloaded delete method void operator delete(void *blk); +#ifndef __BORLANDC__ inline void *operator new(size_t,void *p) { return p; } inline void operator delete(void *,void *) {} +#endif #ifdef FLEXT_DEBUGMEM static bool MemCheck(void *blk); @@ -62,13 +64,15 @@ public: static bool MemCheck(void *) { return true; } #endif - #ifndef __MRC__ // doesn't allow new[] overloading?! +#ifndef __MRC__ // doesn't allow new[] overloading?! inline void *operator new[](size_t bytes) { return operator new(bytes); } inline void operator delete[](void *blk) { operator delete(blk); } +#ifndef __BORLANDC__ inline void *operator new[](size_t,void *p) { return p; } inline void operator delete[](void *,void *) {} - #endif +#endif +#endif //! Get an aligned memory block static void *NewAligned(size_t bytes,int bitalign = 128); diff --git a/externals/grill/flext/source/flthr.cpp b/externals/grill/flext/source/flthr.cpp index fb2a28b5..e7e534eb 100644 --- a/externals/grill/flext/source/flthr.cpp +++ b/externals/grill/flext/source/flthr.cpp @@ -25,7 +25,7 @@ WARRANTIES, see the file, "license.txt," in this distribution. #include -#if FLEXT_OSAPI == FLEXT_OSAPI_UNIX_POSIX || FLEXT_OSAPI == FLEXT_OSAPI_WIN_POSIX +#if FLEXT_OSAPI == FLEXT_OSAPI_MAC_MACH || FLEXT_OSAPI == FLEXT_OSAPI_UNIX_POSIX || FLEXT_OSAPI == FLEXT_OSAPI_WIN_POSIX #include #include #elif FLEXT_OS == FLEXT_OS_WIN @@ -51,7 +51,7 @@ class thr_entry , public Fifo::Cell { public: - void thr_entry::Set(void (*m)(thr_params *),thr_params *p,thrid_t id = GetThreadId()) + void Set(void (*m)(thr_params *),thr_params *p,thrid_t id = GetThreadId()) { th = p?p->cl:NULL; meth = m,params = p,thrid = id; @@ -91,7 +91,7 @@ public: thr_entry *fnd; while((fnd = Pop()) && !fnd->Is(id)) qutmp.Push(fnd); // put back entries - for(thr_entry *ti; ti = qutmp.Pop(); ) Push(ti); + for(thr_entry *ti; (ti = qutmp.Pop()) != NULL; ) Push(ti); if(fnd && !pop) Push(fnd); return fnd; } @@ -180,7 +180,7 @@ void flext::ThrHelper(void *) // start all inactive threads thr_entry *ti; - while(ti = thrpending.Pop()) { + while((ti = thrpending.Pop()) != NULL) { bool ok; #if FLEXT_THREADS == FLEXT_THR_POSIX diff --git a/externals/grill/flext/tutorial/signal2/main.cpp b/externals/grill/flext/tutorial/signal2/main.cpp index 69d86e5b..7793bb00 100644 --- a/externals/grill/flext/tutorial/signal2/main.cpp +++ b/externals/grill/flext/tutorial/signal2/main.cpp @@ -63,7 +63,7 @@ void signal2::m_bang() // output various parameters of the pd audio system ToOutFloat(0,Samplerate()); ToOutInt(1,Blocksize()); - ToOutInt(2,ChannelsIn()); - ToOutInt(3,ChannelsOut()); + ToOutInt(2,CntInSig()); + ToOutInt(3,CntOutSig()); } -- cgit v1.2.1